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

Sprout from master 2005-02-08 21:39:59 UTC dejan <dejan> '*** empty log message ***'
Cherrypick from master 2005-02-08 10:00:17 UTC Douglas Pollock <dpollock> 'Fix for Bug 84573.  Handler submissions were not being read from the registry.':
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/CommandManagerWrapper.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ws/WorkbenchCommandSupport.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
    bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
Delete:
    bundles/org.eclipse.core.commands/.classpath
    bundles/org.eclipse.core.commands/.cvsignore
    bundles/org.eclipse.core.commands/.project
    bundles/org.eclipse.core.commands/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.core.commands/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.core.commands/about.html
    bundles/org.eclipse.core.commands/build.properties
    bundles/org.eclipse.core.commands/plugin.properties
    bundles/org.eclipse.core.commands/plugin.xml
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/AbstractHandler.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Category.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CategoryEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManagerEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionException.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/HandlerEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICategoryListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandManagerListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandler.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerAttributes.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/NotHandledException.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/HandleObject.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NamedHandleObject.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NotDefinedException.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/package.html
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/Context.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManager.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManagerEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextManagerListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/package.html
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/AbstractOperation.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ContextConsultingOperationApprover.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IContextOperationApprover.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IHistoryNotificationAwareOperation.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationApprover.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistory.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistoryListener.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IUndoableOperation.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoEnforcer.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoViolationDetector.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ObjectUndoContext.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryEvent.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryFactory.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationStatus.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/UndoContext.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/package.html
    bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/package.html
    bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Assert.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/BatchingOperation.java
    bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Util.java
    bundles/org.eclipse.ui.carbon/.classpath
    bundles/org.eclipse.ui.carbon/.cvsignore
    bundles/org.eclipse.ui.carbon/.project
    bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.carbon/.template
    bundles/org.eclipse.ui.carbon/about.html
    bundles/org.eclipse.ui.carbon/build.properties
    bundles/org.eclipse.ui.carbon/fragment.xml
    bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
    bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
    bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
    bundles/org.eclipse.ui.ide/.classpath
    bundles/org.eclipse.ui.ide/.cvsignore
    bundles/org.eclipse.ui.ide/.project
    bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.ide/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.ide/about.html
    bundles/org.eclipse.ui.ide/build.properties
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter2.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java
    bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif
    bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif
    bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/pview.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif
    bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif
    bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif
    bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif
    bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif
    bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif
    bundles/org.eclipse.ui.ide/plugin.properties
    bundles/org.eclipse.ui.ide/plugin.xml
    bundles/org.eclipse.ui.ide/schema/markerHelp.exsd
    bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd
    bundles/org.eclipse.ui.ide/schema/markerResolution.exsd
    bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd
    bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEEncoding.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/AbstractEncodingFieldEditor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/EncodingFieldEditor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceEncodingFieldEditor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEPreferenceInitializer.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IIDEHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildUtilities.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/RetargetActionWithDefault.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ProjectPersistentPropertyTester.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ArchiveFileExportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/Base64Encoder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IDataTransferHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IFileExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/MinimizedFileSystemElement.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarEntry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarException.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFile.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarInputStream.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarOutputStream.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceExportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceImportPage1.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ZipFileExporter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MnemonicAssigner.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties
    bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/package.html
    bundles/org.eclipse.ui.presentations.r21/.classpath
    bundles/org.eclipse.ui.presentations.r21/.cvsignore
    bundles/org.eclipse.ui.presentations.r21/.project
    bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.presentations.r21/README.TXT
    bundles/org.eclipse.ui.presentations.r21/about.html
    bundles/org.eclipse.ui.presentations.r21/build.properties
    bundles/org.eclipse.ui.presentations.r21/plugin.properties
    bundles/org.eclipse.ui.presentations.r21/plugin.xml
    bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
    bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part1/.project
    bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk
    bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif
    bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
    bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
    bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part2/.project
    bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk
    bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif
    bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
    bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties
    bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath
    bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore
    bundles/org.eclipse.ui.tutorials.rcp.part3/.project
    bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk
    bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml
    bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html
    bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
    bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
    bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
    bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java
    bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java
    bundles/org.eclipse.ui.views/.classpath
    bundles/org.eclipse.ui.views/.cvsignore
    bundles/org.eclipse.ui.views/.project
    bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.views/about.html
    bundles/org.eclipse.ui.views/build.properties
    bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif
    bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif
    bundles/org.eclipse.ui.views/plugin.properties
    bundles/org.eclipse.ui.views/plugin.xml
    bundles/org.eclipse.ui.views/scripts/exportplugin.xml
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties
    bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html
    bundles/org.eclipse.ui.win32/.classpath
    bundles/org.eclipse.ui.win32/.cvsignore
    bundles/org.eclipse.ui.win32/.project
    bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.win32/about.html
    bundles/org.eclipse.ui.win32/build.properties
    bundles/org.eclipse.ui.win32/fragment.xml
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java
    bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties
    bundles/org.eclipse.ui.workbench.compatibility/.classpath
    bundles/org.eclipse.ui.workbench.compatibility/.cvsignore
    bundles/org.eclipse.ui.workbench.compatibility/.project
    bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui.workbench.compatibility/about.html
    bundles/org.eclipse.ui.workbench.compatibility/build.properties
    bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
    bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
    bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
    bundles/org.eclipse.ui/.classpath
    bundles/org.eclipse.ui/.cvsignore
    bundles/org.eclipse.ui/.options
    bundles/org.eclipse.ui/.project
    bundles/org.eclipse.ui/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui/.settings/org.eclipse.pde.prefs
    bundles/org.eclipse.ui/about.html
    bundles/org.eclipse.ui/build.properties
    bundles/org.eclipse.ui/buildnotes_workbench.html
    bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/progress_rem.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif
    bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif
    bundles/org.eclipse.ui/icons/full/dtool16/clear_co.gif
    bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/help_contents.gif
    bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
    bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
    bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.gif
    bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/progress_rem.gif
    bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif
    bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif
    bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
    bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
    bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
    bundles/org.eclipse.ui/icons/full/elcl16/synced.gif
    bundles/org.eclipse.ui/icons/full/elcl16/thin_close_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/thin_hide_toolbar.GIF
    bundles/org.eclipse.ui/icons/full/elcl16/thin_max_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/thin_min_view.gif
    bundles/org.eclipse.ui/icons/full/elcl16/thin_restore_view.GIF
    bundles/org.eclipse.ui/icons/full/elcl16/thin_show_toolbar.GIF
    bundles/org.eclipse.ui/icons/full/elcl16/thin_view_menu.GIF
    bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif
    bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif
    bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
    bundles/org.eclipse.ui/icons/full/etool16/clear_co.gif
    bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/help_contents.gif
    bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
    bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
    bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
    bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
    bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
    bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
    bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
    bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
    bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif
    bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
    bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/activity.gif
    bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif
    bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/blank.gif
    bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/delete_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
    bundles/org.eclipse.ui/icons/full/obj16/font.gif
    bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif
    bundles/org.eclipse.ui/icons/full/obj16/header_priority.gif
    bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/layout_co.gif
    bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/menu.gif
    bundles/org.eclipse.ui/icons/full/obj16/submenu.gif
    bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
    bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif
    bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif
    bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
    bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif
    bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp
    bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp
    bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp
    bundles/org.eclipse.ui/icons/full/progress/errorstate.gif
    bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_error.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_none.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif
    bundles/org.eclipse.ui/icons/full/progress/progress_task.gif
    bundles/org.eclipse.ui/icons/full/progress/pview.gif
    bundles/org.eclipse.ui/icons/full/progress/sleeping.gif
    bundles/org.eclipse.ui/icons/full/progress/waiting.gif
    bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/saveas_wiz.gif
    bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif
    bundles/org.eclipse.ui/plugin.properties
    bundles/org.eclipse.ui/plugin.xml
    bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
    bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
    bundles/org.eclipse.ui/schema/acceleratorSets.exsd
    bundles/org.eclipse.ui/schema/actionDefinitions.exsd
    bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
    bundles/org.eclipse.ui/schema/actionSets.exsd
    bundles/org.eclipse.ui/schema/activities.exsd
    bundles/org.eclipse.ui/schema/commands.exsd
    bundles/org.eclipse.ui/schema/commonAction.exsd
    bundles/org.eclipse.ui/schema/commonExpression.exsd
    bundles/org.eclipse.ui/schema/contexts.exsd
    bundles/org.eclipse.ui/schema/decorators.exsd
    bundles/org.eclipse.ui/schema/dropActions.exsd
    bundles/org.eclipse.ui/schema/editorActions.exsd
    bundles/org.eclipse.ui/schema/editors.exsd
    bundles/org.eclipse.ui/schema/elementFactories.exsd
    bundles/org.eclipse.ui/schema/encodings.exsd
    bundles/org.eclipse.ui/schema/exportWizards.exsd
    bundles/org.eclipse.ui/schema/fontDefinitions.exsd
    bundles/org.eclipse.ui/schema/helpSupport.exsd
    bundles/org.eclipse.ui/schema/importWizards.exsd
    bundles/org.eclipse.ui/schema/intro.exsd
    bundles/org.eclipse.ui/schema/keywords.exsd
    bundles/org.eclipse.ui/schema/newWizards.exsd
    bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
    bundles/org.eclipse.ui/schema/perspectives.exsd
    bundles/org.eclipse.ui/schema/popupMenus.exsd
    bundles/org.eclipse.ui/schema/preferencePages.exsd
    bundles/org.eclipse.ui/schema/preferenceTransfer.exsd
    bundles/org.eclipse.ui/schema/presentationFactories.exsd
    bundles/org.eclipse.ui/schema/propertyPages.exsd
    bundles/org.eclipse.ui/schema/startup.exsd
    bundles/org.eclipse.ui/schema/systemSummarySections.exsd
    bundles/org.eclipse.ui/schema/themes.exsd
    bundles/org.eclipse.ui/schema/viewActions.exsd
    bundles/org.eclipse.ui/schema/views.exsd
    bundles/org.eclipse.ui/schema/workingSets.exsd
    bundles/org.eclipse.ui/scripts/exportplugin.xml
    bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java
    bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java
    examples/org.eclipse.ui.examples.job/.classpath
    examples/org.eclipse.ui.examples.job/.cvsignore
    examples/org.eclipse.ui.examples.job/.project
    examples/org.eclipse.ui.examples.job/README.TXT
    examples/org.eclipse.ui.examples.job/build.properties
    examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt
    examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc
    examples/org.eclipse.ui.examples.job/doc/responsive_ui.html
    examples/org.eclipse.ui.examples.job/doc/usecases.txt
    examples/org.eclipse.ui.examples.job/doc/workspace-lock.html
    examples/org.eclipse.ui.examples.job/icons/job_view.gif
    examples/org.eclipse.ui.examples.job/icons/sample.gif
    examples/org.eclipse.ui.examples.job/icons/suspend.gif
    examples/org.eclipse.ui.examples.job/icons/tree_view.gif
    examples/org.eclipse.ui.examples.job/plugin.xml
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
    examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
    examples/org.eclipse.ui.examples.multipageeditor/.classpath
    examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
    examples/org.eclipse.ui.examples.multipageeditor/.project
    examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
    examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
    examples/org.eclipse.ui.examples.multipageeditor/about.html
    examples/org.eclipse.ui.examples.multipageeditor/build.properties
    examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif
    examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
    examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif
    examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
    examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
    examples/org.eclipse.ui.examples.propertysheet/.classpath
    examples/org.eclipse.ui.examples.propertysheet/.cvsignore
    examples/org.eclipse.ui.examples.propertysheet/.project
    examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
    examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
    examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml
    examples/org.eclipse.ui.examples.propertysheet/about.html
    examples/org.eclipse.ui.examples.propertysheet/build.properties
    examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif
    examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
    examples/org.eclipse.ui.examples.propertysheet/doc.zip
    examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif
    examples/org.eclipse.ui.examples.propertysheet/plugin.properties
    examples/org.eclipse.ui.examples.propertysheet/plugin.xml
    examples/org.eclipse.ui.examples.rcp.browser/.classpath
    examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
    examples/org.eclipse.ui.examples.rcp.browser/.project
    examples/org.eclipse.ui.examples.rcp.browser/about.html
    examples/org.eclipse.ui.examples.rcp.browser/build.properties
    examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini
    examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini
    examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
    examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
    examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
    examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
    examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini
    examples/org.eclipse.ui.examples.rcp.browser/readme.html
    examples/org.eclipse.ui.examples.rcp.browser/splash.bmp
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java
    examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java
    examples/org.eclipse.ui.examples.readmetool/.classpath
    examples/org.eclipse.ui.examples.readmetool/.cvsignore
    examples/org.eclipse.ui.examples.readmetool/.project
    examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
    examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
    examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml
    examples/org.eclipse.ui.examples.readmetool/about.html
    examples/org.eclipse.ui.examples.readmetool/build.properties
    examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
    examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif
    examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
    examples/org.eclipse.ui.examples.readmetool/doc.zip
    examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
    examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif
    examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
    examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif
    examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif
    examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif
    examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif
    examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif
    examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif
    examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif
    examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif
    examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif
    examples/org.eclipse.ui.examples.readmetool/plugin.properties
    examples/org.eclipse.ui.examples.readmetool/plugin.xml
    examples/org.eclipse.ui.forms.examples/.classpath
    examples/org.eclipse.ui.forms.examples/.cvsignore
    examples/org.eclipse.ui.forms.examples/.project
    examples/org.eclipse.ui.forms.examples/Help UI/org/eclipse/help/ui/internal/views/MarkerViewAdapterFactory.java
    examples/org.eclipse.ui.forms.examples/build.properties
    examples/org.eclipse.ui.forms.examples/icons/clear.gif
    examples/org.eclipse.ui.forms.examples/icons/close_view.gif
    examples/org.eclipse.ui.forms.examples/icons/container_obj.gif
    examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif
    examples/org.eclipse.ui.forms.examples/icons/file_obj.gif
    examples/org.eclipse.ui.forms.examples/icons/form_banner.gif
    examples/org.eclipse.ui.forms.examples/icons/help.gif
    examples/org.eclipse.ui.forms.examples/icons/help_topic.gif
    examples/org.eclipse.ui.forms.examples/icons/large_image.gif
    examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif
    examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif
    examples/org.eclipse.ui.forms.examples/icons/nw.gif
    examples/org.eclipse.ui.forms.examples/icons/sample.gif
    examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif
    examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif
    examples/org.eclipse.ui.forms.examples/icons/toc_closed.gif
    examples/org.eclipse.ui.forms.examples/icons/toc_open.gif
    examples/org.eclipse.ui.forms.examples/icons/topic_small.gif
    examples/org.eclipse.ui.forms.examples/plugin.properties
    examples/org.eclipse.ui.forms.examples/plugin.xml
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AltAssistedWizardDialog.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AssistedWizardDialog.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenAssistedWizardAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenEditorWizardAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenExistingEditorWizardAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenSampleAssistedWizardAction.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormPage.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormWizard.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorOutline.java
    examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorWithOutline.java
    tests/org.eclipse.ui.tests.rcp/.classpath
    tests/org.eclipse.ui.tests.rcp/.cvsignore
    tests/org.eclipse.ui.tests.rcp/.project
    tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/ActionBarConfigurerTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/IWorkbenchPageTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/PlatformUITest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/RcpTestSuite.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchConfigurerTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchWindowConfigurerTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/EmptyWorkbenchPerfTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/PlatformUIPerfTest.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSetup.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSuite.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyPerspective.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyView.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IPerformanceMeterArray.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IntervalMeters.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/NullMeters.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/OpenWorkbenchIntervalMonitor.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RCPTestWorkbenchAdvisor.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RestoreWorkbenchIntervalMonitor.java
    tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/WorkbenchAdvisorObserver.java
    tests/org.eclipse.ui.tests.rcp/about.html
    tests/org.eclipse.ui.tests.rcp/build.properties
    tests/org.eclipse.ui.tests.rcp/icons/sample.gif
    tests/org.eclipse.ui.tests.rcp/plugin.xml
    tests/org.eclipse.ui.tests.rcp/test.xml
diff --git a/bundles/org.eclipse.core.commands/.classpath b/bundles/org.eclipse.core.commands/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.core.commands/.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/bundles/org.eclipse.core.commands/.cvsignore b/bundles/org.eclipse.core.commands/.cvsignore
deleted file mode 100644
index fe99505..0000000
--- a/bundles/org.eclipse.core.commands/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-
diff --git a/bundles/org.eclipse.core.commands/.project b/bundles/org.eclipse.core.commands/.project
deleted file mode 100644
index 36620f3..0000000
--- a/bundles/org.eclipse.core.commands/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.commands</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/bundles/org.eclipse.core.commands/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.core.commands/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.core.commands/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.core.commands/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.core.commands/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 3b2510f..0000000
--- a/bundles/org.eclipse.core.commands/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:10:21 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.core.commands/about.html b/bundles/org.eclipse.core.commands/about.html
deleted file mode 100644
index 50ed8c2..0000000
--- a/bundles/org.eclipse.core.commands/about.html
+++ /dev/null
@@ -1,40 +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>Thursday, December 9, 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>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>
diff --git a/bundles/org.eclipse.core.commands/build.properties b/bundles/org.eclipse.core.commands/build.properties
deleted file mode 100644
index 8d77894..0000000
--- a/bundles/org.eclipse.core.commands/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.commands.jar = src/
-output.commands.jar = bin/
-src.includes = about.html
-bin.includes = plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               *.jar,\
-               .options
diff --git a/bundles/org.eclipse.core.commands/plugin.properties b/bundles/org.eclipse.core.commands/plugin.properties
deleted file mode 100644
index 6851e10..0000000
--- a/bundles/org.eclipse.core.commands/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Commands
-providerName = Eclipse.org
diff --git a/bundles/org.eclipse.core.commands/plugin.xml b/bundles/org.eclipse.core.commands/plugin.xml
deleted file mode 100644
index e672277..0000000
--- a/bundles/org.eclipse.core.commands/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.core.commands"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="commands.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-</plugin>
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/AbstractHandler.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/AbstractHandler.java
deleted file mode 100644
index 202f372..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/AbstractHandler.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p>
- * This class is a partial implementation of <code>IHandler</code>. This
- * abstract implementation provides support for handler listeners. You should
- * subclass from this method unless you want to implement your own listener
- * support. Subclasses should call
- * {@link AbstractHandler#fireHandlerChanged(HandlerEvent)}when the handler
- * changes. Subclasses can also override {@link AbstractHandler#isEnabled()} and
- * {@link AbstractHandler#isHandled()}.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public abstract class AbstractHandler implements IHandler {
-
-	/**
-	 * Those interested in hearing about changes to this instance of
-	 * <code>IHandler</code>. This member is null iff there are no listeners
-	 * attached to this handler. (Most handlers don't have any listeners, and
-	 * this optimization saves some memory.)
-	 */
-	private List handlerListeners;
-
-	/**
-	 * @see IHandler#addHandlerListener(IHandlerListener)
-	 */
-	public void addHandlerListener(final IHandlerListener handlerListener) {
-		if (handlerListener == null)
-			throw new NullPointerException();
-		if (handlerListeners == null)
-			handlerListeners = new ArrayList();
-		if (!handlerListeners.contains(handlerListener))
-			handlerListeners.add(handlerListener);
-	}
-
-	/**
-	 * The default implementation does nothing. Subclasses who attach listeners
-	 * to other objects are encouraged to detach them in this method.
-	 * 
-	 * @see org.eclipse.core.commands.IHandler#dispose()
-	 */
-	public void dispose() {
-		// Do nothing.
-	}
-
-	/**
-	 * Fires an event to all registered listeners describing changes to this
-	 * instance.
-	 * 
-	 * @param handlerEvent
-	 *            the event describing changes to this instance. Must not be
-	 *            <code>null</code>.
-	 */
-	protected final void fireHandlerChanged(final HandlerEvent handlerEvent) {
-		if (handlerEvent == null)
-			throw new NullPointerException();
-		if (handlerListeners != null)
-			for (int i = 0; i < handlerListeners.size(); i++)
-				((IHandlerListener) handlerListeners.get(i))
-						.handlerChanged(handlerEvent);
-	}
-
-	/**
-	 * Whether this handler is capable of executing at this time. Subclasses may
-	 * override this method.
-	 * 
-	 * @return <code>true</code>
-	 */
-	public boolean isEnabled() {
-		return true;
-	}
-
-	/**
-	 * Whether this handler is capable of handling delegated responsibilities at
-	 * this time. Subclasses may override this method.
-	 * 
-	 * @return <code>true</code>
-	 */
-	public boolean isHandled() {
-		return true;
-	}
-
-	/**
-	 * Returns true iff there is one or more IHandlerListeners attached to this
-	 * AbstractHandler.
-	 * 
-	 * @return true iff there is one or more IHandlerListeners attached to this
-	 *         AbstractHandler
-	 */
-	protected final boolean hasListeners() {
-		return handlerListeners != null;
-	}
-
-	/**
-	 * @see IHandler#removeHandlerListener(IHandlerListener)
-	 */
-	public void removeHandlerListener(
-			final IHandlerListener handlerListener) {
-		if (handlerListener == null)
-			throw new NullPointerException();
-		if (handlerListeners == null) {
-			return;
-		}
-
-		if (handlerListeners != null)
-			handlerListeners.remove(handlerListener);
-		if (handlerListeners.isEmpty()) {
-			handlerListeners = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Category.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Category.java
deleted file mode 100644
index 7d72da4..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Category.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.commands.common.NamedHandleObject;
-import org.eclipse.core.internal.commands.util.Util;
-
-/**
- * <p>
- * A logical group for a set of commands. A command belongs to exactly one
- * category. The category has no functional effect, but may be used in graphical
- * tools that want to group the set of commands somehow.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public class Category extends NamedHandleObject {
-
-	/**
-	 * A collection of objects listening to changes to this category. This
-	 * collection is <code>null</code> if there are no listeners.
-	 */
-	private Collection categoryListeners;
-
-	/**
-	 * Constructs a new instance of <code>Category</code> based on the given
-	 * identifier. When a category is first constructed, it is undefined.
-	 * Category should only be constructed by the <code>CommandManager</code>
-	 * to ensure that identifier remain unique.
-	 * 
-	 * @param id
-	 *            The identifier for the category. This value must not be
-	 *            <code>null</code>, and must be unique amongst all
-	 *            categories.
-	 */
-	Category(final String id) {
-		super(id);
-	}
-
-	/**
-	 * Adds a listener to this category that will be notified when this
-	 * category's state changes.
-	 * 
-	 * @param categoryListener
-	 *            The listener to be added; must not be <code>null</code>.
-	 */
-	public final void addCategoryListener(
-			final ICategoryListener categoryListener) {
-		if (categoryListener == null)
-			throw new NullPointerException();
-		if (categoryListeners == null)
-			categoryListeners = new ArrayList();
-		if (!categoryListeners.contains(categoryListener))
-			categoryListeners.add(categoryListener);
-	}
-
-	/**
-	 * <p>
-	 * Defines this category by giving it a name, and possibly a description as
-	 * well. The defined property automatically becomes <code>true</code>.
-	 * </p>
-	 * <p>
-	 * Notification is sent to all listeners that something has changed.
-	 * </p>
-	 * 
-	 * @param name
-	 *            The name of this command; must not be <code>null</code>.
-	 * @param description
-	 *            The description for this command; may be <code>null</code>.
-	 */
-	public final void define(final String name, final String description) {
-		if (name == null) {
-			throw new NullPointerException(
-					"The name of a command cannot be null"); //$NON-NLS-1$
-		}
-
-		final boolean definedChanged = !this.defined;
-		this.defined = true;
-
-		final boolean nameChanged = !Util.equals(this.name, name);
-		this.name = name;
-
-		final boolean descriptionChanged = !Util.equals(this.description,
-				description);
-		this.description = description;
-
-		fireCategoryChanged(new CategoryEvent(this, definedChanged,
-				descriptionChanged, nameChanged));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.common.HandleObject#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof Command))
-			return false;
-
-		final Category castedObject = (Category) object;
-		boolean equals = true;
-		equals &= Util.equals(defined, castedObject.defined);
-		equals &= Util.equals(description, castedObject.description);
-		equals &= Util.equals(id, castedObject.id);
-		equals &= Util.equals(name, castedObject.name);
-
-		return equals;
-	}
-
-	/**
-	 * Notifies the listeners for this category that it has changed in some way.
-	 * 
-	 * @param categoryEvent
-	 *            The event to send to all of the listener; must not be
-	 *            <code>null</code>.
-	 */
-	private final void fireCategoryChanged(final CategoryEvent categoryEvent) {
-		if (categoryEvent == null)
-			throw new NullPointerException();
-		if (categoryListeners != null) {
-			final Iterator listenerItr = categoryListeners.iterator();
-			while (listenerItr.hasNext()) {
-				final ICategoryListener listener = (ICategoryListener) listenerItr
-						.next();
-				listener.categoryChanged(categoryEvent);
-			}
-		}
-	}
-
-	/**
-	 * Removes a listener from this category.
-	 * 
-	 * @param categoryListener
-	 *            The listener to be removed; must not be <code>null</code>.
-	 * 
-	 */
-	public final void removeCategoryListener(
-			final ICategoryListener categoryListener) {
-		if (categoryListener == null)
-			throw new NullPointerException();
-
-		if (categoryListeners != null) {
-			categoryListeners.remove(categoryListener);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.common.HandleObject#toString()
-	 */
-	public String toString() {
-		if (string == null) {
-			final StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append("Command("); //$NON-NLS-1$
-			stringBuffer.append(defined);
-			stringBuffer.append(',');
-			stringBuffer.append(description);
-			stringBuffer.append(',');
-			stringBuffer.append(id);
-			stringBuffer.append(',');
-			stringBuffer.append(name);
-			stringBuffer.append(')');
-			string = stringBuffer.toString();
-		}
-		return string;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.common.HandleObject#undefine()
-	 */
-	public void undefine() {
-		string = null;
-
-		final boolean definedChanged = defined;
-		defined = false;
-
-		final boolean nameChanged = name != null;
-		name = null;
-
-		final boolean descriptionChanged = description != null;
-		description = null;
-
-		fireCategoryChanged(new CategoryEvent(this, definedChanged,
-				descriptionChanged, nameChanged));
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CategoryEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CategoryEvent.java
deleted file mode 100644
index 156c392..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CategoryEvent.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * An instance of this class describes changes to an instance of
- * <code>Category</code>.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see ICategoryListener#categoryChanged(CategoryEvent)
- */
-public class CategoryEvent {
-
-	/**
-	 * The category that has changed; this value is never <code>null</code>.
-	 */
-	private final Category category;
-
-	/**
-	 * Whether the defined state of the category has changed.
-	 */
-	private final boolean definedChanged;
-
-	/**
-	 * Whether the description of the category has changed.
-	 */
-	private final boolean descriptionChanged;
-
-	/**
-	 * Whether the name of the category has changed.
-	 */
-	private final boolean nameChanged;
-
-	/**
-	 * Creates a new instance of this class.
-	 * 
-	 * @param category
-	 *            the instance of the interface that changed.
-	 * @param definedChanged
-	 *            true, iff the defined property changed.
-	 * @param descriptionChanged
-	 *            true, iff the description property changed.
-	 * @param nameChanged
-	 *            true, iff the name property changed.
-	 */
-	public CategoryEvent(final Category category, final boolean definedChanged,
-			final boolean descriptionChanged, final boolean nameChanged) {
-		if (category == null)
-			throw new NullPointerException();
-
-		this.category = category;
-		this.definedChanged = definedChanged;
-		this.descriptionChanged = descriptionChanged;
-		this.nameChanged = nameChanged;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be
-	 *         <code>null</code>.
-	 */
-	public final Category getCategory() {
-		return category;
-	}
-
-	/**
-	 * Returns whether or not the defined property changed.
-	 * 
-	 * @return true, iff the defined property changed.
-	 */
-	public final boolean hasDefinedChanged() {
-		return definedChanged;
-	}
-
-	/**
-	 * Returns whether or not the description property changed.
-	 * 
-	 * @return true, iff the description property changed.
-	 */
-	public final boolean hasDescriptionChanged() {
-		return descriptionChanged;
-	}
-
-	/**
-	 * Returns whether or not the name property changed.
-	 * 
-	 * @return true, iff the name property changed.
-	 */
-	public final boolean hasNameChanged() {
-		return nameChanged;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
deleted file mode 100644
index bb9ba22..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.commands.common.NamedHandleObject;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.internal.commands.util.Util;
-
-/**
- * <p>
- * A command is an abstract representation for some semantic behaviour. It is
- * not the actual implementation of this behaviour, nor is it the visual
- * appearance of this behaviour in the user interface. Instead, it is a bridge
- * between the two.
- * </p>
- * <p>
- * The concept of a command is based on the command design pattern. The notable
- * difference is how the command delegates responsibility for execution. Rather
- * than allowing concrete subclasses, it uses a handler mechanism (see the
- * <code>handlers</code> extension point). This provides another level of
- * indirection.
- * </p>
- * <p>
- * A command will exist in two states: defined and undefined. A command is
- * defined if it is declared in the XML of a resolved plug-in. If the plug-in is
- * unloaded or the command is simply not declared, then it is undefined. Trying
- * to reference an undefined command will succeed, but trying to access any of
- * its functionality will fail with a <code>NotDefinedException</code>. If
- * you need to know when a command changes from defined to undefined (or vice
- * versa), then attach a command listener.
- * </p>
- * <p>
- * Commands are mutable and will change as their definition changes.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public final class Command extends NamedHandleObject implements Comparable {
-
-	/**
-	 * This flag can be set to <code>true</code> if commands should print
-	 * information to <code>System.out</code> when executing.
-	 */
-	public static boolean DEBUG_COMMAND_EXECUTION = false;
-
-	/**
-	 * This flag can be set to <code>true</code> if commands should print
-	 * information to <code>System.out</code> when changing handlers.
-	 */
-	public static boolean DEBUG_HANDLERS = false;
-
-	/**
-	 * This flag can be set to a particular command identifier if only that
-	 * command should print information to <code>System.out</code> when
-	 * changing handlers.
-	 */
-	public static String DEBUG_HANDLERS_COMMAND_ID = null;
-
-	/**
-	 * The category to which this command belongs. This value should not be
-	 * <code>null</code> unless the command is undefined.
-	 */
-	private Category category;
-
-	/**
-	 * A collection of objects listening to changes to this command. This
-	 * collection is <code>null</code> if there are no listeners.
-	 */
-	private Collection commandListeners;
-
-	/**
-	 * The handler currently associated with this command. This value may be
-	 * <code>null</code> if there is no handler currently.
-	 */
-	private IHandler handler = null;
-
-	/**
-	 * Constructs a new instance of <code>Command</code> based on the given
-	 * identifier. When a command is first constructed, it is undefined.
-	 * Commands should only be constructed by the <code>CommandManager</code>
-	 * to ensure that the identifier remains unique.
-	 * 
-	 * @param id
-	 *            The identifier for the command. This value must not be
-	 *            <code>null</code>, and must be unique amongst all commands.
-	 */
-	Command(final String id) {
-		super(id);
-	}
-
-	/**
-	 * Adds a listener to this command that will be notified when this command's
-	 * state changes.
-	 * 
-	 * @param commandListener
-	 *            The listener to be added; must not be <code>null</code>.
-	 */
-	public final void addCommandListener(final ICommandListener commandListener) {
-		if (commandListener == null)
-			throw new NullPointerException();
-		if (commandListeners == null)
-			commandListeners = new ArrayList();
-		if (!commandListeners.contains(commandListener))
-			commandListeners.add(commandListener);
-	}
-
-	/**
-	 * Compares this command with another command by comparing each of its
-	 * non-transient attributes.
-	 * 
-	 * @param object
-	 *            The object with which to compare; must be an instance of
-	 *            <code>Command</code>.
-	 * @return A negative integer, zero or a postivie integer, if the object is
-	 *         greater than, equal to or less than this command.
-	 */
-	public final int compareTo(final Object object) {
-		final Command castedObject = (Command) object;
-		int compareTo = Util.compare(category, castedObject.category);
-		if (compareTo == 0) {
-			compareTo = Util.compare(defined, castedObject.defined);
-			if (compareTo == 0) {
-				compareTo = Util.compare(description, castedObject.description);
-				if (compareTo == 0) {
-					compareTo = Util.compare(handler, castedObject.handler);
-					if (compareTo == 0) {
-						compareTo = Util.compare(id, castedObject.id);
-						if (compareTo == 0) {
-							compareTo = Util.compare(name, castedObject.name);
-						}
-					}
-				}
-			}
-		}
-		return compareTo;
-	}
-
-	/**
-	 * <p>
-	 * Defines this command by giving it a name, and possibly a description as
-	 * well. The defined property automatically becomes <code>true</code>.
-	 * </p>
-	 * <p>
-	 * Notification is sent to all listeners that something has changed.
-	 * </p>
-	 * 
-	 * @param name
-	 *            The name of this command; must not be <code>null</code>.
-	 * @param description
-	 *            The description for this command; may be <code>null</code>.
-	 * @param category
-	 *            The category for this command; may be <code>null</code>.
-	 */
-	public final void define(final String name, final String description,
-			final Category category) {
-		if (name == null) {
-			throw new NullPointerException(
-					"The name of a command cannot be null"); //$NON-NLS-1$
-		}
-
-		if (category == null) {
-			throw new NullPointerException(
-					"The category of a command cannot be null"); //$NON-NLS-1$
-		}
-
-		final boolean definedChanged = !this.defined;
-		this.defined = true;
-
-		final boolean nameChanged = !Util.equals(this.name, name);
-		this.name = name;
-
-		final boolean descriptionChanged = !Util.equals(this.description,
-				description);
-		this.description = description;
-
-		final boolean categoryChanged = !Util.equals(this.category, category);
-		this.category = category;
-
-		fireCommandChanged(new CommandEvent(this, categoryChanged,
-				definedChanged, descriptionChanged, false, nameChanged));
-	}
-
-	/**
-	 * Tests whether this command is equal to another object. A command is only
-	 * equal to another command with the same parameters.
-	 * 
-	 * @param object
-	 *            The object with which to compare; may be <code>null</code>.
-	 * @return <code>true</code> if the commands are equal; <code>false</code>
-	 *         otherwise.
-	 */
-	public final boolean equals(final Object object) {
-		if (!(object instanceof Command))
-			return false;
-
-		final Command castedObject = (Command) object;
-		boolean equals = true;
-		equals &= Util.equals(category, castedObject.category);
-		equals &= Util.equals(defined, castedObject.defined);
-		equals &= Util.equals(description, castedObject.description);
-		equals &= Util.equals(handler, castedObject.handler);
-		equals &= Util.equals(id, castedObject.id);
-		equals &= Util.equals(name, castedObject.name);
-
-		return equals;
-	}
-
-	/**
-	 * Executes this command by delegating to the current handler, if any. If
-	 * the debugging flag is set, then this print information about which
-	 * handler is selected for performing this command.
-	 * 
-	 * @param event
-	 *            An event containing all the information about the current
-	 *            state of the application; must not be <code>null</code>.
-	 * @return The result of the execution; may be <code>null</code>.
-	 * @throws ExecutionException
-	 *             If the handler has problems executing this command.
-	 * @throws NotHandledException
-	 *             If there is no handler.
-	 */
-	public final Object execute(final ExecutionEvent event)
-			throws ExecutionException, NotHandledException {
-		final IHandler handler = this.handler;
-
-		// Debugging output
-		if (DEBUG_COMMAND_EXECUTION) {
-			System.out.print("COMMANDS >>> executing "); //$NON-NLS-1$ 
-			if (handler == null) {
-				System.out.print("no handler"); //$NON-NLS-1$
-			} else {
-				System.out.print('\''); //$NON-NLS-1$
-				System.out.print(handler.getClass().getName());
-				System.out.print("'("); //$NON-NLS-1$" +
-				System.out.print(handler.hashCode());
-				System.out.print(')'); //$NON-NLS-1$
-			}
-			System.out.println();
-		}
-
-		// Perform the execution, if there is a handler.
-		if ((handler != null) && (handler.isHandled()))
-			return handler.execute(event);
-
-		throw new NotHandledException("There is no handler to execute."); //$NON-NLS-1$
-	}
-
-	/**
-	 * Notifies the listeners for this command that it has changed in some way.
-	 * 
-	 * @param commandEvent
-	 *            The event to send to all of the listener; must not be
-	 *            <code>null</code>.
-	 */
-	private final void fireCommandChanged(final CommandEvent commandEvent) {
-		if (commandEvent == null)
-			throw new NullPointerException();
-		if (commandListeners != null) {
-			final Iterator listenerItr = commandListeners.iterator();
-			while (listenerItr.hasNext()) {
-				final ICommandListener listener = (ICommandListener) listenerItr
-						.next();
-				listener.commandChanged(commandEvent);
-			}
-		}
-	}
-
-	/**
-	 * Returns the category for this command.
-	 * 
-	 * @return The category for this command; never <code>null</code>.
-	 * @throws NotDefinedException
-	 *             If the handle is not currently defined.
-	 */
-	public final Category getCategory() throws NotDefinedException {
-		if (!isDefined()) {
-			throw new NotDefinedException(
-					"Cannot get the category from an undefined command"); //$NON-NLS-1$
-		}
-
-		return category;
-	}
-
-	/**
-	 * Returns whether this command has a handler, and whether this handler is
-	 * also handled.
-	 * 
-	 * @return <code>true</code> if the command is handled; <code>false</code>
-	 *         otherwise.
-	 */
-	public final boolean isEnabled() {
-		if (handler == null) {
-			return false;
-		}
-
-		return handler.isHandled() && handler.isEnabled();
-	}
-
-	/**
-	 * Returns whether this command has a handler, and whether this handler is
-	 * also enabled.
-	 * 
-	 * @return <code>true</code> if the command is handled; <code>false</code>
-	 *         otherwise.
-	 */
-	public final boolean isHandled() {
-		if (handler == null)
-			return false;
-
-		return handler.isHandled();
-	}
-
-	/**
-	 * Removes a listener from this command.
-	 * 
-	 * @param commandListener
-	 *            The listener to be removed; must not be <code>null</code>.
-	 * 
-	 */
-	public final void removeCommandListener(
-			final ICommandListener commandListener) {
-		if (commandListener == null)
-			throw new NullPointerException();
-
-		if (commandListeners != null) {
-			commandListeners.remove(commandListener);
-		}
-	}
-
-	/**
-	 * Changes the handler for this command. If debugging is turned on, then
-	 * this will also print information about the change to
-	 * <code>System.out</code>.
-	 * 
-	 * @param handler
-	 *            The new handler; may be <code>null</code> if none.
-	 * @return <code>true</code> if the handler changed; <code>false</code>
-	 *         otherwise.
-	 */
-	public final boolean setHandler(final IHandler handler) {
-		if (handler == this.handler) {
-			return false;
-		}
-
-		// Update the handler, and flush the string representation.
-		this.handler = handler;
-		string = null;
-
-		// Debugging output
-		if ((DEBUG_HANDLERS)
-				&& ((DEBUG_HANDLERS_COMMAND_ID == null) || (DEBUG_HANDLERS_COMMAND_ID
-						.equals(id)))) {
-			System.out.print("HANDLERS >>> Command('" + id //$NON-NLS-1$
-					+ "' has changed to "); //$NON-NLS-1$
-			if (handler == null) {
-				System.out.println("no handler"); //$NON-NLS-1$
-			} else {
-				System.out.print("'"); //$NON-NLS-1$
-				System.out.print(handler);
-				System.out.println("' as its handler"); //$NON-NLS-1$
-			}
-		}
-
-		// Send notification
-		fireCommandChanged(new CommandEvent(this, false, false, false, true,
-				false));
-
-		return true;
-	}
-
-	/**
-	 * The string representation of this command -- for debugging purposes only.
-	 * This string should not be shown to an end user.
-	 * 
-	 * @return The string representation; never <code>null</code>.
-	 */
-	public final String toString() {
-		if (string == null) {
-			final StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append("Command("); //$NON-NLS-1$
-			stringBuffer.append(category);
-			stringBuffer.append(',');
-			stringBuffer.append(defined);
-			stringBuffer.append(',');
-			stringBuffer.append(description);
-			stringBuffer.append(',');
-			stringBuffer.append(handler);
-			stringBuffer.append(',');
-			stringBuffer.append(id);
-			stringBuffer.append(',');
-			stringBuffer.append(name);
-			stringBuffer.append(')');
-			string = stringBuffer.toString();
-		}
-		return string;
-	}
-
-	/**
-	 * Makes this scheme become undefined. This has the side effect of changing
-	 * the name and description to <code>null</code>. Notification is sent to
-	 * all listeners.
-	 */
-	public final void undefine() {
-		string = null;
-
-		final boolean definedChanged = defined;
-		defined = false;
-
-		final boolean nameChanged = name != null;
-		name = null;
-
-		final boolean descriptionChanged = description != null;
-		description = null;
-
-		final boolean categoryChanged = category != null;
-		category = null;
-
-		fireCommandChanged(new CommandEvent(this, categoryChanged,
-				definedChanged, descriptionChanged, false, nameChanged));
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandEvent.java
deleted file mode 100644
index 3b41258..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandEvent.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-
-/**
- * An instance of this class describes changes to an instance of
- * <code>Command</code>.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see ICommandListener#commandChanged(CommandEvent)
- */
-public class CommandEvent {
-
-	/**
-	 * Whether the category of the command has changed.
-	 */
-	private final boolean categoryChanged;
-
-	/**
-	 * The command that has changed; this value is never <code>null</code>.
-	 */
-	private final Command command;
-
-	/**
-	 * Whether the defined state of the command has changed.
-	 */
-	private final boolean definedChanged;
-
-	/**
-	 * Whether the description of the command has changed.
-	 */
-	private final boolean descriptionChanged;
-
-	/**
-	 * Whether the command has either gained or lost a handler.
-	 */
-	private final boolean handledChanged;
-
-	/**
-	 * Whether the name of the command has changed.
-	 */
-	private final boolean nameChanged;
-
-	/**
-	 * Creates a new instance of this class.
-	 * 
-	 * @param command
-	 *            the instance of the interface that changed.
-	 * @param categoryChanged
-	 *            true, iff the category property changed.
-	 * @param definedChanged
-	 *            true, iff the defined property changed.
-	 * @param descriptionChanged
-	 *            true, iff the description property changed.
-	 * @param handledChanged
-	 *            true, iff the handled property changed.
-	 * @param nameChanged
-	 *            true, iff the name property changed.
-	 */
-	public CommandEvent(final Command command, final boolean categoryChanged,
-			final boolean definedChanged, final boolean descriptionChanged,
-			final boolean handledChanged, final boolean nameChanged) {
-		if (command == null)
-			throw new NullPointerException();
-
-		this.command = command;
-		this.categoryChanged = categoryChanged;
-		this.definedChanged = definedChanged;
-		this.descriptionChanged = descriptionChanged;
-		this.handledChanged = handledChanged;
-		this.nameChanged = nameChanged;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be
-	 *         <code>null</code>.
-	 */
-	public final Command getCommand() {
-		return command;
-	}
-
-	/**
-	 * Returns whether or not the category property changed.
-	 * 
-	 * @return true, iff the category property changed.
-	 */
-	public final boolean hasCategoryChanged() {
-		return categoryChanged;
-	}
-
-	/**
-	 * Returns whether or not the defined property changed.
-	 * 
-	 * @return true, iff the defined property changed.
-	 */
-	public final boolean hasDefinedChanged() {
-		return definedChanged;
-	}
-
-	/**
-	 * Returns whether or not the description property changed.
-	 * 
-	 * @return true, iff the description property changed.
-	 */
-	public final boolean hasDescriptionChanged() {
-		return descriptionChanged;
-	}
-
-	/**
-	 * Returns whether or not the handled property changed.
-	 * 
-	 * @return true, iff the handled property changed.
-	 */
-	public final boolean hasHandledChanged() {
-		return handledChanged;
-	}
-
-	/**
-	 * Returns whether or not the name property changed.
-	 * 
-	 * @return true, iff the name property changed.
-	 */
-	public final boolean hasNameChanged() {
-		return nameChanged;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java
deleted file mode 100644
index 9c152cf..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManager.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * <p>
- * A central repository for commands -- both in the defined and undefined
- * states. Commands can be created and retrieved using this manager. It is
- * possible to listen to changes in the collection of commands by attaching a
- * listener to the manager.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @see CommandManager#getCommand(String)
- * @since 3.1
- */
-public final class CommandManager implements ICategoryListener,
-		ICommandListener {
-
-	/**
-	 * The map of category identifiers (<code>String</code>) to categories (
-	 * <code>Category</code>). This collection may be empty, but it is never
-	 * <code>null</code>.
-	 */
-	private final Map categoriesById = new HashMap();
-
-	/**
-	 * The map of command identifiers (<code>String</code>) to commands (
-	 * <code>Command</code>). This collection may be empty, but it is never
-	 * <code>null</code>.
-	 */
-	private final Map commandsById = new HashMap();
-
-	/**
-	 * The set of identifiers for those categories that are defined. This value
-	 * may be empty, but it is never <code>null</code>.
-	 */
-	private final Set definedCategoryIds = new HashSet();
-
-	/**
-	 * The set of identifiers for those commands that are defined. This value
-	 * may be empty, but it is never <code>null</code>.
-	 */
-	private final Set definedCommandIds = new HashSet();
-
-	/**
-	 * The collection of listener to this command manager. This collection is
-	 * <code>null</code> if there are no listeners.
-	 */
-	private Collection listeners = null;
-
-	/**
-	 * Adds a listener to this command manager. The listener will be notified
-	 * when the set of defined commands changes. This can be used to track the
-	 * global appearance and disappearance of commands.
-	 * 
-	 * @param listener
-	 *            The listener to attach; must not be <code>null</code>.
-	 */
-	public final void addCommandManagerListener(
-			final ICommandManagerListener listener) {
-		if (listener == null) {
-			throw new NullPointerException();
-		}
-
-		if (listeners == null) {
-			listeners = new HashSet();
-		}
-
-		listeners.add(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.ICategoryListener#categoryChanged(org.eclipse.core.commands.CategoryEvent)
-	 */
-	public final void categoryChanged(CategoryEvent categoryEvent) {
-		if (categoryEvent.hasDefinedChanged()) {
-			final Category category = categoryEvent.getCategory();
-			final String categoryId = category.getId();
-			final boolean categoryIdAdded = category.isDefined();
-			if (categoryIdAdded) {
-				definedCategoryIds.add(categoryId);
-			} else {
-				definedCategoryIds.remove(categoryId);
-			}
-			fireCommandManagerChanged(new CommandManagerEvent(this, null,
-					false, false, categoryId, categoryIdAdded, true));
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.commands.ICommandListener#commandChanged(org.eclipse.commands.CommandEvent)
-	 */
-	public final void commandChanged(final CommandEvent commandEvent) {
-		if (commandEvent.hasDefinedChanged()) {
-			final Command command = commandEvent.getCommand();
-			final String commandId = command.getId();
-			final boolean commandIdAdded = command.isDefined();
-			if (commandIdAdded) {
-				definedCommandIds.add(commandId);
-			} else {
-				definedCommandIds.remove(commandId);
-			}
-			fireCommandManagerChanged(new CommandManagerEvent(this, commandId,
-					commandIdAdded, true, null, false, false));
-		}
-	}
-
-	/**
-	 * Notifies all of the listeners to this manager that the set of defined
-	 * command identifiers has changed.
-	 * 
-	 * @param commandManagerEvent
-	 *            The event to send to all of the listeners; must not be
-	 *            <code>null</code>.
-	 */
-	private final void fireCommandManagerChanged(
-			final CommandManagerEvent commandManagerEvent) {
-		if (commandManagerEvent == null)
-			throw new NullPointerException();
-
-		if (listeners != null) {
-			final Iterator listenerItr = listeners.iterator();
-			while (listenerItr.hasNext()) {
-				final ICommandManagerListener listener = (ICommandManagerListener) listenerItr
-						.next();
-				listener.commandManagerChanged(commandManagerEvent);
-			}
-		}
-	}
-
-	/**
-	 * Gets the category with the given identifier. If no such category
-	 * currently exists, then the category will be created (but be undefined).
-	 * 
-	 * @param categoryId
-	 *            The identifier to find; must not be <code>null</code>.
-	 * @return The category with the given identifier; this value will never be
-	 *         <code>null</code>, but it might be undefined.
-	 * @see Category
-	 */
-	public final Category getCategory(final String categoryId) {
-		if (categoryId == null)
-			throw new NullPointerException();
-
-		Category category = (Category) categoriesById.get(categoryId);
-		if (category == null) {
-			category = new Category(categoryId);
-			categoriesById.put(categoryId, category);
-			category.addCategoryListener(this);
-		}
-
-		return category;
-	}
-
-	/**
-	 * Gets the command with the given identifier. If no such command currently
-	 * exists, then the command will be created (but be undefined).
-	 * 
-	 * @param commandId
-	 *            The identifier to find; must not be <code>null</code> and
-	 *            must not be zero-length.
-	 * @return The command with the given identifier; this value will never be
-	 *         <code>null</code>, but it might be undefined.
-	 * @see Command
-	 */
-	public final Command getCommand(final String commandId) {
-		if (commandId == null) {
-			throw new NullPointerException(
-					"A command may not have a null identifier"); //$NON-NLS-1$
-		}
-
-		if (commandId.length() < 1) {
-			throw new IllegalArgumentException(
-					"The command must not have a zero-length identifier"); //$NON-NLS-1$
-		}
-
-		Command command = (Command) commandsById.get(commandId);
-		if (command == null) {
-			command = new Command(commandId);
-			commandsById.put(commandId, command);
-			command.addCommandListener(this);
-		}
-
-		return command;
-	}
-
-	/**
-	 * Returns the set of identifiers for those category that are defined.
-	 * 
-	 * @return The set of defined category identifiers; this value may be empty,
-	 *         but it is never <code>null</code>.
-	 */
-	public final Set getDefinedCategoryIds() {
-		return Collections.unmodifiableSet(definedCategoryIds);
-	}
-
-	/**
-	 * Returns the set of identifiers for those commands that are defined.
-	 * 
-	 * @return The set of defined command identifiers; this value may be empty,
-	 *         but it is never <code>null</code>.
-	 */
-	public final Set getDefinedCommandIds() {
-		return Collections.unmodifiableSet(definedCommandIds);
-	}
-
-	/**
-	 * Removes a listener from this command manager.
-	 * 
-	 * @param listener
-	 *            The listener to be removed; must not be <code>null</code>.
-	 */
-	public final void removeCommandManagerListener(
-			final ICommandManagerListener listener) {
-		if (listener == null) {
-			throw new NullPointerException();
-		}
-
-		if (listeners == null) {
-			return;
-		}
-
-		listeners.remove(listener);
-
-		if (listeners.isEmpty()) {
-			listeners = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManagerEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManagerEvent.java
deleted file mode 100644
index 5a6c811..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/CommandManagerEvent.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * <p>
- * An event indicating that the set of defined command identifiers has changed.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see ICommandManagerListener#commandManagerChanged(CommandManagerEvent)
- */
-public final class CommandManagerEvent {
-
-	/**
-	 * The command manager that has changed.
-	 */
-	private final CommandManager commandManager;
-
-	/**
-	 * The category identifier that was added or removed from the list of
-	 * defined category identifiers. This value is <code>null</code> if the
-	 * list of defined category identifiers did not change.
-	 */
-	private final String categoryId;
-
-	/**
-	 * Whether a category identifier was added to the list of defined category
-	 * identifiers. Otherwise, a category identifier was removed.
-	 */
-	private final boolean categoryIdAdded;
-
-	/**
-	 * Whether the list of defined category identifiers has changed.
-	 */
-	private final boolean categoryIdChanged;
-
-	/**
-	 * The command identifier that was added or removed from the list of defined
-	 * command identifiers. This value is <code>null</code> if the list of
-	 * defined category identifiers did not change.
-	 */
-	private final String commandId;
-
-	/**
-	 * Whether a command identifier was added to the list of defined command
-	 * identifiers. Otherwise, a command identifier was removed.
-	 */
-	private final boolean commandIdAdded;
-
-	/**
-	 * Whether the list of defined command identifiers has changed.
-	 */
-	private final boolean commandIdChanged;
-
-	/**
-	 * Creates a new instance of this class.
-	 * 
-	 * @param commandManager
-	 *            the instance of the interface that changed; must not be
-	 *            <code>null</code>.
-	 * @param commandId
-	 *            The command identifier that was added or removed; must not be
-	 *            <code>null</code>.
-	 * @param commandIdAdded
-	 *            Whether the command identifier became defined (otherwise, it
-	 *            became undefined).
-	 * @param commandIdChanged
-	 *            Whether the list of defined command identifiers has changed.
-	 * @param categoryId
-	 *            The category identifier that was added or removed; must not be
-	 *            <code>null</code>.
-	 * @param categoryIdAdded
-	 *            Whether the category identifier became defined (otherwise, it
-	 *            became undefined).
-	 * @param categoryIdChanged
-	 *            Whether the list of defined category identifiers has changed.
-	 */
-	public CommandManagerEvent(final CommandManager commandManager,
-			final String commandId, final boolean commandIdAdded,
-			final boolean commandIdChanged, final String categoryId,
-			final boolean categoryIdAdded, final boolean categoryIdChanged) {
-		if (commandManager == null) {
-			throw new NullPointerException(
-					"An event must refer to its command manager"); //$NON-NLS-1$
-		}
-
-		if (commandIdChanged && (commandId == null)) {
-			throw new NullPointerException(
-					"If the list of defined commands changed, then the added/removed command must be mentioned"); //$NON-NLS-1$
-		}
-
-		if (categoryIdChanged && (categoryId == null)) {
-			throw new NullPointerException(
-					"If the list of defined categories changed, then the added/removed category must be mentioned"); //$NON-NLS-1$
-		}
-
-		this.commandManager = commandManager;
-		this.commandId = commandId;
-		this.commandIdAdded = commandIdAdded;
-		this.commandIdChanged = commandIdChanged;
-		this.categoryId = categoryId;
-		this.categoryIdAdded = categoryIdAdded;
-		this.categoryIdChanged = categoryIdChanged;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be
-	 *         <code>null</code>.
-	 */
-	public final CommandManager getCommandManager() {
-		return commandManager;
-	}
-
-	/**
-	 * Returns the category identifier that was added or removed.
-	 * 
-	 * @return The category identifier that was added or removed; never
-	 *         <code>null</code>.
-	 */
-	public final String getCategoryId() {
-		return categoryId;
-	}
-
-	/**
-	 * Returns whether the category identifier became defined. Otherwise, the
-	 * category identifier became undefined.
-	 * 
-	 * @return <code>true</code> if the category identifier became defined;
-	 *         <code>false</code> if the category identifier became undefined.
-	 */
-	public final boolean isCategoryIdAdded() {
-		return categoryIdAdded;
-	}
-
-	/**
-	 * Returns whether the list of defined category identifiers has changed.
-	 * 
-	 * @return <code>true</code> if the list of category identifiers has
-	 *         changed; <code>false</code> otherwise.
-	 */
-	public final boolean isCategoryIdChanged() {
-		return categoryIdChanged;
-	}
-
-	/**
-	 * Returns the command identifier that was added or removed.
-	 * 
-	 * @return The command identifier that was added or removed; never
-	 *         <code>null</code>.
-	 */
-	public final String getCommandId() {
-		return commandId;
-	}
-
-	/**
-	 * Returns whether the command identifier became defined. Otherwise, the
-	 * command identifier became undefined.
-	 * 
-	 * @return <code>true</code> if the command identifier became defined;
-	 *         <code>false</code> if the command identifier became undefined.
-	 */
-	public final boolean isCommandIdAdded() {
-		return commandIdAdded;
-	}
-
-	/**
-	 * Returns whether the list of defined command identifiers has changed.
-	 * 
-	 * @return <code>true</code> if the list of command identifiers has
-	 *         changed; <code>false</code> otherwise.
-	 */
-	public final boolean isCommandIdChanged() {
-		return commandIdChanged;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionEvent.java
deleted file mode 100644
index 7c520bf..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionEvent.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands;
-
-import java.util.Map;
-
-/**
- * <p>
- * The data object to pass to the command (and its handler) as it executes. This
- * carries information about the current state of the application, and the
- * application context in which the command was executed.
- * </p>
- * <p>
- * An execution event carries three blocks of data: the parameters, the trigger,
- * and the application context. How these blocks are used is application
- * dependent. In the Eclipse workbench, the trigger is an SWT event, and the
- * application context contains information about the selection and active part.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public final class ExecutionEvent {
-
-	/**
-	 * The state of the application at the time the execution was triggered. In
-	 * the Eclipse workbench, this might contain information about the active
-	 * part of the active selection (for example). This value may be
-	 * <code>null</code>.
-	 */
-	private final Object applicationContext;
-
-	/**
-	 * The parameters to qualify the execution. For handlers that normally
-	 * prompt for additional information, these can be used to avoid prompting.
-	 * This value may be empty, but it is never <code>null</code>.
-	 */
-	private final Map parameters;
-
-	/**
-	 * The object that triggered the execution. In an event-driven architecture,
-	 * this is typically just another event. In the Eclipse workbench, this is
-	 * typically an SWT event. This value may be <code>null</code>.
-	 */
-	private final Object trigger;
-
-	/**
-	 * Constructs a new instance of <code>ExecutionEvent</code>.
-	 * 
-	 * @param parameters
-	 *            The parameters to qualify the execution; must not be
-	 *            <code>null</code>. This must be a map of parameter names (<code>String</code>)
-	 *            to parameter values (<code>String</code>).
-	 * @param trigger
-	 *            The object that triggered the execution; may be
-	 *            <code>null</code>.
-	 * @param applicationContext
-	 *            The state of the application at the time the execution was
-	 *            triggered; may be <code>null</code>.
-	 */
-	public ExecutionEvent(final Map parameters, final Object trigger,
-			final Object applicationContext) {
-		if (parameters == null) {
-			throw new NullPointerException(
-					"An execution event must have a non-null map of parameters"); //$NON-NLS-1$
-		}
-
-		this.parameters = parameters;
-		this.trigger = trigger;
-		this.applicationContext = applicationContext;
-	}
-
-	/**
-	 * Returns the state of the application at the time the execution was
-	 * triggered.
-	 * 
-	 * @return The application context; may be <code>null</code>.
-	 */
-	public final Object getApplicationContext() {
-		return applicationContext;
-	}
-
-	/**
-	 * Returns the parameter of the given name.
-	 * 
-	 * @param parameterName
-	 *            The name of the parameter to retrieve; may be
-	 *            <code>null</code>.
-	 * @return The parameter value; <code>null</code> if the parameter cannot
-	 *         be found.
-	 */
-	public final String getParameter(final String parameterName) {
-		return (String) parameters.get(parameterName);
-	}
-
-	/**
-	 * Returns all of the parameters.
-	 * 
-	 * @return The parameters; never <code>null</code>, but may be empty.
-	 */
-	public final Map getParameters() {
-		return parameters;
-	}
-
-	/**
-	 * Returns the object that triggered the execution
-	 * 
-	 * @return The trigger; <code>null</code> if there was no trigger.
-	 */
-	public final Object getTrigger() {
-		return trigger;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionException.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionException.java
deleted file mode 100644
index 10489ff..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ExecutionException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands;
-
-import org.eclipse.core.commands.common.CommandException;
-
-/**
- * Signals that an exception occured during the execution of a command.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public class ExecutionException extends CommandException {
-
-    /**
-     * Generated serial version UID for this class.
-     * 
-     * @since 3.1
-     */
-    private static final long serialVersionUID = 3258130262767448120L;
-
-    /**
-     * Creates a new instance of this class with the specified detail message
-     * and cause.
-     * 
-     * @param message
-     *            the detail message.
-     * @param cause
-     *            the cause.
-     */
-    public ExecutionException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/HandlerEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/HandlerEvent.java
deleted file mode 100644
index 5f3c7a3..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/HandlerEvent.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * An instance of this class describes changes to an instance of
- * <code>IHandler</code>.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see IHandlerListener#handlerChanged(HandlerEvent)
- */
-public class HandlerEvent {
-
-	/**
-	 * Whether the enabled state of the handler has changed.
-	 */
-	private final boolean enabledChanged;
-
-	/**
-	 * The handler that changed; this value is never <code>null</code>.
-	 */
-	private final IHandler handler;
-
-	/**
-	 * Whether the handled state of the handler has changed.
-	 */
-	private final boolean handledChanged;
-
-	/**
-	 * Creates a new instance of this class.
-	 * 
-	 * @param handler
-	 *            the instance of the interface that changed.
-	 * @param enabledChanged
-	 *            Whether the enabled state of the handler has changed.
-	 * @param handledChanged
-	 *            Whether the handled state of the handler has changed.
-	 */
-	public HandlerEvent(final IHandler handler, final boolean enabledChanged,
-			final boolean handledChanged) {
-		if (handler == null)
-			throw new NullPointerException();
-
-		this.handler = handler;
-		this.enabledChanged = enabledChanged;
-		this.handledChanged = handledChanged;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be
-	 *         <code>null</code>.
-	 */
-	public IHandler getHandler() {
-		return handler;
-	}
-
-	/**
-	 * Returns whether or not the handled property changed.
-	 * 
-	 * @return <code>true</code>, iff the handled property changed.
-	 */
-	public boolean isEnabledChanged() {
-		return enabledChanged;
-	}
-
-	/**
-	 * Returns whether or not the handled property changed.
-	 * 
-	 * @return <code>true</code>, iff the handled property changed.
-	 */
-	public boolean isHandledChanged() {
-		return handledChanged;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICategoryListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICategoryListener.java
deleted file mode 100644
index 4a8d70c..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICategoryListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * An instance of this interface can be used by clients to receive notification
- * of changes to one or more instances of <code>Category</code>.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see Category#addCategoryListener(ICategoryListener)
- * @see Category#removeCategoryListener(ICategoryListener)
- */
-public interface ICategoryListener {
-
-	/**
-	 * Notifies that one or more properties of an instance of
-	 * <code>Category</code> have changed. Specific details are described in
-	 * the <code>CategoryEvent</code>.
-	 * 
-	 * @param categoryEvent
-	 *            the category event. Guaranteed not to be <code>null</code>.
-	 */
-	void categoryChanged(CategoryEvent categoryEvent);
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandListener.java
deleted file mode 100644
index 152c019..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * An instance of this interface can be used by clients to receive notification
- * of changes to one or more instances of <code>Command</code>.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see Command#addCommandListener(ICommandListener)
- * @see Command#removeCommandListener(ICommandListener)
- */
-public interface ICommandListener {
-
-    /**
-     * Notifies that one or more properties of an instance of
-     * <code>Command</code> have changed. Specific details are described in
-     * the <code>CommandEvent</code>.
-     * 
-     * @param commandEvent
-     *            the command event. Guaranteed not to be <code>null</code>.
-     */
-    void commandChanged(CommandEvent commandEvent);
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandManagerListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandManagerListener.java
deleted file mode 100644
index 3629b7b..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/ICommandManagerListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * An instance of this interface can be used by clients to receive notification
- * of changes to one or more instances of <code>ICommandManager</code>.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.0
- * @see CommandManager#addCommandManagerListener(ICommandManagerListener)
- * @see CommandManager#removeCommandManagerListener(ICommandManagerListener)
- */
-public interface ICommandManagerListener {
-
-    /**
-     * Notifies that one or more properties of an instance of
-     * <code>ICommandManager</code> have changed. Specific details are
-     * described in the <code>CommandManagerEvent</code>.
-     * 
-     * @param commandManagerEvent
-     *            the commandManager event. Guaranteed not to be
-     *            <code>null</code>.
-     */
-    void commandManagerChanged(CommandManagerEvent commandManagerEvent);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandler.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandler.java
deleted file mode 100644
index 4f01403..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandler.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.commands;
-
-
-/**
- * A handler is the pluggable piece of a command that handles execution. Each
- * command can have zero or more handlers associated with it (in general), of
- * which only one will be active at any given moment in time. When the command
- * is asked to execute, it will simply pass that request on to its active
- * handler, if any.
- * <p>
- * This interface is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public interface IHandler {
-
-	/**
-	 * Registers an instance of <code>IHandlerListener</code> to listen for
-	 * changes to properties of this instance.
-	 * 
-	 * @param handlerListener
-	 *            the instance to register. Must not be <code>null</code>. If
-	 *            an attempt is made to register an instance which is already
-	 *            registered with this instance, no operation is performed.
-	 */
-	void addHandlerListener(IHandlerListener handlerListener);
-
-	/**
-	 * Disposes of this handler. This method is run once when the object is no
-	 * longer referenced. This can be used as an opportunity to unhook listeners
-	 * from other objects.
-	 */
-	public void dispose();
-
-	/**
-	 * Executes with the map of parameter values by name.
-	 * 
-	 * @param event
-	 *            An event containing all the information about the current
-	 *            state of the application; must not be <code>null</code>.
-	 * @return the result of the execution. Reserved for future use, must be
-	 *         <code>null</code>.
-	 * @throws ExecutionException
-	 *             if an exception occurred during execution.
-	 */
-	Object execute(ExecutionEvent event) throws ExecutionException;
-
-	/**
-	 * Returns whether this handler is capable of executing at this moment in
-	 * time.
-	 * 
-	 * @return <code>true</code> if the command is enabled; <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isEnabled();
-
-	/**
-	 * Returns whether this handler is really capable of handling delegation. In
-	 * the case of a handler that is a composition of other handlers, this reply
-	 * is intended to indicate whether the handler is truly capable of receiving
-	 * delegated responsibilities at this time.
-	 * 
-	 * @return <code>true</code> if the handler is handled; <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isHandled();
-
-	/**
-	 * Unregisters an instance of <code>IPropertyListener</code> listening for
-	 * changes to properties of this instance.
-	 * 
-	 * @param handlerListener
-	 *            the instance to unregister. Must not be <code>null</code>.
-	 *            If an attempt is made to unregister an instance which is not
-	 *            already registered with this instance, no operation is
-	 *            performed.
-	 */
-	void removeHandlerListener(IHandlerListener handlerListener);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerAttributes.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerAttributes.java
deleted file mode 100644
index 1b563ce..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerAttributes.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands;
-
-/**
- * <p>
- * Attribute constants that have special meanings within this package.  These
- * attributes can be used to communicate extra information from the handler to
- * either the command or the command manager.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public interface IHandlerAttributes {
-
-	/**
-	 * <p>
-	 * The name of the attribute indicating whether the handler is handled.
-	 * This is intended largely for backward compatibility with the workbench
-	 * <code>RetargetAction</code> class.  It is used to indicate that while
-	 * the handler is handling a command, it should not be treated as such.
-	 * The command should act and behave as if it has no handler.
-	 * </p>
-	 */
-	public static final String ATTRIBUTE_HANDLED = "handled"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerListener.java
deleted file mode 100644
index 8bbcebd..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/IHandlerListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.commands;
-
-/**
- * An instance of this interface can be used by clients to receive notification
- * of changes to one or more instances of <code>IHandler</code>.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see IHandler#addHandlerListener(IHandlerListener)
- * @see IHandler#removeHandlerListener(IHandlerListener)
- */
-public interface IHandlerListener {
-
-    /**
-     * Notifies that one or more properties of an instance of
-     * <code>IHandler</code> have changed. Specific details are described in
-     * the <code>HandlerEvent</code>.
-     * 
-     * @param handlerEvent
-     *            the handler event. Guaranteed not to be <code>null</code>.
-     */
-    void handlerChanged(HandlerEvent handlerEvent);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/NotHandledException.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/NotHandledException.java
deleted file mode 100644
index 420fdb2..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/NotHandledException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands;
-
-import org.eclipse.core.commands.common.CommandException;
-
-/**
- * Signals that an attempt was made to access the properties of an unhandled
- * object.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public class NotHandledException extends CommandException {
-
-    /**
-     * Generated serial version UID for this class.
-     * 
-     * @since 3.1
-     */
-    private static final long serialVersionUID = 3256446914827726904L;
-
-    /**
-     * Creates a new instance of this class with the specified detail message.
-     * 
-     * @param s
-     *            the detail message.
-     */
-    public NotHandledException(final String s) {
-        super(s);
-    }
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java
deleted file mode 100644
index 8aa1624..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/CommandException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands.common;
-
-/**
- * Signals that an exception occured within the command architecture.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public abstract class CommandException extends Exception {
-
-    /**
-     * Creates a new instance of this class with the specified detail message.
-     * 
-     * @param message
-     *            the detail message.
-     */
-    public CommandException(final String message) {
-        super(message);
-    }
-
-    /**
-     * Creates a new instance of this class with the specified detail message
-     * and cause.
-     * 
-     * @param message
-     *            the detail message.
-     * @param cause
-     *            the cause.
-     */
-    public CommandException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/HandleObject.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/HandleObject.java
deleted file mode 100644
index 3462960..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/HandleObject.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands.common;
-
-import org.eclipse.core.internal.commands.util.Util;
-
-/**
- * <p>
- * An object that can exist in one of two states: defined and undefined. This is
- * used by APIs that want to give a handle to an object, even though the object
- * does not fully exist yet. This way, users can attach listeners to objects
- * before they come into existence. It also protects the API from users that do
- * not release references when they should.
- * </p>
- * <p>
- * To enforce good coding practice, all handle objects must implement
- * <code>equals</code> and <code>toString</code>. Please use
- * <code>string</code> to cache the result for <code>toString</code> once
- * calculated.
- * </p>
- * <p>
- * All handle objects are referred to using a single identifier. This identifier
- * is a instance of <code>String</code>. It is important that this identifier
- * remain unique within whatever context that handle object is being used. For
- * example, there should only ever be one instance of <code>Command</code>
- * with a given identifier.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public abstract class HandleObject {
-
-    /**
-     * A factor for computing the hash code for all schemes.
-     */
-    private final static int HASH_FACTOR = 89;
-
-    /**
-     * The seed for the hash code for all schemes.
-     */
-    private final static int HASH_INITIAL = HandleObject.class.getName()
-            .hashCode();
-
-    /**
-     * Whether this object is defined. A defined object is one that has been
-     * fully initialized. By default, all objects start as undefined.
-     */
-    protected boolean defined = false;
-
-    /**
-     * The hash code for this object. This value is computed lazily, and marked
-     * as invalid when one of the values on which it is based changes.
-     */
-    private transient int hashCode;
-
-    /**
-     * Whether <code>hashCode</code> still contains a valid value.
-     */
-    private transient boolean hashCodeComputed = false;
-
-    /**
-     * The identifier for this object. This identifier should be unique across
-     * all objects of the same type and should never change. This value will
-     * never be <code>null</code>.
-     */
-    protected final String id;
-
-    /**
-     * The string representation of this object. This string is for debugging
-     * purposes only, and is not meant to be displayed to the user. This value
-     * is computed lazily, and is cleared if one of its dependent values
-     * changes.
-     */
-    protected transient String string = null;
-
-    /**
-     * Constructs a new instance of <code>HandleObject</code>.
-     * 
-     * @param id
-     *            The id of this handle; must not be <code>null</code>.
-     */
-    protected HandleObject(final String id) {
-        if (id == null) {
-            throw new NullPointerException(
-                    "Cannot create a handle with a null id"); //$NON-NLS-1$
-        }
-
-        this.id = id;
-    }
-
-    /**
-     * Tests whether this object is equal to another object. A handle object is
-     * only equal to another handle object with the same properties.
-     * 
-     * @param object
-     *            The object with which to compare; may be <code>null</code>.
-     * @return <code>true</code> if the objects are equal; <code>false</code>
-     *         otherwise.
-     */
-    public abstract boolean equals(final Object object);
-
-    /**
-     * Returns the identifier for this command.
-     * 
-     * @return The identifier; never <code>null</code>.
-     */
-    public final String getId() {
-        return id;
-    }
-
-    /**
-     * Computes the hash code for this object based on the id.
-     * 
-     * @return The hash code for this object.
-     */
-    public final int hashCode() {
-        if (!hashCodeComputed) {
-            hashCode = HASH_INITIAL * HASH_FACTOR + Util.hashCode(id);
-            hashCodeComputed = true;
-        }
-        return hashCode;
-    }
-
-    /**
-     * Whether this instance is defined. A defined instance is one that has been
-     * fully initialized. This allows objects to effectively disappear even
-     * though other objects may still have references to them.
-     * 
-     * @return <code>true</code> if this object is defined; <code>false</code>
-     *         otherwise.
-     */
-    public final boolean isDefined() {
-        return defined;
-    }
-
-    /**
-     * The string representation of this object -- for debugging purposes only.
-     * This string should not be shown to an end user.
-     * 
-     * @return The string representation; never <code>null</code>.
-     */
-    public abstract String toString();
-
-    /**
-     * Makes this object becomes undefined. This method should make any defined
-     * properties <code>null</code>. It should also send notification to any
-     * listeners that these properties have changed.
-     */
-    public abstract void undefine();
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NamedHandleObject.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NamedHandleObject.java
deleted file mode 100644
index 0eb8eab..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NamedHandleObject.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands.common;
-
-/**
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public abstract class NamedHandleObject extends HandleObject {
-
-    /**
-     * The description for this handle. This value may be <code>null</code> if
-     * the handle is undefined or has no description.
-     */
-    protected String description = null;
-
-    /**
-     * The name of this handle. This valud should not be <code>null</code>
-     * unless the handle is undefined.
-     */
-    protected String name = null;
-
-    /**
-     * Constructs a new instance of <code>NamedHandleObject</code>.
-     * 
-     * @param id
-     *            The identifier for this handle; must not be <code>null</code>.
-     */
-    protected NamedHandleObject(final String id) {
-        super(id);
-    }
-
-    /**
-     * Returns the description for this handle.
-     * 
-     * @return The description; may be <code>null</code> if there is no
-     *         description.
-     * @throws NotDefinedException
-     *             If the handle is not currently defined.
-     */
-    public final String getDescription() throws NotDefinedException {
-        if (!isDefined()) {
-            throw new NotDefinedException(
-                    "Cannot get a description from an undefined object."); //$NON-NLS-1$
-        }
-
-        return description;
-    }
-
-    /**
-     * Returns the name for this handle.
-     * 
-     * @return The name for this handle; never <code>null</code>.
-     * @throws NotDefinedException
-     *             If the handle is not currently defined.
-     */
-    public final String getName() throws NotDefinedException {
-        if (!isDefined()) {
-            throw new NotDefinedException(
-                    "Cannot get the name from an undefined object."); //$NON-NLS-1$
-        }
-
-        return name;
-    }
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NotDefinedException.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NotDefinedException.java
deleted file mode 100644
index c465a01..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/NotDefinedException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.common;
-
-/**
- * Signals that an attempt was made to access the properties of an undefined
- * object.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public class NotDefinedException extends CommandException {
-
-    /**
-     * Generated serial version UID for this class.
-     * 
-     * @since 3.1
-     */
-    private static final long serialVersionUID = 3257572788998124596L;
-
-    /**
-     * Creates a new instance of this class with the specified detail message.
-     * 
-     * @param s
-     *            the detail message.
-     */
-    public NotDefinedException(final String s) {
-        super(s);
-    }
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/package.html b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/package.html
deleted file mode 100644
index 171b953..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/common/package.html
+++ /dev/null
@@ -1,19 +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>Package-level Javadoc</title>

-<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"

-	type="text/css">

-</head>

-<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0)">

-Application programming interfaces for common base classes

-<h2>Package Specification</h2>

-<p>

-This package provides some common base classes and exceptions that are used in

-one or more packages elsewhere.  Nothing in this package is intended to be

-directly subclassed, or used.  The code here only supports code in other

-packages.

-</p>

-</body>

-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/Context.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/Context.java
deleted file mode 100644
index 71a482b..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/Context.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.commands.contexts;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.commands.common.NamedHandleObject;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.internal.commands.util.Util;
-
-/**
- * <p>
- * A context is an answer to the question "when". Other services can listen for
- * the activation and deactivation of contexts, and change their own state in
- * response to these changes. For example, Eclipse's key binding service listens
- * to context activation and deactivation to determine which key bindings should
- * be active.
- * </p>
- * <p>
- * An instance of this interface can be obtained from an instance of
- * <code>ContextManager</code> for any identifier, whether or not an context
- * with that identifier is defined in the extension registry.
- * </p>
- * <p>
- * The handle-based nature of this API allows it to work well with runtime
- * plugin activation and deactivation. If a context is defined, that means that
- * its corresponding plug-in is active. If the plug-in is then deactivated, the
- * context will still exist but it will be undefined. An attempts to use an
- * undefined context will result in a <code>NotDefinedException</code> being
- * thrown.
- * </p>
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see ContextManager
- */
-public final class Context extends NamedHandleObject implements Comparable {
-
-    /**
-     * The collection of all objects listening to changes on this context. This
-     * value is <code>null</code> if there are no listeners.
-     */
-    private Set listeners = null;
-
-    /**
-     * The parent identifier for this context. The meaning of a parent is
-     * dependent on the system using contexts. This value can be
-     * <code>null</code> if the context has no parent.
-     */
-    private String parentId = null;
-
-    /**
-     * Constructs a new instance of <code>Context</code>.
-     * 
-     * @param id
-     *            The id for this context; must not be <code>null</code>.
-     */
-    Context(final String id) {
-        super(id);
-    }
-
-    /**
-     * Registers an instance of <code>IContextListener</code> to listen for
-     * changes to properties of this instance.
-     * 
-     * @param listener
-     *            the instance to register. Must not be <code>null</code>. If
-     *            an attempt is made to register an instance which is already
-     *            registered with this instance, no operation is performed.
-     */
-    public final void addContextListener(final IContextListener listener) {
-        if (listener == null) {
-            throw new NullPointerException();
-        }
-
-        if (listeners == null) {
-            listeners = new HashSet();
-        }
-
-        listeners.add(listener);
-    } /*
-         * (non-Javadoc)
-         * 
-         * @see java.lang.Comparable#compareTo(java.lang.Object)
-         */
-
-    public final int compareTo(final Object object) {
-        final Context scheme = (Context) object;
-        int compareTo = Util.compare(this.id, scheme.id);
-        if (compareTo == 0) {
-            compareTo = Util.compare(this.name, scheme.name);
-            if (compareTo == 0) {
-                compareTo = Util.compare(this.parentId, scheme.parentId);
-                if (compareTo == 0) {
-                    compareTo = Util.compare(this.description,
-                            scheme.description);
-                    if (compareTo == 0) {
-                        compareTo = Util.compare(this.defined, scheme.defined);
-                    }
-                }
-            }
-        }
-
-        return compareTo;
-    }
-
-    /**
-     * <p>
-     * Defines this context by giving it a name, and possibly a description and
-     * a parent identifier as well. The defined property automatically becomes
-     * <code>true</code>.
-     * </p>
-     * <p>
-     * Notification is sent to all listeners that something has changed.
-     * </p>
-     * 
-     * @param name
-     *            The name of this context; must not be <code>null</code>.
-     * @param description
-     *            The description for this context; may be <code>null</code>.
-     * @param parentId
-     *            The parent identifier for this context; may be
-     *            <code>null</code>.
-     */
-    public final void define(final String name, final String description,
-            final String parentId) {
-        if (name == null) {
-            throw new NullPointerException(
-                    "The name of a scheme cannot be null"); //$NON-NLS-1$
-        }
-
-        final boolean definedChanged = !this.defined;
-        this.defined = true;
-
-        final boolean nameChanged = !Util.equals(this.name, name);
-        this.name = name;
-
-        final boolean descriptionChanged = !Util.equals(this.description,
-                description);
-        this.description = description;
-
-        final boolean parentIdChanged = !Util.equals(this.parentId, parentId);
-        this.parentId = parentId;
-
-        fireContextChanged(new ContextEvent(this, definedChanged, nameChanged,
-                descriptionChanged, parentIdChanged));
-    }
-
-    /**
-     * Tests whether this context is equal to another object. A scheme is only
-     * equal to another context with the same properties.
-     * 
-     * @param object
-     *            The object with which to compare; may be <code>null</code>.
-     * @return <code>true</code> if the contexts are equal; <code>false</code>
-     *         otherwise.
-     */
-    public final boolean equals(final Object object) {
-        if (!(object instanceof Context))
-            return false;
-
-        final Context castedObject = (Context) object;
-        boolean equals = true;
-        equals &= Util.equals(defined, castedObject.defined);
-        equals &= Util.equals(description, castedObject.description);
-        equals &= Util.equals(id, castedObject.id);
-        equals &= Util.equals(name, castedObject.name);
-        equals &= Util.equals(parentId, castedObject.parentId);
-
-        return equals;
-    }
-
-    /**
-     * Notifies all listeners that this context has changed. This sends the
-     * given event to all of the listeners, if any.
-     * 
-     * @param event
-     *            The event to send to the listeners; must not be
-     *            <code>null</code>.
-     */
-    private final void fireContextChanged(final ContextEvent event) {
-        if (event == null) {
-            throw new NullPointerException(
-                    "Cannot send a null event to listeners."); //$NON-NLS-1$
-        }
-
-        if (listeners == null) {
-            return;
-        }
-
-        final Iterator listenerItr = listeners.iterator();
-        while (listenerItr.hasNext()) {
-            final IContextListener listener = (IContextListener) listenerItr
-                    .next();
-            listener.contextChanged(event);
-        }
-    }
-
-    /**
-     * Returns the identifier of the parent of this instance.
-     * <p>
-     * Notification is sent to all registered listeners if this property
-     * changes.
-     * </p>
-     * 
-     * @return the identifier of the parent of this instance. May be
-     *         <code>null</code>.
-     * @throws NotDefinedException
-     *             if this instance is not defined.
-     */
-    public final String getParentId() throws NotDefinedException {
-        if (!defined) {
-            throw new NotDefinedException(
-                    "Cannot get the parent identifier from an undefined context."); //$NON-NLS-1$
-        }
-
-        return parentId;
-    }
-
-    /**
-     * Unregisters an instance of <code>IContextListener</code> listening for
-     * changes to properties of this instance.
-     * 
-     * @param contextListener
-     *            the instance to unregister. Must not be <code>null</code>.
-     *            If an attempt is made to unregister an instance which is not
-     *            already registered with this instance, no operation is
-     *            performed.
-     */
-    public final void removeContextListener(
-            final IContextListener contextListener) {
-        if (contextListener == null) {
-            throw new NullPointerException("Cannot remove a null listener."); //$NON-NLS-1$
-        }
-
-        if (listeners == null) {
-            return;
-        }
-
-        listeners.remove(contextListener);
-
-        if (listeners.isEmpty()) {
-            listeners = null;
-        }
-    }
-
-    /**
-     * The string representation of this context -- for debugging purposes only.
-     * This string should not be shown to an end user.
-     * 
-     * @return The string representation; never <code>null</code>.
-     */
-    public final String toString() {
-        if (string == null) {
-            final StringBuffer stringBuffer = new StringBuffer();
-            stringBuffer.append("Context("); //$NON-NLS-1$
-            stringBuffer.append(id);
-            stringBuffer.append(',');
-            stringBuffer.append(name);
-            stringBuffer.append(',');
-            stringBuffer.append(description);
-            stringBuffer.append(',');
-            stringBuffer.append(parentId);
-            stringBuffer.append(',');
-            stringBuffer.append(defined);
-            stringBuffer.append(')');
-            string = stringBuffer.toString();
-        }
-        return string;
-    }
-
-    /**
-     * Makes this context become undefined. This has the side effect of changing
-     * the name, description and parent identifier to <code>null</code>.
-     * Notification is sent to all listeners.
-     */
-    public final void undefine() {
-        string = null;
-
-        final boolean definedChanged = defined;
-        defined = false;
-
-        final boolean nameChanged = name != null;
-        name = null;
-
-        final boolean descriptionChanged = description != null;
-        description = null;
-
-        final boolean parentIdChanged = parentId != null;
-        parentId = null;
-
-        fireContextChanged(new ContextEvent(this, definedChanged, nameChanged,
-                descriptionChanged, parentIdChanged));
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextEvent.java
deleted file mode 100644
index 4ebbf85..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextEvent.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.commands.contexts;
-
-/**
- * An instance of this class describes changes to an instance of
- * <code>IContext</code>.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see IContextListener#contextChanged(ContextEvent)
- */
-public final class ContextEvent {
-
-    /**
-     * The context that has changed. This value is never <code>null</code>.
-     */
-    private final Context context;
-
-    /**
-     * Whether the context has become defined or undefined.
-     */
-    private final boolean definedChanged;
-
-    /**
-     * Whether the context has become enabled or disabled.
-     */
-    private final boolean enabledChanged;
-
-    /**
-     * Whether the name of the context has changed.
-     */
-    private final boolean nameChanged;
-
-    /**
-     * Whether the parent identifier has changed.
-     */
-    private final boolean parentIdChanged;
-
-    /**
-     * Creates a new instance of this class.
-     * 
-     * @param context
-     *            the instance of the interface that changed.
-     * @param definedChanged
-     *            true, iff the defined property changed.
-     * @param enabledChanged
-     *            true, iff the enabled property changed.
-     * @param nameChanged
-     *            true, iff the name property changed.
-     * @param parentIdChanged
-     *            true, iff the parentId property changed.
-     */
-    public ContextEvent(final Context context, final boolean definedChanged,
-            final boolean enabledChanged, final boolean nameChanged,
-            final boolean parentIdChanged) {
-        if (context == null)
-            throw new NullPointerException();
-
-        this.context = context;
-        this.definedChanged = definedChanged;
-        this.enabledChanged = enabledChanged;
-        this.nameChanged = nameChanged;
-        this.parentIdChanged = parentIdChanged;
-    }
-
-    /**
-     * Returns the instance of the interface that changed.
-     * 
-     * @return the instance of the interface that changed. Guaranteed not to be
-     *         <code>null</code>.
-     */
-    public final Context getContext() {
-        return context;
-    }
-
-    /**
-     * Returns whether or not the defined property changed.
-     * 
-     * @return true, iff the defined property changed.
-     */
-    public final boolean hasDefinedChanged() {
-        return definedChanged;
-    }
-
-    /**
-     * Returns whether or not the enabled property changed.
-     * 
-     * @return true, iff the enabled property changed.
-     */
-    public final boolean hasEnabledChanged() {
-        return enabledChanged;
-    }
-
-    /**
-     * Returns whether or not the name property changed.
-     * 
-     * @return true, iff the name property changed.
-     */
-    public final boolean hasNameChanged() {
-        return nameChanged;
-    }
-
-    /**
-     * Returns whether or not the parentId property changed.
-     * 
-     * @return true, iff the parentId property changed.
-     */
-    public final boolean hasParentIdChanged() {
-        return parentIdChanged;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManager.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManager.java
deleted file mode 100644
index 038492d..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManager.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.contexts;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.internal.commands.util.Util;
-
-/**
- * <p>
- * A context manager tracks the sets of defined and enabled contexts within the
- * application. The manager sends notification events to listeners when these
- * sets change. It is also possible to retrieve any given context with its
- * identifier.
- * </p>
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- */
-public final class ContextManager implements IContextListener {
-
-	/**
-	 * The set of active context identifiers. This value may be empty, but it is
-	 * never <code>null</code>.
-	 */
-	private Set activeContextIds = new HashSet();
-
-	/**
-	 * The collection of listener to this context manager. This collection is
-	 * <code>null</code> if there are no listeners.
-	 */
-	private Collection listeners = null;
-
-	/**
-	 * The map of context identifiers (<code>String</code>) to contexts (
-	 * <code>Context</code>). This collection may be empty, but it is never
-	 * <code>null</code>.
-	 */
-	private final Map contextsById = new HashMap();
-
-	/**
-	 * The set of identifiers for those contexts that are defined. This value
-	 * may be empty, but it is never <code>null</code>.
-	 */
-	private final Set definedContextIds = new HashSet();
-
-	/**
-	 * Adds a listener to this context manager. The listener will be notified
-	 * when the set of defined contexts changes. This can be used to track the
-	 * global appearance and disappearance of contexts.
-	 * 
-	 * @param listener
-	 *            The listener to attach; must not be <code>null</code>.
-	 */
-	public final void addContextManagerListener(
-			final IContextManagerListener listener) {
-		if (listener == null) {
-			throw new NullPointerException();
-		}
-
-		if (listeners == null) {
-			listeners = new HashSet();
-		}
-
-		listeners.add(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.commands.contexts.IContextListener#contextChanged(org.eclipse.commands.contexts.ContextEvent)
-	 */
-	public final void contextChanged(final ContextEvent contextEvent) {
-		if (contextEvent.hasDefinedChanged()) {
-			final Context context = contextEvent.getContext();
-			final String contextId = context.getId();
-			final boolean contextIdAdded = context.isDefined();
-			if (contextIdAdded) {
-				definedContextIds.add(contextId);
-			} else {
-				definedContextIds.remove(contextId);
-			}
-			fireContextManagerChanged(new ContextManagerEvent(this, contextId,
-					contextIdAdded, false, null));
-		}
-	}
-
-	/**
-	 * Notifies all of the listeners to this manager that the set of defined
-	 * context identifiers has changed.
-	 * 
-	 * @param contextManagerEvent
-	 *            The event to send to all of the listeners; must not be
-	 *            <code>null</code>.
-	 */
-	private final void fireContextManagerChanged(
-			final ContextManagerEvent contextManagerEvent) {
-		if (contextManagerEvent == null)
-			throw new NullPointerException();
-
-		if (listeners != null) {
-			final Iterator listenerItr = listeners.iterator();
-			while (listenerItr.hasNext()) {
-				final IContextManagerListener listener = (IContextManagerListener) listenerItr
-						.next();
-				listener.contextManagerChanged(contextManagerEvent);
-			}
-		}
-	}
-
-	/**
-	 * Returns the set of active context identifiers.
-	 * 
-	 * @return The set of active context identifiers; this value may be
-	 *         <code>null</code> if no active contexts have been set yet. If
-	 *         the set is not <code>null</code>, then it contains only
-	 *         instances of <code>String</code>.
-	 */
-	public final Set getActiveContextIds() {
-		return activeContextIds;
-	}
-
-	/**
-	 * Gets the context with the given identifier. If no such context currently
-	 * exists, then the context will be created (but be undefined).
-	 * 
-	 * @param contextId
-	 *            The identifier to find; must not be <code>null</code>.
-	 * @return The context with the given identifier; this value will never be
-	 *         <code>null</code>, but it might be undefined.
-	 * @see Context
-	 */
-	public final Context getContext(final String contextId) {
-		if (contextId == null)
-			throw new NullPointerException();
-
-		Context context = (Context) contextsById.get(contextId);
-		if (context == null) {
-			context = new Context(contextId);
-			contextsById.put(contextId, context);
-			context.addContextListener(this);
-		}
-
-		return context;
-	}
-
-	/**
-	 * Returns the set of identifiers for those contexts that are defined.
-	 * 
-	 * @return The set of defined context identifiers; this value may be empty,
-	 *         but it is never <code>null</code>.
-	 */
-	public final Set getDefinedContextIds() {
-		return Collections.unmodifiableSet(definedContextIds);
-	}
-
-	/**
-	 * Removes a listener from this context manager.
-	 * 
-	 * @param listener
-	 *            The listener to be removed; must not be <code>null</code>.
-	 */
-	public final void removeContextManagerListener(
-			final IContextManagerListener listener) {
-		if (listener == null) {
-			throw new NullPointerException();
-		}
-
-		if (listeners == null) {
-			return;
-		}
-
-		listeners.remove(listener);
-
-		if (listeners.isEmpty()) {
-			listeners = null;
-		}
-	}
-
-	/**
-	 * Changes the set of active contexts for this context manager. The whole
-	 * set is required so that internal consistency can be maintained and so
-	 * that excessive recomputations do nothing occur.
-	 * 
-	 * @param activeContextIds
-	 *            The new set of active context identifiers; may be
-	 *            <code>null</code>.
-	 */
-	public final void setActiveContextIds(final Set activeContextIds) {
-		if (Util.equals(this.activeContextIds, activeContextIds)) {
-			return;
-		}
-
-		final Set previouslyActiveContextIds = this.activeContextIds;
-		if (activeContextIds != null) {
-			this.activeContextIds = new HashSet();
-			this.activeContextIds.addAll(activeContextIds);
-		} else {
-			this.activeContextIds = null;
-		}
-		fireContextManagerChanged(new ContextManagerEvent(this, null, false,
-				true, previouslyActiveContextIds));
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManagerEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManagerEvent.java
deleted file mode 100644
index ad0eeeb..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/ContextManagerEvent.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands.contexts;
-
-import java.util.Set;
-
-/**
- * <p>
- * An event indicating that the set of defined context identifiers has changed.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>. The commands architecture is currently under
- * development for Eclipse 3.1. This class -- its existence, its name and its
- * methods -- are in flux. Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see IContextManagerListener#contextManagerChanged(ContextManagerEvent)
- */
-public final class ContextManagerEvent {
-
-	/**
-	 * Whether the list of active context identifiers has changed.
-	 */
-	private final boolean activeContextsChanged;
-
-	/**
-	 * The context manager that has changed.
-	 */
-	private final ContextManager contextManager;
-
-	/**
-	 * The context identifier that was added or removed from the list of defined
-	 * context identifiers.
-	 */
-	private final String contextId;
-
-	/**
-	 * Whether a context identifier was added to the list of defined command
-	 * identifier. Otherwise, a command identifier was removed.
-	 */
-	private final boolean contextIdAdded;
-
-	/**
-	 * The set of context identifiers (strings) that were active before the
-	 * change occurred. If the active contexts did not changed, then this value
-	 * is <code>null</code>.
-	 */
-	private final Set previouslyActiveContextIds;
-
-	/**
-	 * Creates a new instance of this class.
-	 * 
-	 * @param contextManager
-	 *            the instance of the interface that changed; must not be
-	 *            <code>null</code>.
-	 * @param contextId
-	 *            The context identifier that was added or removed; may be
-	 *            <code>null</code> if the active contexts are changing.
-	 * @param contextIdAdded
-	 *            Whether the context identifier became defined (otherwise, it
-	 *            became undefined).
-	 * @param activeContextsChanged
-	 *            Whether the list of active contexts has changed.
-	 * @param previouslyActiveContextIds
-	 *            the set of identifiers of previously active contexts. This set
-	 *            may be empty. If this set is not empty, it must only contain
-	 *            instances of <code>String</code>. This set must be
-	 *            <code>null</code> if activeContextChanged is
-	 *            <code>false</code> and must not be null if
-	 *            activeContextChanged is <code>true</code>.
-	 */
-	public ContextManagerEvent(final ContextManager contextManager,
-			final String contextId, final boolean contextIdAdded,
-			final boolean activeContextsChanged,
-			final Set previouslyActiveContextIds) {
-		if (contextManager == null) {
-			throw new NullPointerException();
-		}
-
-		this.contextManager = contextManager;
-		this.contextId = contextId;
-		this.contextIdAdded = contextIdAdded;
-		this.activeContextsChanged = activeContextsChanged;
-		this.previouslyActiveContextIds = previouslyActiveContextIds;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be
-	 *         <code>null</code>.
-	 */
-	public final ContextManager getContextManager() {
-		return contextManager;
-	}
-
-	/**
-	 * Returns the context identifier that was added or removed.
-	 * 
-	 * @return The context identifier that was added or removed. This value may
-	 *         be <code>null</code> if no context identifier was added or
-	 *         removed.
-	 */
-	public final String getContextId() {
-		return contextId;
-	}
-
-	/**
-	 * Returns the set of identifiers to previously active contexts.
-	 * 
-	 * @return the set of identifiers to previously active contexts. This set
-	 *         may be empty. If this set is not empty, it is guaranteed to only
-	 *         contain instances of <code>String</code>. This set is
-	 *         guaranteed to be <code>null</code> if
-	 *         haveActiveContextChanged() is <code>false</code> and is
-	 *         guaranteed to not be null if haveActiveContextsChanged() is
-	 *         <code>true</code>.
-	 */
-	public final Set getPreviouslyActiveContextIds() {
-		return previouslyActiveContextIds;
-	}
-
-	/**
-	 * Returns whether the active context identifiers have changed.
-	 * 
-	 * @return <code>true</code> if the collection of active contexts changed;
-	 *         <code>false</code> otherwise.
-	 */
-	public final boolean haveActiveContextsChanged() {
-		return activeContextsChanged;
-	}
-
-	/**
-	 * Returns whether the context identifier became defined. Otherwise, the
-	 * context identifier became undefined.
-	 * 
-	 * @return <code>true</code> if the context identifier became defined;
-	 *         <code>false</code> if the context identifier became undefined.
-	 */
-	public final boolean isContextIdAdded() {
-		return contextIdAdded;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextListener.java
deleted file mode 100644
index 056f5f1..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.commands.contexts;
-
-/**
- * An instance of this interface can be used by clients to receive notification
- * of changes to one or more instances of <code>IContext</code>.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see Context#addContextListener(IContextListener)
- * @see Context#removeContextListener(IContextListener)
- */
-public interface IContextListener {
-
-    /**
-     * Notifies that one or more properties of an instance of
-     * <code>IContext</code> have changed. Specific details are described in
-     * the <code>ContextEvent</code>.
-     * 
-     * @param contextEvent
-     *            the context event. Guaranteed not to be <code>null</code>.
-     */
-    void contextChanged(ContextEvent contextEvent);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextManagerListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextManagerListener.java
deleted file mode 100644
index 6c30d59..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/IContextManagerListener.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.contexts;
-
-/**
- * An instance of this interface can be used by clients to receive notification
- * of changes to one or more instances of <code>IContextManager</code>.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- * <p>
- * <em>EXPERIMENTAL</em>.  The commands architecture is currently under
- * development for Eclipse 3.1.  This class -- its existence, its name and its
- * methods -- are in flux.  Do not use this class yet.
- * </p>
- * 
- * @since 3.1
- * @see ContextManager#addContextManagerListener(IContextManagerListener)
- * @see ContextManager#removeContextManagerListener(IContextManagerListener)
- */
-public interface IContextManagerListener {
-
-    /**
-     * Notifies that one or more properties of an instance of
-     * <code>IContextManager</code> have changed. Specific details are
-     * described in the <code>ContextManagerEvent</code>.
-     * 
-     * @param contextManagerEvent
-     *            the context manager event. Guaranteed not to be
-     *            <code>null</code>.
-     */
-    void contextManagerChanged(ContextManagerEvent contextManagerEvent);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/package.html b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/package.html
deleted file mode 100644
index f33a026..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/contexts/package.html
+++ /dev/null
@@ -1,129 +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>Package-level Javadoc</title>

-<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"

-	type="text/css">

-</head>

-<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0)">

-Application programming interfaces for contexts.

-<h2>Package Specification</h2>

-<p>

-This package provides API and implementation classes to define abstract

-representations of application state.  These representations of application

-state can be used as an abstraction of the event-listener model -- where

-different sections of code do not (or cannot) refer to each directly.

-</p>

-<p>

-This package is designed so that its elements can be public and dynamic.  That

-is, elements in this package can appear and disappear over the life of the

-application.

-</p>

-<h3>Context</h3>

-<p>

-A context is an answer to the question, "When?"  For example, there might be a

-context called "server running".  When the server is running, then that context

-would be active.  If a program module other than the server wants to test for

-this, they can simply check to see if the context is active.  This allows the

-two program modules to be decoupled from each other.  In fact, a different

-server module could be dropped in place of the first.

-</p>

-<p>

-Contexts are managed by an instance of <code>ContextManager</code>.  In fact, a

-context cannot be constructed directly.  Contexts are constructed using the

-method <code>ContextManager.getContext(String)</code>.  This ensures that there

-is only ever one context with a given identifier ever associated with a context

-manager.

-</p>

-<p>

-When a context is first constructed, it is undefined.  An undefined context is

-one that is carrying no information except for an id.  Attempts to interact

-with a context that is undefined will result in a 

-<code>NotDefinedException</code>.  Through this mechanism, it is possible for

-clients to hold references to contexts, and still have those contexts

-"disappear" (i.e., become undefined).  This is particularly useful in a system

-built around dynamic components (e.g., plug-ins).

-</p>

-<p>

-It is also possible to attach listeners to both contexts and context managers.

-A listener on a context manager will be notified if the list of defined

-contexts changes.

-</p>

-<h4>Examples</h4>

-<blockquote><pre><code>

-	ContextManager manager = new ContextManager();

-	Context context = manager.getContext("contextId");

-	context.define("name", "description", null);

-</code></pre></blockquote>

-<p>

-This example shows how to create a context from scratch -- with no existing

-manager.

-</p>

-<blockquote><pre><code>

-	context.undefine();

-	context = null;

-</code></pre></blockquote>

-<p>

-If you wish to get rid of the context, then you simply undefine it.  This

-will send notification to the appropriate listeners, and future attempts to

-access it will fail.  If you are the only one holding on to the context, then

-it will be garbage collected.  However, if other people still have a reference

-to the context, then the stub will remain until they respond to the change.

-</p>

-<blockquote><pre><code>

-	String name;

-	try {

-		name = context.getName();

-	} catch (NotDefinedException e) {

-		// Clean-up my reference to the context.

-		context = null;

-		return;

-	}

-</code></pre></blockquote>

-<p>

-This shows one way of dealing with contexts.  Instead of listening for

-changes to the contexts, you can simply listen for the exceptions to be thrown.

-When a <code>NotDefinedException</code> is thrown, you can clean up your own

-code.  How you clean up is application dependent.  In this case, the reference

-is cleared and we return from the method.

-</p>

-<blockquote><pre><code>

-	try {

-		String name = context.getName();

-		

-		// Do all your work in the block.

-		

-	} catch (NotDefinedException e) {

-		// Ignore, or possibly throw an error

-	}

-	

-	...

-	

-	public contextChanged(ContextEvent e) {

-		if (e.hasDefinedChanged()) {

-			context.removeListener(this);

-			context = null;

-		}

-	}

-</code></pre></blockquote>

-<p>

-Another way is to attach a listener, and then simply ignore the exceptions.

-When the context becomes undefined, you will be notified.  This gives your the

-opportunity to unhook your listener and release your reference.

-</p>

-<blockquote><pre><code>

-	ContextManager manager = new ContextManager();

-	Context parent = manager.getContext("parentId");

-	parent.define("name", "description", null);

-	Context child = manager.getContext("childId");

-	child.define("name", "description", "parentId");

-</code></pre></blockquote>

-<p>

-Contexts can be related to each other with a parent-child relationship.  How

-your application deals with this is up to you.  In the case of the keyboard

-shortcuts in Eclipse, this is used to allow behaviour attributed to child

-contexts to override behaviour attributed to parent contexts.

-</p>

-</body>

-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/AbstractOperation.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/AbstractOperation.java
deleted file mode 100644
index b67f067..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/AbstractOperation.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * Abstract implementation for an operation
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public abstract class AbstractOperation implements IUndoableOperation {
-	private List fContexts = new ArrayList();
-
-	private String fLabel = ""; //$NON-NLS-1$
-
-	/**
-	 * Construct an operation that has the specified label.
-	 * 
-	 * @param label -
-	 *            the label to be used for the operation.
-	 */
-	public AbstractOperation(String label) {
-		fLabel = label;
-	}
-
-	public void addContext(UndoContext context) {
-		if (!fContexts.contains(context)) {
-			fContexts.add(context);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#canExecute()
-	 */
-	public boolean canExecute() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#canRedo()
-	 */
-	public boolean canRedo() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#canUndo()
-	 */
-	public boolean canUndo() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#dispose()
-	 */
-	public void dispose() {
-		// nothing to dispose.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public abstract IStatus execute(IProgressMonitor monitor);
-
-	public UndoContext[] getContexts() {
-		return (UndoContext[]) fContexts.toArray(new UndoContext[fContexts
-				.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#getDescription()
-	 */
-	public String getDescription() {
-		return ""; //$NON-NLS-1$
-	}
-
-	public String getLabel() {
-		return fLabel;
-	}
-
-	/**
-	 * Set the label of the operation to the specified name.
-	 * 
-	 * @param name -
-	 *            the string to be used for the label.
-	 */
-	public void setLabel(String name) {
-		fLabel = name;
-	}
-
-	public boolean hasContext(UndoContext context) {
-		return fContexts.contains(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#redo(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public abstract IStatus redo(IProgressMonitor monitor);
-
-	public void removeContext(UndoContext context) {
-		fContexts.remove(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperation#undo(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public abstract IStatus undo(IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ContextConsultingOperationApprover.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ContextConsultingOperationApprover.java
deleted file mode 100644
index 2b2cb6f..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ContextConsultingOperationApprover.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * <p>
- * An operation approver that consults the contexts of an operation to determine
- * whether it should proceed.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public class ContextConsultingOperationApprover implements IOperationApprover {
-
-	public IStatus proceedRedoing(IUndoableOperation operation,
-			IOperationHistory history) {
-		UndoContext[] contexts = operation.getContexts();
-		for (int i = 0; i < contexts.length; i++) {
-			UndoContext context = contexts[i];
-			IContextOperationApprover approver = context.getOperationApprover();
-			if (approver != null) {
-				IStatus approval = approver.proceedRedoing(operation, context, history);
-				if (!approval.isOK())
-					return approval;
-			}
-		}
-		return Status.OK_STATUS;
-	}
-
-	public IStatus proceedUndoing(IUndoableOperation operation,
-			IOperationHistory history) {
-		UndoContext[] contexts = operation.getContexts();
-		for (int i = 0; i < contexts.length; i++) {
-			UndoContext context = contexts[i];
-			IContextOperationApprover approver = context.getOperationApprover();
-			if (approver != null) {
-				IStatus approval = approver.proceedUndoing(operation, context, history);
-				if (!approval.isOK())
-					return approval;
-			}
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
deleted file mode 100644
index 8e0dbca..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
+++ /dev/null
@@ -1,807 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.internal.commands.util.Assert;
-import org.eclipse.core.internal.commands.util.BatchingOperation;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * <p>
- * A base implementation of IOperationHistory. DefaultOperationHistory implements a
- * strict linear undo and redo model. The most recently added operation is
- * available for undo, and the most recently undone operation is available for
- * redo.
- * </p>
- * <p>
- * If the operation eligible for undo is not in a state where it can be undone,
- * then no undo is available. No other operations are consulted. Likewise, if
- * the operation available for redo cannot be redone, then no redo is available.
- * </p>
- * 
- * @since 3.1
- */
-public class DefaultOperationHistory implements IOperationHistory {
-	
-	protected static final int DEFAULT_LIMIT = 20;
-	
-	/**
-	 * An operation info status describing the condition that there is no available
-	 * operation for redo.
-	 */
-	public static final IStatus NOTHING_TO_REDO_STATUS = new OperationStatus(
-			IStatus.INFO, OperationStatus.NOTHING_TO_REDO,
-			"No operation to redo"); //$NON-NLS-1$
-
-	/**
-	 * An operation info status describing the condition that there is no available
-	 * operation for undo.
-	 */
-	public static final IStatus NOTHING_TO_UNDO_STATUS = new OperationStatus(
-			IStatus.INFO, OperationStatus.NOTHING_TO_UNDO,
-			"No operation to undo"); //$NON-NLS-1$
-
-	/**
-	 * An operation error status describing the condition that the operation available
-	 * for execution, undo or redo is not in a valid state for the action to be
-	 * performed.
-	 */
-	public static final IStatus OPERATION_INVALID_STATUS = new OperationStatus(
-			IStatus.ERROR, OperationStatus.OPERATION_INVALID,
-			"Operation is not valid"); //$NON-NLS-1$
-
-	protected List fApprovers = new ArrayList();
-
-	private HashMap fLimits = new HashMap();
-
-	/**
-	 * the list of {@link IOperationHistoryListener}s
-	 */
-	protected List fListeners = new ArrayList();
-
-	private List fRedo = new ArrayList();
-
-	private List fUndo = new ArrayList();
-	
-	private BatchingOperation fBatchingComposite = null;
-
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#add(org.eclipse.runtime.operations.IOperation)
-	 */
-	public void add(IUndoableOperation operation) {
-		Assert.isNotNull(operation);
-		
-		/*
-		 * If we are in the middle of executing an open batching operation, and this is not that
-		 * operation, then we need only add the new operation to the batch.  Listeners  will be 
-		 * notified when the execution and adding of the batched operation is
-		 * complete.
-		 */
-		if (fBatchingComposite != null && fBatchingComposite != operation) {
-			fBatchingComposite.add(operation);
-			return;
-		}
-		
-		// flush redo stack for related contexts
-		UndoContext[] contexts = operation.getContexts();
-		for (int i = 0; i < contexts.length; i++) {
-			flushRedo(contexts[i]);
-		}
-
-		checkUndoLimit(operation);
-		fUndo.add(operation);
-		notifyAdd(operation);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#addOperationApprover(org.eclipse.runtime.operations.IOperationApprover)
-	 */
-	public void addOperationApprover(IOperationApprover approver) {
-		fApprovers.add(approver);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#addOperationHistoryListener(org.eclipse.runtime.operations.IOperationHistoryListener)
-	 */
-	public void addOperationHistoryListener(IOperationHistoryListener listener) {
-		fListeners.add(listener);
-	}
-
-	public boolean canRedo(UndoContext context) {
-		// null context is allowed and passed through
-		IUndoableOperation operation = getRedoOperation(context);
-		return (operation != null && operation.canRedo());
-	}
-
-	public boolean canUndo(UndoContext context) {
-		// null context is allowed and passed through
-		IUndoableOperation operation = getUndoOperation(context);
-		return (operation != null && operation.canUndo());
-	}
-
-	/**
-	 * Check the redo limit before adding an operation.  In theory the redo limit
-	 * should never be reached, because the redo items are transferred from the undo
-	 * history, which has the same limit.  The redo history is cleared whenever a new
-	 * operation is added.  We check for completeness since implementations may change
-	 * over time.
-	 */
-	private void checkRedoLimit(IUndoableOperation operation) {
-		UndoContext [] contexts = operation.getContexts();
-		for (int i=0; i<contexts.length; i++) {
-			int limit = getLimit(contexts[i]);
-			if (limit > 0) forceRedoLimit(contexts[i], limit - 1);
-		}
-	}
-
-	/**
-	 * Check the undo limit before adding an operation.
-	 */
-	private void checkUndoLimit(IUndoableOperation operation) {
-		UndoContext [] contexts = operation.getContexts();
-		for (int i=0; i<contexts.length; i++) {
-			int limit = getLimit(contexts[i]);
-			if (limit > 0) forceUndoLimit(contexts[i], limit - 1);
-		}
-	}
-
-	/*
-	 * null is valid argument indicating all contexts
-	 */
-	public void dispose(UndoContext context, boolean flushUndo,
-			boolean flushRedo) {
-		if (flushUndo)
-			flushUndo(context);
-		if (flushRedo)
-			flushRedo(context);
-		// we currently do not dispose of any limit that was set for the
-		// context since it may be used again. 
-		
-	}
-
-	/**
-	 * Perform the redo. All validity checks have already occurred.
-	 * 
-	 * @param monitor
-	 * @param operation
-	 */
-	protected IStatus doRedo(IProgressMonitor monitor, IUndoableOperation operation,
-			boolean flushOnError) {
-
-		IStatus status = getRedoApproval(operation);
-		if (status.isOK()) {
-			notifyAboutToRedo(operation);
-			status = operation.redo(monitor);
-		}
-
-		// if successful, the operation is removed from the redo history and
-		// placed back in the undo history.
-		if (status.isOK()) {
-			fRedo.remove(operation);
-			// Only add the operation to the undo stack if it can indeed be undone.
-			// This conservatism is added to support the integration of existing 
-			// frameworks (such as Refactoring) that produce undo and redo behavior
-			// on the fly and cannot guarantee that a successful redo means a
-			// successful undo will be available. 
-			// See bug #84444
-			if (operation.canUndo()) {
-				checkUndoLimit(operation);
-				fUndo.add(operation);
-			}
-			// notify listeners must happen after history is updated
-			notifyRedone(operation);
-		} else {
-			notifyNotOK(operation);
-			if (flushOnError && status.getSeverity() == IStatus.ERROR) {
-				remove(operation);
-			}
-		}
-
-		return status;
-	}
-
-	/**
-	 * Perform the undo. All validity checks have already occurred.
-	 * 
-	 * @param monitor
-	 * @param operation
-	 */
-	protected IStatus doUndo(IProgressMonitor monitor, IUndoableOperation operation,
-			boolean flushOnError) {
-		IStatus status = getUndoApproval(operation);
-		if (status.isOK()) {
-			notifyAboutToUndo(operation);
-			status = operation.undo(monitor);
-		}
-		// if successful, the operation is removed from the undo history and
-		// placed in the redo history.
-		if (status.isOK()) {
-			fUndo.remove(operation);
-			// Only add the operation to the redo stack if it can indeed be redone.
-			// This conservatism is added to support the integration of existing 
-			// frameworks (such as Refactoring) that produce undo and redo behavior
-			// on the fly and cannot guarantee that a successful undo means a
-			// successful redo will be available. 
-			// See bug #84444
-			if (operation.canRedo()) {
-				checkRedoLimit(operation);
-				fRedo.add(operation);
-			}
-			// notification occurs after the undo and redo histories are
-			// adjusted
-			notifyUndone(operation);
-		} else {
-			notifyNotOK(operation);
-			if (flushOnError && status.getSeverity() == IStatus.ERROR) {
-				remove(operation);
-			}
-		}
-		return status;
-	}
-
-	public IStatus execute(IUndoableOperation operation, IProgressMonitor monitor) {
-		Assert.isNotNull(operation);
-		
-		// error if operation is invalid
-		if (!operation.canExecute()) {
-			return OPERATION_INVALID_STATUS;
-		}
-		
-		/*
-		 * If we are in the middle of an open batch, then we should add this operation to the
-		 * batch first.  We still want to execute it, but we do not want to notify listeners.
-		 */
-		boolean merging = false;
-		if (fBatchingComposite != null) {
-			// the composite shouldn't be executed explicitly while it is still open
-			if (fBatchingComposite == operation) {
-				return OPERATION_INVALID_STATUS;
-			}
-			fBatchingComposite.add(operation);
-			merging = true;
-		}
-
-		/*
-		 * Execute the operation
-		 */
-		if (!merging) notifyAboutToExecute(operation);
-		IStatus status = operation.execute(monitor);
-
-		// if successful, the notify listeners are notified and the operation is
-		// added to the history
-		if (!merging) {
-			if (status.isOK()) {
-				notifyDone(operation);
-				// Only add the operation to the history if it can indeed be undone.
-				// This conservatism is added to support the integration of existing 
-				// frameworks (such as Refactoring) that may be using a history to execute 
-				// all operations, even those that are not undoable.  
-				// See bug #84444
-				if (operation.canUndo()) {
-					add(operation);
-				}
-			} else {
-				notifyNotOK(operation);
-			}
-		}		
-		// all other severities are not interpreted. Simply return the status.
-		return status;
-	}
-
-	private IUndoableOperation[] filter(List list, UndoContext context) {
-		/*
-		 * This method is used whenever there is a need to filter the undo or
-		 * redo history on a particular context.  Currently there are no caches
-		 * kept to optimize repeated requests for the same filter.  If benchmarks
-		 * show this to be a common pattern that causes performances problems,
-		 * we could implement a filtered cache here that is nullified whenever
-		 * the global history changes.
-		 */
-		
-		// when the context is null, do not filter the list.
-		if (context == null)
-			return (IUndoableOperation[]) list.toArray(new IUndoableOperation[list.size()]);
-
-		// otherwise filter on the context
-		List filtered = new ArrayList();
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			IUndoableOperation operation = (IUndoableOperation) iterator.next();
-			if (operation.hasContext(context)) {
-				filtered.add(operation);
-			}
-		}
-		return (IUndoableOperation[]) filtered.toArray(new IUndoableOperation[filtered.size()]);
-	}
-
-	void flushRedo(UndoContext context) {
-		// null context indicates flushing all
-		Object[] filtered = filter(fRedo, context);
-		for (int i = 0; i < filtered.length; i++) {
-			IUndoableOperation operation = (IUndoableOperation) filtered[i];
-			if (context == null || operation.getContexts().length == 1) {
-				// remove the operation if it only has the context or we are flushing all
-				fRedo.remove(operation);
-				internalRemove(operation);
-			} else {
-				// remove the reference to the context
-				operation.removeContext(context);
-			}
-		}
-	}
-
-	void flushUndo(UndoContext context) {
-		// null context indicates flushing all
-		Object[] filtered = filter(fUndo, context);
-		for (int i = 0; i < filtered.length; i++) {
-			IUndoableOperation operation = (IUndoableOperation) filtered[i];
-			if (context == null || operation.getContexts().length == 1) {
-				// remove the operation if it only has the context or we are flushing all
-				fUndo.remove(operation);
-				internalRemove(operation);
-			} else {
-				// remove the reference to the context
-				operation.removeContext(context);
-			}
-		}
-		// there may be an open batch.  Notify listeners that it did not complete.
-		// Since we did not add it, there's no need to notify of its removal.
-		if (fBatchingComposite != null) {
-			if (context == null || fBatchingComposite.hasContext(context)) {
-				notifyNotOK(fBatchingComposite.getPrimaryOperation());
-				fBatchingComposite = null;
-			} 
-		}
-	}
-
-	private void forceRedoLimit(UndoContext context, int max) {
-		Object[] filtered = filter(fRedo, context);
-		int size = filtered.length;
-		if (size > 0) {
-			int index = 0;
-			while (size > max) {
-				IUndoableOperation removed = (IUndoableOperation)filtered[index];
-				if (context == null || removed.getContexts().length == 1) {
-					/* remove the operation if we are enforcing a global limit or if
-					 * the operation only has the specified context
-					 */
-					fRedo.remove(removed);
-					internalRemove(removed);
-				} else {
-					/* if the operation has multiple contexts and we've reached the limit 
-					 * for only one of them, then just remove the context, not the operation.
-					 */
-					removed.removeContext(context);
-				}
-				size--;
-				index++;
-			}
-		}
-	}
-
-	private void forceUndoLimit(UndoContext context, int max) {
-		Object[] filtered = filter(fUndo, context);
-		int size = filtered.length;
-		if (size > 0) {
-			int index = 0;
-			while (size > max) {
-				IUndoableOperation removed = (IUndoableOperation)filtered[index];
-				if (context == null || removed.getContexts().length == 1) {
-					/* remove the operation if we are enforcing a global limit or if
-					 * the operation only has the specified context
-					 */
-					fUndo.remove(removed);
-					internalRemove(removed);
-				} else {
-					/* if the operation has multiple contexts and we've reached the limit 
-					 * for only one of them, then just remove the context, not the operation.
-					 */
-					removed.removeContext(context);
-				}
-				size--;
-				index++;
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#getLimit()
-	 */
-	public int getLimit(UndoContext context) {
-		if (!fLimits.containsKey(context)) {
-			return DEFAULT_LIMIT;
-		}
-		return ((Integer)(fLimits.get(context))).intValue();
-	}
-
-	protected IStatus getRedoApproval(IUndoableOperation operation) {
-		for (int i = 0; i < fApprovers.size(); i++) {
-			IStatus approval = ((IOperationApprover) fApprovers.get(i))
-					.proceedRedoing(operation, this);
-			if (!approval.isOK())
-				return approval;
-		}
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * null is a valid argument indicating the entire history
-	 */
-	public IUndoableOperation[] getRedoHistory(UndoContext context) {
-		return filter(fRedo, context);
-	}
-
-	/*
-	 * Peek the redo operation. Validity of the operation is not considered.
-	 */
-
-	public IUndoableOperation getRedoOperation(UndoContext context) {
-		if (context == null) {
-			if (fRedo.size() > 0) {
-				IUndoableOperation operation = (IUndoableOperation) fRedo.get(fRedo.size() - 1);
-				return operation;
-			}
-			return null;
-		}
-
-		for (int i = fRedo.size() - 1; i >= 0; i--) {
-			IUndoableOperation operation = (IUndoableOperation) fRedo.get(i);
-			if (operation.hasContext(context)) {
-				return operation;
-			}
-		}
-		return null;
-	}
-
-	protected IStatus getUndoApproval(IUndoableOperation operation) {
-		for (int i = 0; i < fApprovers.size(); i++) {
-			IStatus approval = ((IOperationApprover) fApprovers.get(i))
-					.proceedUndoing(operation, this);
-			if (!approval.isOK())
-				return approval;
-		}
-		return Status.OK_STATUS;
-	}
-
-	/*
-	 * null is a valid argument indicating the entire history
-	 */
-	public IUndoableOperation[] getUndoHistory(UndoContext context) {
-		return filter(fUndo, context);
-	}
-
-	/*
-	 * Validity of the returned operation is not considered.
-	 */
-	public IUndoableOperation getUndoOperation(UndoContext context) {
-		if (context == null) {
-			if (fUndo.size() > 0) {
-				IUndoableOperation operation = (IUndoableOperation) fUndo.get(fUndo.size() - 1);
-				return operation;
-			}
-			return null;
-		}
-
-		for (int i = fUndo.size() - 1; i >= 0; i--) {
-			IUndoableOperation operation = (IUndoableOperation) fUndo.get(i);
-			if (operation.hasContext(context)) {
-				return operation;
-			}
-		}
-		return null;
-	}
-
-	void internalRemove(IUndoableOperation operation) {
-		operation.dispose();
-		notifyRemoved(operation);
-	}
-
-	/*
-	 * Notify listeners that an operation is about to execute.
-	 */
-	protected void notifyAboutToExecute(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.ABOUT_TO_EXECUTE, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation is about to redo.
-	 */
-	protected void notifyAboutToRedo(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.ABOUT_TO_REDO, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-	
-	/*
-	 * Notify listeners that an operation is about to undo.
-	 */
-	protected void notifyAboutToUndo(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.ABOUT_TO_UNDO, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation has been added.
-	 */
-	protected void notifyAdd(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.OPERATION_ADDED, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation is done executing.
-	 */
-	protected void notifyDone(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.DONE, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation did not succeed after
-	 * an attempt to execute, undo, or redo was made.
-	 */
-	protected void notifyNotOK(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.OPERATION_NOT_OK, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation was redone.
-	 */
-	protected void notifyRedone(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.REDONE, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation has been removed from the
-	 * history.
-	 */
-	protected void notifyRemoved(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.OPERATION_REMOVED, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * Notify listeners that an operation has been undone.
-	 */
-	protected void notifyUndone(IUndoableOperation operation) {
-		IUndoableOperation op = getNotifyOperation(operation);
-		OperationHistoryEvent event = new OperationHistoryEvent(
-				OperationHistoryEvent.UNDONE, this, op);
-		preNotifyOperation(op, event);
-		for (int i = 0; i < fListeners.size(); i++)
-			((IOperationHistoryListener) fListeners.get(i))
-					.historyNotification(event);
-	}
-
-	/*
-	 * A history notification is about to be sent.  Notify the operation before hand
-	 * if it implements IHistoryNotificationAwareOperation.
-	 * 
-	 * This method is provided for legacy undo frameworks that rely on notification
-	 * from their undo managers before any listeners are notified about changes
-	 * in the operation.
-	 */
-
-	private void preNotifyOperation(IUndoableOperation operation, OperationHistoryEvent event) {
-		if (operation instanceof IHistoryNotificationAwareOperation) {
-			((IHistoryNotificationAwareOperation)operation).aboutToNotify(event);
-		}
-	}
-	
-	/*
-	 * A history notification is about to be sent.  Answer the operation that should
-	 * be used in the event.
-	 * 
-	 * This method is provided so that notifications about batched operations will
-	 * look like notifications about the primary operation.
-	 */
-	private IUndoableOperation getNotifyOperation(IUndoableOperation operation) {
-		if (operation instanceof BatchingOperation) {
-			return ((BatchingOperation)operation).getPrimaryOperation();
-		} 
-		return operation;
-	}
-
-	public IStatus redo(UndoContext context, IProgressMonitor monitor) {
-		// null context is allowed and passed through when getting the operation
-		IUndoableOperation operation = getRedoOperation(context);
-
-		// info if there is no operation
-		if (operation == null)
-			return NOTHING_TO_REDO_STATUS;
-
-		// error if operation is invalid
-		if (!operation.canRedo())
-			return OPERATION_INVALID_STATUS;
-
-		return doRedo(monitor, operation, true);
-	}
-
-	public IStatus redoOperation(IUndoableOperation operation, IProgressMonitor monitor) {
-		Assert.isNotNull(operation);
-		IStatus status;
-		if (operation.canRedo()) {
-			status = getRedoApproval(operation);
-			if (status.isOK()) {
-				status = doRedo(monitor, operation, false);
-			}
-		} else {
-			status = OPERATION_INVALID_STATUS;
-		}
-		return status;
-	}
-
-	public void remove(IUndoableOperation operation) {
-		if (fUndo.contains(operation)) {
-			fUndo.remove(operation);
-			internalRemove(operation);
-		} else if (fRedo.contains(operation)) {
-			fRedo.remove(operation);
-			internalRemove(operation);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#removeOperationApprover(org.eclipse.runtime.operations.IOperationApprover)
-	 */
-	public void removeOperationApprover(IOperationApprover approver) {
-		fApprovers.remove(approver);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#removeOperationHistoryListener(org.eclipse.runtime.operations.IOperationHistoryListener)
-	 */
-	public void removeOperationHistoryListener(
-			IOperationHistoryListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#setLimit(int)
-	 */
-	public void setLimit(UndoContext context, int limit) {
-		Assert.isTrue(limit > 0);
-		/*
-		 * The limit checking methods interpret a null context as a global limit to be
-		 * enforced.  We do not wish to support a global limit in this implementation,
-		 * so we throw an exception for a null context.  The rest of the implementation
-		 * can handle a null context, so subclasses can override this if a global limit
-		 * is desired.
-		 */	
-		Assert.isNotNull(context);
-		fLimits.put(context, new Integer(limit));
-		forceUndoLimit(context, limit);
-		forceRedoLimit(context, limit);
-
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.runtime.operations.IOperationHistory#undo(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus undo(UndoContext context, IProgressMonitor monitor) {
-		// null context is allowed and passed through when getting the operation
-		IUndoableOperation operation = getUndoOperation(context);
-
-		// info if there is no operation
-		if (operation == null)
-			return NOTHING_TO_UNDO_STATUS;
-
-		// error if operation is invalid
-		if (!operation.canUndo())
-			return OPERATION_INVALID_STATUS;
-
-		return doUndo(monitor, operation, true);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public IStatus undoOperation(IUndoableOperation operation, IProgressMonitor monitor) {
-		Assert.isNotNull(operation);
-		IStatus status;
-		if (operation.canUndo()) {
-			status = getUndoApproval(operation);
-			if (status.isOK()) {
-				status = doUndo(monitor, operation, false);
-			}
-		} else {
-			status = OPERATION_INVALID_STATUS;
-		}
-		return status;
-	}
-	/**
-	 * {@inheritDoc}
-	 */
-	public void openOperation(IUndoableOperation operation) {
-		if (fBatchingComposite != null) {
-			closeOperation();	
-		} 
-		fBatchingComposite = new BatchingOperation(operation);
-		notifyAboutToExecute(operation);	
-	}
-	/**
-	 * {@inheritDoc}
-	 */
-	public void closeOperation() {
-		if (fBatchingComposite != null) {
-			notifyDone(fBatchingComposite.getPrimaryOperation());
-			add(fBatchingComposite);
-			fBatchingComposite = null;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IContextOperationApprover.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IContextOperationApprover.java
deleted file mode 100644
index 716d6e8..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IContextOperationApprover.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * IContextOperationApprover defines an interface for approving the undo or redo
- * of a particular operation within an operation history given a particular
- * operation context. Operations that are candidates for undo or redo have
- * already been validated against their current state.
- * </p>
- * <p>
- * By the time an IContextOperationApprover is consulted, the undo has already
- * been requested. Approvers should return an IStatus with severity
- * <code>OK</code> if the operation should proceed, and any other status if it
- * should not. The status should further describe the rejection. When an
- * operation is rejected, it is expected that the object rejecting the operation
- * has already consulted the user if necessary or otherwise provided any
- * necessary information to the user about the rejection.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public interface IContextOperationApprover {
-
-	/**
-	 * Return a status indicating whether the specified operation should be
-	 * redone. Any status that does not have severity <code>IStatus.OK</code>
-	 * will not be approved. Implementers should not assume that the redo will
-	 * be performed when the status is <code>OK</code>, since other operation
-	 * approvers may veto the redo.
-	 * 
-	 * @param operation -
-	 *            the operation to be redone
-	 * @param context -
-	 *            the context for which the operation is to be approved
-	 * @param history -
-	 *            the history undoing the operation
-	 * @return the IStatus describing whether the operation is approved. The
-	 *         redo will not proceed if the status severity is no
-	 *         <code>OK</code>, and the caller requesting the redo will be
-	 *         returned the status that caused the rejection. Any other status
-	 *         severities will not be interpreted by the history.
-	 */
-	IStatus proceedRedoing(IUndoableOperation operation, UndoContext context,
-			IOperationHistory history);
-
-	/**
-	 * Return a status indicating whether the specified operation should be
-	 * undone. Any status that does not have severity <code>IStatus.OK</code>
-	 * will not be approved. Implementers should not assume that the undo will
-	 * be performed when the status is <code>OK</code>, since other operation
-	 * approvers can veto the undo.
-	 * 
-	 * @param operation -
-	 *            the operation to be undone
-	 * @param context -
-	 *            the context for which the operation is to be approved
-	 * @param history -
-	 *            the history undoing the operation
-	 * @return the IStatus describing whether the operation is approved. The
-	 *         undo will not proceed if the status severity is not
-	 *         <code>OK</code>, and the caller requesting the undo will be
-	 *         returned the status that caused the rejection. Any other status
-	 *         severities will not be interpreted by the history.
-	 */
-	IStatus proceedUndoing(IUndoableOperation operation, UndoContext context,
-			IOperationHistory history);
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IHistoryNotificationAwareOperation.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IHistoryNotificationAwareOperation.java
deleted file mode 100644
index cc85a9c..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IHistoryNotificationAwareOperation.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-/**
- * <p>
- * IHistoryNotificationAwareOperation extends IUndoableOperation to receive notifications
- * from its containing operation history before the history sends any notifications
- * involving the receiver to its listeners.
- * <p>
- * This interface is intended to be used by legacy frameworks that are adapting their
- * old undo and redo support to this framework.  Operations that previously relied
- * on notification from their containing history or stack before its listeners are 
- * notified about changes to the operation should implement this interface.
- * Cooperating operation history implementations should check for the implementation of
- * this interface and send notifications when it is present.
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public interface IHistoryNotificationAwareOperation extends IUndoableOperation {
-
-	/**
-	 * <p>
-	 * An operation history notification about this operation is about to be sent
-	 * to operation history listeners.  Any preparation needed before listeners
-	 * are notified about this operation should be performed here.
-	 * 
-	 * <p>
-	 * This method has been added to support legacy undo frameworks that are adapting 
-	 * to IUndoableOperation.  Operations that previously relied on notification from their 
-	 * containing history or stack before any listeners are notified about changes to the
-	 * operation should implement this interface.
-	 * 
-	 * @param event -
-	 *            the event that is about to be sent with the pending notification
-	 *            
-	 */
-	void aboutToNotify(OperationHistoryEvent event);
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationApprover.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationApprover.java
deleted file mode 100644
index eeb8174..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationApprover.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * IOperationApprover defines an interface for approving the undo or redo of a
- * particular operation within an operation history. Operations that are
- * candidates for undo or redo have already been validated against their current
- * state and according to the rules of the history.
- * </p>
- * <p>
- * By the time an IOperationApprover is consulted, the undo has already been
- * requested. Approvers should return <code>true</code> if the operation
- * should proceed, and <code>false</code> if it should not. When an operation
- * is rejected, it is expected that the object rejecting the operation has
- * already consulted the user if necessary or otherwise provided any necessary
- * information to the user about the rejection.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public interface IOperationApprover {
-
-	/**
-	 * Return a status indicating whether the specified operation should be
-	 * redone. Any status that does not have severity <code>IStatus.OK</code>
-	 * will not be approved. Implementers should not assume that the redo will
-	 * be performed when the status is <code>OK</code>, since other operation
-	 * approvers may veto the redo.
-	 * 
-	 * @param operation -
-	 *            the operation to be redone
-	 * @param history -
-	 *            the history redoing the operation
-	 * @return the IStatus describing whether the operation is approved. The
-	 *         redo will not proceed if the status severity is no
-	 *         <code>OK</code>, and the caller requesting the redo will be
-	 *         returned the status that caused the rejection. Any other status
-	 *         severities will not be interpreted by the history.
-	 */
-	IStatus proceedRedoing(IUndoableOperation operation, IOperationHistory history);
-
-	/**
-	 * Return a status indicating whether the specified operation should be
-	 * undone. Any status that does not have severity <code>IStatus.OK</code>
-	 * will not be approved. Implementers should not assume that the undo will
-	 * be performed when the status is <code>OK</code>, since other operation
-	 * approvers can veto the undo.
-	 * 
-	 * @param operation -
-	 *            the operation to be undone
-	 * @param history -
-	 *            the history undoing the operation
-	 * @return the IStatus describing whether the operation is approved. The
-	 *         undo will not proceed if the status severity is not
-	 *         <code>OK</code>, and the caller requesting the undo will be
-	 *         returned the status that caused the rejection. Any other status
-	 *         severities will not be interpreted by the history.
-	 */
-	IStatus proceedUndoing(IUndoableOperation operation, IOperationHistory history);
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistory.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistory.java
deleted file mode 100644
index 620ef51..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistory.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * IOperationHistory tracks a history of operations that can be undone or
- * redone. Operations are added to the history once they have been initially
- * executed. Clients may choose whether to have the operations history perform
- * the initial execution or simply add the operation to the history.
- * </p>
- * <p>
- * Once operations are added to the history, the methods <code>canRedo()</code>
- * and <code>canUndo()</code> are used to determine whether there is an
- * operation available for undo and redo in a given operation context. The
- * context-based protocol implies that there is only one operation that can be
- * undone or redone at a given time in a given context. This is typical of a
- * linear undo model, when only the most recently executed operation is
- * available for undo. When this protocol is used, a linear model is enforced by
- * the history. It is up to clients to determine how to maintain a history that
- * is invalid or stale. For example, when the most recent operation for a
- * context cannot be performed, clients may wish to flush the history for that
- * context.
- * </p>
- * <p>
- * Additional protocol allows direct undo and redo of a specified operation,
- * regardless of its position in the history. When a more flexible undo model is
- * supported, these methods can be implemented to undo and redo directly
- * specified operations. If an implementer of IOperationHistory does not allow
- * direct undo and redo, these methods can return a status indicating that it is
- * not allowed.
- * </p>
- * <p>
- * Listeners (IOperationHistoryListener) can listen for notifications about
- * changes in the history (operations added or removed), and for notification
- * before and after any operation is executed, undone or redone. Notification of
- * operation execution only occurs when clients direct the history to execute
- * the operation. If the operation is added after it is executed, there can be
- * no notification of its execution.
- * </p>
- * <p>
- * IOperationApprover defines an interface for approving an undo or redo before
- * it occurs. This is useful for injecting policy-decisions into the model -
- * whether direct undo and redo are supported, or warning the user about certain
- * kinds of operations. It can also be used when objects have state related to
- * the operation and need to determine whether an undo or redo will cause any
- * conflicts with their local state.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public interface IOperationHistory {
-
-	/**
-	 * Add the specified operation to the history without executing it. The
-	 * operation should have already been executed by the time it is added to
-	 * the history. Listeners will be notified that the operation was added to
-	 * the history.
-	 * 
-	 * @param operation -
-	 *            the operation to be added to the history
-	 */
-	void add(IUndoableOperation operation);
-
-	/**
-	 * Add the specified approver to the operation history.
-	 * 
-	 * @param approver -
-	 *            the IOperationApprover that will be consulted before any
-	 *            operation in the history is undone or redone
-	 */
-	void addOperationApprover(IOperationApprover approver);
-
-	/**
-	 * Add the specified listener to the operation history.
-	 * 
-	 * @param listener -
-	 *            the IOperationHistoryListener to receive notifications about
-	 *            changes in the history or operations that are executed,
-	 *            undone, or redone
-	 */
-	void addOperationHistoryListener(IOperationHistoryListener listener);
-
-	/**
-	 * <p>
-	 * Close the current operation. Send listeners a <code>done</code>
-	 * and <code>operationAdded</code> notification for the operation.
-	 * <p>
-	 * Any operations that are executed and added will no longer be considered
-	 * part of this operation.
-	 * <p>
-	 * This method has no effect if the caller has not previously called
-	 * {@link #openOperation}.
-	 * 
-	 * <p>
-	 * EXPERIMENTAL - this protocol is experimental and may change signficantly
-	 * or be removed before the final release.
-	 */
-	void closeOperation();
-
-	/**
-	 * Return whether there is a redoable operation available in the given
-	 * context.
-	 * 
-	 * @param context -
-	 *            the context to be checked, or null for any context
-	 * @return <code>true</code> if there is a redoable operation,
-	 *         <code>false</code> otherwise.
-	 */
-
-	boolean canRedo(UndoContext context);
-
-	/**
-	 * Return whether there is an undoable operation available in the given
-	 * context
-	 * 
-	 * @param context -
-	 *            the context to be checked, or null to represent any context
-	 * @return <code>true</code> if there is an undoable operation,
-	 *         <code>false</code> otherwise.
-	 */
-	boolean canUndo(UndoContext context);
-
-	/**
-	 * Dispose of the specified context in the history. All operations that have
-	 * only the given context will be disposed. References to the context in
-	 * operations that have more than one context will also be removed.
-	 * 
-	 * @param context -
-	 *            the context to be disposed, or null if all contexts are to be
-	 *            disposed
-	 * @param flushUndo -
-	 *            <code>true</code> if the context should be flushed from the
-	 *            undo history, <code>false</code> if it should not
-	 * @param flushRedo -
-	 *            <code>true</code> if the context should be flushed from the
-	 *            redo history, <code>false</code> if it should not.
-	 * 
-	 */
-	void dispose(UndoContext context, boolean flushUndo, boolean flushRedo);
-
-	/**
-	 * Execute the specified operation and add it to the operations history if
-	 * successful. This method is used by clients who wish operation history
-	 * listeners to receive notifications before and after the execution of the
-	 * operation. Listeners will be notified before (
-	 * <code>aboutToExecute</code>) and after (<code>done</code> or
-	 * <code>operationNotOK</code>).
-	 * 
-	 * If the operation successfully executes, an additional notification that
-	 * the operation has been added to the history (<code>operationAdded</code>)
-	 * will be sent.
-	 * 
-	 * @param operation
-	 *            the operation to be executed and then added to the history
-	 * 
-	 * @param monitor
-	 *            the progress monitor to be used (or <code>null</code>)
-	 *            during the operation.
-	 * 
-	 * @return the IStatus indicating whether the execution succeeded.
-	 * 
-	 * The severity code in the returned status describes whether the operation
-	 * succeeded and whether it was added to the history. <code>OK</code>
-	 * severity indicates that the execute operation was successful and that the
-	 * operation has been added to the history. Listeners will receive the
-	 * <code>done</code> notification.
-	 * 
-	 * <code>CANCEL</code> severity indicates that the user cancelled the
-	 * operation and that the operation was not added to the history.
-	 * <code>ERROR</code> severity indicates that the operation did not
-	 * successfully execute and that it was not added to the history. Any other
-	 * severity code is not specifically interpreted by the history, and the
-	 * operation will not be added to the history. For all severities other than
-	 * <code>OK</code>, listeners will receive the
-	 * <code>operationNotOK</code> notification instead of the
-	 * <code>done</code> notification.
-	 * 
-	 */
-	IStatus execute(IUndoableOperation operation, IProgressMonitor monitor);
-
-	/**
-	 * Return the limit on the undo and redo history for a particular context.
-	 * 
-	 * @param context -
-	 *            the context whose limit is requested
-	 * 
-	 * @return limit - the undo and redo history limit for the specified
-	 *         context.
-	 */
-	int getLimit(UndoContext context);
-
-	/**
-	 * Get the array of operations in the redo history for a given context. The
-	 * operations are in the order that they would be redone if successive
-	 * "Redo" commands were invoked.
-	 * 
-	 * @param context -
-	 *            the context for the redo, or null if the entire history is
-	 *            requested
-	 * @return the array of operations in the history
-	 */
-	IUndoableOperation[] getRedoHistory(UndoContext context);
-
-	/**
-	 * Get the operation that will next be redone in the given context. This
-	 * method is used to retrieve the label or description as needed for the
-	 * "Redo" menu.
-	 * 
-	 * @param context -
-	 *            the context for the redo, or null if the context does not
-	 *            matter
-	 * @return the operation to be redone or <code>null</code> if there is no
-	 *         operation available. There is no guarantee that the returned
-	 *         operation is valid for redo.
-	 */
-	IUndoableOperation getRedoOperation(UndoContext context);
-
-	/**
-	 * Get the array of operations that can be undone in the specified context.
-	 * The operations are in the order that they would be undone if successive
-	 * "Undo" commands were invoked.
-	 * 
-	 * @param context -
-	 *            the context for the undo, or null if the entire history is
-	 *            requested
-	 * @return the array of operations in the history
-	 */
-	IUndoableOperation[] getUndoHistory(UndoContext context);
-
-	/**
-	 * <p>
-	 * Open this operation and consider it the primary operation in a batch of
-	 * related operations.  Consider all operations that are subsequently executed
-	 * (or added) to be part of this operation. When an operation is opened, 
-	 * listeners will immediately receive an <code>aboutToExecute</code>) notification 
-	 * for this operation.  Notifications for execution or adding subsequent operations 
-	 * will not be sent as long as this operation is open.
-	 * 
-	 * <p>
-	 * Note: This method is intended to be used by legacy undo frameworks that do not
-	 * expect related undo operations to appear in the same undo stack as the 
-	 * triggering undo operation.  When an operation is open, any subsequent
-	 * operations added or executed are assumed to be triggered by model change events
-	 * caused by the originating operation.   Therefore, they will not be considered as
-	 * independent operations.  Instead, they will be added to the open operation.
-	 * Once the operation is closed, requests to undo or redo it will result in only
-	 * the originating (primary) operation being undone or redone.  The assumption
-	 * is that the undos corresponding to the batched operations will be triggered 
-	 * by model change notifications similar  to those that triggered the original 
-	 * operations.  
-	 * 
-	 * <p>
-	 * When an operation is open, operations that are added to the history
-	 * will be considered part of the open operation instead. Operations that are 
-	 * executed while an operation is open will first be executed and then added 
-	 * to the open operation.
-	 * 
-	 * <p>
-	 * Open operations cannot be nested. If this method is called when
-	 * another operation is open, that operation will be closed first.
-	 * 
-	 * @param operation -
-	 *            the operation to be considered as the primary operation for
-	 *            all subsequent operations.
-	 * 
-	 * <p>
-	 * EXPERIMENTAL - this protocol is experimental and may change signficantly
-	 * or be removed before the final release.
-	 */
-	void openOperation(IUndoableOperation operation);
-
-	/**
-	 * Get the operation that will next be undone in the given context. This
-	 * method is used to retrieve the label or description as needed for the
-	 * "Undo" menu.
-	 * 
-	 * @param context -
-	 *            the context for the undo, or null if the context does not
-	 *            matter
-	 * @return the operation to be undone or <code>null</code> if there is no
-	 *         operation available. There is no guarantee that the available
-	 *         operation is valid for the undo.
-	 */
-	IUndoableOperation getUndoOperation(UndoContext context);
-
-	/**
-	 * Redo the most recently undone operation in the given context
-	 * 
-	 * @param context -
-	 *            the context to be redone, or null if the context does not
-	 *            matter
-	 * @param monitor -
-	 *            the progress monitor to be used for the redo, or null if no
-	 *            progress monitor is provided.
-	 * 
-	 * @return the IStatus indicating whether the redo succeeded.
-	 * 
-	 * The severity code in the returned status describes whether the operation
-	 * succeeded and whether it remains in the history. <code>OK</code>
-	 * severity indicates that the redo operation was successful and that the
-	 * operation has been placed on the undo history. Listeners will receive the
-	 * <code>redone</code> notification.
-	 * 
-	 * <code>CANCEL</code> severity indicates that the user cancelled the
-	 * operation and that the operation remains in the redo history.
-	 * <code>ERROR</code> severity indicates that the operation could not
-	 * successfully be redone and that it has been removed from the history.
-	 * Listeners will also be notified that the operation was removed. Any other
-	 * severity code is not specifically interpreted by the history, and is
-	 * simply passed back to the caller. For all severities other than
-	 * <code>OK</code>, listeners will receive the
-	 * <code>operationNotOK</code> notification instead of the
-	 * <code>redone</code> notification.
-	 * 
-	 */
-	IStatus redo(UndoContext context, IProgressMonitor monitor);
-
-	/**
-	 * Redo the specified operation
-	 * 
-	 * @param operation -
-	 *            the operation to be redone
-	 * @param monitor -
-	 *            the progress monitor to be used for the redo, or null if no
-	 *            progress monitor is provided
-	 * @return the IStatus indicating whether the redo succeeded.
-	 * 
-	 * The severity code in the returned status describes whether the operation
-	 * succeeded and whether it remains in the history. <code>OK</code>
-	 * severity indicates that the redo operation was successful and that the
-	 * operation has been placed on the undo history. Listeners will receive the
-	 * <code>redone</code> notification.
-	 * 
-	 * <code>CANCEL</code> severity indicates that the user cancelled the
-	 * operation and that the operation remains in the redo history.
-	 * <code>ERROR</code> severity indicates that the operation could not
-	 * successfully be redone. The operation will remain at its current location
-	 * in the history, and callers must explicitly remove it if desired. Any
-	 * other severity code is not interpreted by the history, and is simply
-	 * passed back to the caller. For all severities other than <code>OK</code>,
-	 * listeners will receive the <code>operationNotOK</code> notification
-	 * instead of the <code>redone</code> notification.
-	 */
-	IStatus redoOperation(IUndoableOperation operation, IProgressMonitor monitor);
-
-	/**
-	 * Remove the specified operation from the history. Listeners will be
-	 * notified of the removal of the operation. This method is used by clients
-	 * who want to flush a particular subset of the history.
-	 * 
-	 * @param operation -
-	 *            the operation to be removed from the history
-	 */
-	void remove(IUndoableOperation operation);
-
-	/**
-	 * Remove the specified operation approver from the operation history.
-	 * 
-	 * @param approver -
-	 *            the IOperationApprover to be removed
-	 */
-	void removeOperationApprover(IOperationApprover approver);
-
-	/**
-	 * Remove the specified listener from the operation history.
-	 * 
-	 * @param listener -
-	 *            The IOperationHistoryListener to be removed
-	 */
-	void removeOperationHistoryListener(IOperationHistoryListener listener);
-
-	/**
-	 * Set the limit on the undo and redo history for a particular context.
-	 * 
-	 * @param context -
-	 *            the context whose limit is being set
-	 * 
-	 * @param limit -
-	 *            the maximum number of operations that should be kept in the
-	 *            undo or redo history for the specified context.
-	 */
-	void setLimit(UndoContext context, int limit);
-
-	/**
-	 * Undo the most recently undone operation in the given context
-	 * 
-	 * @param context -
-	 *            the context to be undone, or null if the context does not
-	 *            matter
-	 * @param monitor -
-	 *            the progress monitor to be used for the undo, or null if no
-	 *            progress monitor is provided.
-	 * 
-	 * @return the IStatus indicating whether the undo succeeded.
-	 * 
-	 * The severity code in the returned status describes whether the operation
-	 * succeeded and whether it remains in the history. <code>OK</code>
-	 * severity indicates that the undo operation was successful and that the
-	 * operation has been placed on the redo history. Listeners will receive the
-	 * <code>undone</code> notification.
-	 * 
-	 * <code>CANCEL</code> severity indicates that the user cancelled the
-	 * operation and that the operation remains in the undo history.
-	 * <code>ERROR</code> severity indicates that the operation could not
-	 * successfully be undone and that it has been removed from the history.
-	 * Listeners will be notified that the operation was removed. Any other
-	 * severity code is not interpreted by the history, and is simply passed
-	 * back to the caller. For all severities other than <code>OK</code>,
-	 * listeners will receive the <code>operationNotOK</code> notification
-	 * instead of the <code>undone</code> notification.
-	 */
-
-	IStatus undo(UndoContext context, IProgressMonitor monitor);
-
-	/**
-	 * Undo the specified operation
-	 * 
-	 * @param operation -
-	 *            the operation to be undone
-	 * @param monitor -
-	 *            the progress monitor to be used for the undo, or null if no
-	 *            progress monitor is provided
-	 * @return the IStatus indicating whether the undo succeeded.
-	 * 
-	 * The severity code in the returned status describes whether the operation
-	 * succeeded and whether it remains in the history. <code>OK</code>
-	 * severity indicates that the undo operation was successful and that the
-	 * operation has been placed on the redo history. Listeners will receive the
-	 * <code>undone</code> notification.
-	 * 
-	 * <code>CANCEL</code> severity indicates that the user cancelled the
-	 * operation and that the operation remains in the undo history.
-	 * <code>ERROR</code> severity indicates that the operation could not
-	 * successfully be undone. The operation will remain at its current location
-	 * in the history, and callers must explicitly remove it if desired. Any
-	 * other severity code is not interpreted by the history, and is simply
-	 * passed back to the caller. For all severities other than <code>OK</code>,
-	 * listeners will receive the <code>operationNotOK</code> notification
-	 * instead of the <code>undone</code> notification.
-	 */
-	IStatus undoOperation(IUndoableOperation operation, IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistoryListener.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistoryListener.java
deleted file mode 100644
index 7566222..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IOperationHistoryListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-/**
- * <p>
- * This interface is used to listen to notifications from an IOperationHistory.
- * The supplied OperationHistoryEvent describes the particular notification.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public interface IOperationHistoryListener {
-	/**
-	 * Something of note has happened in the IOperationHistory. Listeners should
-	 * check the supplied event for details.
-	 * 
-	 * @param event -
-	 *            the OperationHistoryEvent that describes the particular
-	 *            notification.
-	 */
-	void historyNotification(OperationHistoryEvent event);
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IUndoableOperation.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IUndoableOperation.java
deleted file mode 100644
index 10efd5d..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/IUndoableOperation.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * IUndoableOperation defines an operation that can be executed, undone, and redone.
- * Operations typically have fully defined parameters. That is, they are usually
- * created after the user has been queried for any input needed to define the
- * operation.
- * </p>
- * <p>
- * Operations determine their ability to execute, undo, or redo according to the
- * current state of the application. They do not make decisions about their
- * validity based on where they occur in the operation history. That is left to
- * the particular operation history.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public interface IUndoableOperation {
-
-	/**
-	 * Add the specified context to the operation. If the context is already
-	 * present, do not add it again.
-	 * 
-	 * @param context -
-	 *            the context to be added
-	 */
-	void addContext(UndoContext context);
-
-	/**
-	 * <p>
-	 * Returns whether the operation can be executed in its current state.
-	 * 
-	 * <p>
-	 * Note:  This method may be used to enable UI commands, so the 
-	 * computation must be fast.  If necessary, this method can be optimistic 
-	 * in its computation and return an error status during actual execution
-	 * if it is determined later that the operation cannot actually execute.
-	 * 
-	 * @return <code>true</code> if the operation can be executed;
-	 *         <code>false</code> otherwise.
-	 */
-	boolean canExecute();
-
-	/**
-	 * <p>
-	 * Returns whether the operation can be redone in its current state.
-	 * 
-	 * <p>
-	 * Note:  This method may be used to enable UI commands, so the 
-	 * computation must be fast.  If necessary, this method can be optimistic 
-	 * in its computation and return an error status during the actual redo
-	 * if it is determined later that the operation cannot actually redo.
-
-	 * @return <code>true</code> if the operation can be redone;
-	 *         <code>false</code> otherwise.
-	 */
-	boolean canRedo();
-
-	/**
-	 * <p>
-	 * Returns whether the operation can be undone in its current state.
-	 * 
-	 * <p>
-	 * Note:  This method may be used to enable UI commands, so the 
-	 * computation must be fast.  If necessary, this method can be optimistic 
-	 * in its computation and return an error status during the actual undo
-	 * if it is determined later that the operation cannot actually undo.
-
-	 * @return <code>true</code> if the operation can be undone;
-	 *         <code>false</code> otherwise.
-	 */
-	boolean canUndo();
-
-	/**
-	 * Dispose of the operation. This method is used when the operation is no
-	 * longer kept in the history. Implementers of this method typically
-	 * unregister any listeners.
-	 * 
-	 */
-	void dispose();
-
-	/**
-	 * Execute the operation. This method should only be called the first time
-	 * that an operation is executed.
-	 * 
-	 * @param monitor
-	 * @return the IStatus of the execution. The status severity should be set
-	 *         to <code>OK</code> if the operation was successful, and
-	 *         <code>ERROR</code> if it was not. Any other status is assumed
-	 *         to represent an incompletion of the execution.
-	 */
-	IStatus execute(IProgressMonitor monitor);
-
-	/**
-	 * Returns the array of contexts that have been assigned to the operation.
-	 * 
-	 * @return the array of contexts
-	 */
-	UndoContext[] getContexts();
-
-	/**
-	 * Return the description that should be used to further describe this
-	 * operation to the user. The description is used in history lists when the
-	 * user requests more information about an operation.
-	 * 
-	 * @return the description
-	 */
-	String getDescription();
-
-	/**
-	 * Return the label that should be used to show the name of the operation to
-	 * the user. This label is typically appended to the "Undo" or "Redo" menu
-	 * entry.
-	 * 
-	 * @return the label
-	 */
-	String getLabel();
-
-	/**
-	 * Returns whether the operation has the specified context.
-	 * 
-	 * @param context -
-	 *            the context in question
-	 * @return <code>true</code> if the context is present, <code>false</code>
-	 *         if it is not.
-	 */
-	boolean hasContext(UndoContext context);
-	
-	/**
-	 * Redo the operation. This method should only be called after an operation
-	 * has been undone.
-	 * 
-	 * @param monitor
-	 * @return the IStatus of the redo. The status severity should be set to
-	 *         <code>OK</code> if the redo was successful, and
-	 *         <code>ERROR</code> if it was not. Any other status is assumed
-	 *         to represent an incompletion of the redo.
-	 */
-	
-	IStatus redo(IProgressMonitor monitor);
-
-	/**
-	 * Remove the specified context from the operation. This method has no
-	 * effect if the context is not present.
-	 * 
-	 * @param context -
-	 *            the context to be removed
-	 */
-	void removeContext(UndoContext context);
-
-	/**
-	 * Undo the operation. This method should only be called after an operation
-	 * has been executed.
-	 * 
-	 * @param monitor
-	 * @return the IStatus of the undo. The status severity should be set to
-	 *         <code>OK</code> if the redo was successful, and
-	 *         <code>ERROR</code> if it was not. Any other status is assumed
-	 *         to represent an incompletion of the undo.
-	 */
-	IStatus undo(IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoEnforcer.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoEnforcer.java
deleted file mode 100644
index 06c53aa..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoEnforcer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * <p>
- * An operation approver that enforces a strict linear undo. It does not allow
- * the undo or redo of any operation that is not the latest available operation
- * in all of its contexts.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public class LinearUndoEnforcer extends LinearUndoViolationDetector {
-
-	protected IStatus allowLinearRedoViolation(IUndoableOperation operation,
-			UndoContext context, IOperationHistory history) {
-		return Status.CANCEL_STATUS;
-	}
-
-	protected IStatus allowLinearUndoViolation(IUndoableOperation operation,
-			UndoContext context, IOperationHistory history) {
-		return Status.CANCEL_STATUS;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoViolationDetector.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoViolationDetector.java
deleted file mode 100644
index 2aba15c..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/LinearUndoViolationDetector.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * <p>
- * An abstract class for detecting violations in a strict linear undo/redo
- * model. Once a violation is detected, subclasses implement the specific
- * behavior for allowing whether or not the undo/redo should proceed.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public abstract class LinearUndoViolationDetector implements
-		IContextOperationApprover {
-
-	protected abstract IStatus allowLinearRedoViolation(IUndoableOperation operation,
-			UndoContext context, IOperationHistory history);
-
-	protected abstract IStatus allowLinearUndoViolation(IUndoableOperation operation,
-			UndoContext context, IOperationHistory history);
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.operations.IOperationApprover#proceedRedoing(org.eclipse.core.operations.IOperation,
-	 *      org.eclipse.core.operations.IOperationHistory)
-	 */
-	public IStatus proceedRedoing(IUndoableOperation operation,
-			UndoContext context, IOperationHistory history) {
-		if (history.getRedoOperation(context) != operation)
-			return allowLinearRedoViolation(operation, context, history);
-
-		return Status.OK_STATUS;
-	}
-
-	public IStatus proceedUndoing(IUndoableOperation operation,
-			UndoContext context, IOperationHistory history) {
-		if (history.getUndoOperation(context) != operation)
-			return allowLinearUndoViolation(operation, context, history);
-
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ObjectUndoContext.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ObjectUndoContext.java
deleted file mode 100644
index 7c02e11..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/ObjectUndoContext.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-/**
- * <p>
- * An operation context that can be used to represent any given object. The
- * operation contexts are equal if they both represent the same object.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public class ObjectUndoContext extends UndoContext {
-
-	private IContextOperationApprover fApprover = null;
-
-	private Object fObject;
-
-	/**
-	 * Construct an operation context that represents the given object.
-	 * 
-	 * @param object -
-	 *            the object to be represented.
-	 */
-	public ObjectUndoContext(Object object) {
-		super();
-		fObject = object;
-	}
-
-	public String getLabel() {
-		return fObject.toString();
-	}
-
-	/**
-	 * Return the object that is represented by this context.
-	 * 
-	 * @return - the object represented by this context.
-	 */
-	public Object getObject() {
-		return fObject;
-	}
-
-	public IContextOperationApprover getOperationApprover() {
-		return fApprover;
-	}
-
-	/**
-	 * Set the IContextOperationApprover that approves the undo or redo of
-	 * operations that have this context.
-	 * 
-	 * @param approver -
-	 *            the operation approver to be used for this context
-	 */
-	public void setOperationApprover(IContextOperationApprover approver) {
-		fApprover = approver;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryEvent.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryEvent.java
deleted file mode 100644
index 77ec3ca..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryEvent.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-/**
- * <p>
- * OperationHistoryEvent is used to communicate changes to a DefaultOperationHistory,
- * including operations added and removed from the history, and the execution,
- * undo, and redo of operations.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public final class OperationHistoryEvent {
-
-	/**
-	 * ABOUT_TO_EXECUTE indicates that an operation is about to execute.
-	 * Listeners should prepare for the execution as appropriate. Listeners will
-	 * receive a done notification if the operation is successful, or an
-	 * operationNotCompleted notification if the execution is cancelled or
-	 * otherwise fails. This notification is only received for those operations
-	 * executed by the operation history. Operations that are added to the
-	 * history after execution do not trigger these notifications.
-	 * 
-	 * If the operation successfully executes, clients will also receive a
-	 * notification that it has been added to the history.
-	 */
-
-	public static final int ABOUT_TO_EXECUTE = 0x0004;
-
-	/**
-	 * ABOUT_TO_REDO indicates that an operation is about to be redone.
-	 * Listeners should prepare for the redo as appropriate. Listeners will
-	 * receive a redone notification if the operation is successful, or an
-	 * operationNotCompleted notification if the redo is cancelled or otherwise
-	 * fails.
-	 */
-	public static final int ABOUT_TO_REDO = 0x0010;
-
-	/**
-	 * ABOUT_TO_UNDO indicates that an operation is about to be undone.
-	 * Listeners should prepare for the undo as appropriate. Listeners will
-	 * receive an undone notification if the operation is successful, or an
-	 * operationNotCompleted notification if the undo is cancelled or otherwise
-	 * fails.
-	 */
-	public static final int ABOUT_TO_UNDO = 0x0008;
-
-	/**
-	 * DONE indicates that operation has been executed. Listeners can take
-	 * appropriate action, such as revealing any relevant state in the UI. This
-	 * notification is only received for those operations executed by the
-	 * operation history. Operations that are added to the history after
-	 * execution do not trigger this notification.
-	 * 
-	 * Clients will also receive a notification that the operation has been
-	 * added to the history.
-	 */
-	public static final int DONE = 0x0020;
-
-	// constants are bit masked in case there are overlapping events in the
-	// future
-
-	/**
-	 * OPERATION_ADDED indicates an operation was added to the history.
-	 * Listeners typically use this to add their context to a new operation as
-	 * appropriate or otherwise record the operation.
-	 */
-	public static final int OPERATION_ADDED = 0x0001;
-
-	/**
-	 * OPERATION_NOT_OK indicates that an operation was attempted and not
-	 * successful. Listeners typically use this when they have prepared for an
-	 * execute, undo, or redo, and need to know that the operation did not
-	 * successfully complete. For example, listeners that turn redraw off before
-	 * an operation is undone would turn redraw on when the operation completes,
-	 * or when this notification is received, since there will be no
-	 * notification of the completion.
-	 */
-	public static final int OPERATION_NOT_OK = 0x0100;
-
-	/**
-	 * OPERATION_REMOVED indicates an operation was removed from the history.
-	 * Listeners typically remove any record of the operation that they may have
-	 * kept in their own state.
-	 */
-	public static final int OPERATION_REMOVED = 0x0002;
-
-	/**
-	 * REDONE indicates that an operation was redone. Listeners can take
-	 * appropriate action, such as revealing any relevant state in the UI.
-	 */
-	public static final int REDONE = 0x0080;
-
-	/**
-	 * UNDONE indicates that an operation was undone. Listeners can take
-	 * appropriate action, such as revealing any relevant state in the UI.
-	 */
-	public static final int UNDONE = 0x0040;
-
-	private int code = 0;
-
-	private IOperationHistory history;
-
-	private IUndoableOperation operation;
-
-	/**
-	 * Construct an event for the specified operation history.
-	 * 
-	 * @param code -
-	 *            the event code to be used.
-	 * @param history -
-	 *            the history triggering the event.
-	 * @param operation -
-	 *            the operation involved in the event.
-	 */
-	public OperationHistoryEvent(int code, IOperationHistory history,
-			IUndoableOperation operation) {
-		if (history == null)
-			throw new NullPointerException();
-		if (operation == null)
-			throw new NullPointerException();
-		this.code = code;
-		this.history = history;
-		this.operation = operation;
-	}
-
-	/**
-	 * Return the type of event that is occurring.
-	 * 
-	 * @return the type code indicating the type of event.
-	 */
-	public int getEventType() {
-		return code;
-	}
-
-	/**
-	 * Return the operation history that triggered this event.
-	 * 
-	 * @return the operation history
-	 */
-
-	public IOperationHistory getHistory() {
-		return history;
-	}
-
-	/**
-	 * Return the operation associated with this event.
-	 * 
-	 * @return the operation
-	 */
-
-	public IUndoableOperation getOperation() {
-		return operation;
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryFactory.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryFactory.java
deleted file mode 100644
index 9ff8cb4..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationHistoryFactory.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.commands.operations;
-
-/**
- * <p>
- * This class is used to maintain the instance of the operation history that
- * should be used by classes that create UndoableOperations. 
- * 
- * <p>
- * It is intended that an application can create an operation history appropriate
- * for its needs and set it into this class.  Otherwise, a default operation history
- * will be created.  The operation history may only be set one time.  All classes that 
- * access an operations history use this class to obtain the correct instance.  
- * 
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
-
- * @since 3.1
- */
-public final class OperationHistoryFactory {
-
-	private static IOperationHistory fOperationHistory;
-
-	/**
-	 * Return the operation history to be used for managing undoable operations.
-	 * 
-	 * @return the operation history to be used for executing, undoing, and
-	 *         redoing operations.
-	 */
-	public static IOperationHistory getOperationHistory() {
-		if (fOperationHistory == null) {
-			fOperationHistory = new DefaultOperationHistory();
-		}
-		return fOperationHistory;
-	}
-
-	/**
-	 * Set the operation history to be used for managing undoable operations.
-	 * This method may only be called one time, and must be called before any 
-	 * request to get the history.  Attempts to set the operation history will
-	 * be ignored after it has been already set, or after a default one has 
-	 * been created.
-	 * 
-	 * @param history -
-	 *            the operation history to be used for executing, undoing, and
-	 *            redoing operations.
-	 */
-	public static void setOperationHistory(IOperationHistory history) {
-		// If one has already been set or created, ignore this request.
-		if (fOperationHistory == null) {
-			fOperationHistory = history;
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationStatus.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationStatus.java
deleted file mode 100644
index ffdb4ec..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/OperationStatus.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * <p>
- * OperationStatus describes the status of a request to execute, undo, or redo
- * an operation.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public class OperationStatus extends Status {
-	/**
-	 * NOTHING_TO_REDO indicates there was no operation available for redo.
-	 */
-	public static final int NOTHING_TO_REDO = 12;
-
-	/**
-	 * NOTHING_TO_UNDO indicates there was no operation available for undo.
-	 */
-	public static final int NOTHING_TO_UNDO = 11;
-
-	/**
-	 * OPERATION_INVALID indicates that the operation available for undo or redo
-	 * is not in a state to perform the undo or redo.
-	 */
-	public static final int OPERATION_INVALID = 10;
-
-	/**
-	 * PLUGIN_ID identifies the plugin reporting the status.
-	 */
-	public static String PLUGIN_ID = "org.eclipse.core.commands"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new operation status, assigning the severity.
-	 * 
-	 * @param severity
-	 *            the severity for the status
-	 * @param code
-	 *            the informational code for the status
-	 * @param message
-	 *            a human-readable message, localized to the current locale
-	 */
-	public OperationStatus(int severity, int code, String message) {
-		super(severity, PLUGIN_ID, code, message, null);
-	}
-
-	/**
-	 * Creates a new operation status for errors.
-	 * 
-	 * @param code
-	 *            the error code for the status
-	 * @param message
-	 *            a human-readable message, localized to the current locale
-	 * @param exception
-	 *            a low-level exception, or <code>null</code> if not
-	 *            applicable
-	 */
-	public OperationStatus(int code, String message, Throwable exception) {
-		super(IStatus.ERROR, PLUGIN_ID, code, message, exception);
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/UndoContext.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/UndoContext.java
deleted file mode 100644
index 0272c7e..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/UndoContext.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies 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.commands.operations;
-
-import org.eclipse.core.internal.commands.util.Assert;
-
-/**
- * <p>
- * A simple, lightweight operation context that can be used to tag any
- * operation. It does not provided a specialized label or operation approval
- * sequence.
- * </p>
- * <p>
- * Note: This class/interface is part of a new API under development. It has
- * been added to builds so that clients can start using the new features.
- * However, it may change significantly before reaching stability. It is being
- * made available at this early stage to solicit feedback with the understanding
- * that any code that uses this API may be broken as the API evolves.
- * </p>
- * 
- * @since 3.1
- * @experimental
- */
-public class UndoContext {
-
-	/**
-	 * Return a boolean that indicates whether this context should be assigned
-	 * to the specified operation. When an operations client decides to assign a
-	 * context to an operation, it consults the context itself to help determine
-	 * whether the assignment is appropriate for the particular operation. This
-	 * method should be overridden by contexts that have complex rules for
-	 * whether they should be assigned to a particular operation.
-	 * 
-	 * @param operation -
-	 *            the operation to be checked
-	 * 
-	 * @return a boolean indicating whether this context should be assigned to
-	 *         the operation.
-	 */
-	public boolean acceptOperation(IUndoableOperation operation) {
-		Assert.isNotNull(operation);
-		
-		// Always accept any operation
-		return true;
-	}
-
-	/**
-	 * Get the label that should be used to describe the context in any views.
-	 * Contexts may be shown when filtered operation histories are shown to the
-	 * user.
-	 * 
-	 * @return the label for the context.
-	 */
-	public String getLabel() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Get the operation approver that is used to approve undo or redo
-	 * operations involving this context.
-	 * 
-	 * @return the operation approver for the context. A <code>null</code>
-	 *         return value indicates that no special approval is necessary.
-	 */
-	public IContextOperationApprover getOperationApprover() {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/package.html b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/package.html
deleted file mode 100644
index 870dfc4..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/package.html
+++ /dev/null
@@ -1,26 +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.5 [en] (WinNT; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Classes for the creation of operations which can be added to an operations
-history to be undone and redone.
-<h2>
-Package Specification</h2>
-An <b>undoable operation</b> is unit of work that can be executed, undone, and redone.
-It can be added to an <b>operation history</b> so that clients can provide
-undo and redo support for the history.  Operations may be assigned one or more
-<b>undo contexts</b> which can be used to filter the available operations
-in a history.  Clients may choose to provide undo and redo access to all operations
-in a history or only a certain context in that history.  In this way, support for
-global undo or a localized/filtered undo can be provided.  Operation histories may
-be configured with an <b>operation approver</b> so that applications can enforce
-any desired undo model, such as strict linear (LIFO) undo.  This package provides
-the definition and a basic implementation for operations, contexts, histories, and
-approvers.
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/package.html b/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/package.html
deleted file mode 100644
index 4863073..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/package.html
+++ /dev/null
@@ -1,167 +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>Package-level Javadoc</title>

-<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"

-	type="text/css">

-</head>

-<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0)">

-Application programming interfaces for commands and handlers. 

-<h2>Package Specification</h2>

-<p>

-This package provides API and implementation classes to define abstract

-pieces of functionality.  These pieces of functionality are intended to

-provide a common way for plug-ins and the user interface to communicate

-potential behaviour.

-</p>

-<p>

-This package is designed so that its elements can be public and dynamic.  That

-is, elements in this package can appear and disappear over the life of the

-application.

-</p>

-<h3>Command</h3>

-<p>

-A command is an abstract representation for some semantic behaviour.  For

-example, there might be a "copy" command.  How this command actually

-behaves might be dependent on what state your application is in.  It is not

-the actual implementation of that behaviour, and it is not the visual

-representation of that behaviour.

-</p>

-<p>

-Commands are managed by an instance of <code>CommandManager</code>.  In fact, a

-command cannot be constructed directly.  Commands are constructed using the

-method <code>CommandManager.getCommand(String)</code>.  This ensures that there

-is only ever one command with a given identifier ever associated with a command.  

-manager.

-</p>

-<p>

-When a command is first constructed, it is undefined.  An undefined command is

-one that is carrying no information except for an id.  Attempts to interact

-with a command that is undefined will result in a 

-<code>NotDefinedException</code>.  Through this mechanism, it is possible for

-clients to hold references to commands, and still have those commands

-"disappear" (i.e., become undefined).  This is particularly useful in a system

-built around dynamic components (e.g., plug-ins).

-<p>

-Commands can be grouped into categories.  These categories are arbitrary

-groupings, and have no defined behaviour.  These categories might be used in a

-user interface for breaking up a large list of commands into semantically

-similar commands -- making the list easier to navigate.

-</p>

-<p>

-It is also possible to attach listeners to both commands and command managers.

-A listener on a command manager will be notified if the list of defined

-commands or categories changes.

-</p>

-<h4>Examples</h4>

-<blockquote><pre><code>

-	CommandManager manager = new CommandManager();

-	Category category = manager.getCategory("categoryId");

-	category.define("name", "description");

-	Command command = manager.getCommand("commandId");

-	command.define("name", "description", category);

-</code></pre></blockquote>

-<p>This example shows how to create a command from scratch -- with no existing

-manager or categories.</p>

-<blockquote><pre><code>

-	command.undefine();

-	command = null;

-	category.undefine();

-	category = null;

-</code></pre></blockquote>

-<p>If you wish to get rid of the command, then you simply undefine it.  This

-will send notification to the appropriate listeners, and future attempts to

-access it will fail.  If you are the only one holding on to the command, then

-it will be garbage collected.  However, if other people still have a reference

-to the command, then the stub will remain until they respond to the change.</p>

-<blockquote><pre><code>

-	String name;

-	try {

-		name = command.getName();

-	} catch (NotDefinedException e) {

-		// Clean-up my reference to the command.

-		command = null;

-		return;

-	}

-</code></pre></blockquote>

-<p>This shows one way of dealing with commands.  Instead of listening for

-changes to the command, you can simply listen for the exceptions to be thrown.

-When a <code>NotDefinedException</code> is thrown, you can clean up your own

-code.  How you clean up is application dependent.  In this case, the reference

-is cleared and we return from the method.</p>

-<blockquote><pre><code>

-	try {

-		String name = command.getName();

-		

-		// Do all your work in the block.

-		

-	} catch (NotDefinedException e) {

-		// Ignore, or possibly throw an error

-	}

-	

-	...

-	

-	public commandChanged(CommandEvent e) {

-		if (e.hasDefinedChanged()) {

-			command.removeListener(this);

-			command = null;

-		}

-	}

-</code></pre></blockquote>

-<p>Another way is to attach a listener, and then simply ignore the exceptions.

-When the command becomes undefined, you will be notified.  This gives your the

-opportunity to unhook your listener and release your reference.</p>

-

-<h3>Handler</h3>

-<p>

-A handler is the behaviour of a command at a particular point in time.  This is

-the piece that will actually interact with your application model.  For every

-command, there can be zero or more possible handlers.  However, at any one

-time, there is either one handler (i.e., handled) or no handler (i.e.,

-unhandled).

-</p>

-<p>

-Handlers must implement <code>IHandler</code>.  However, there is a convenient

-abstract class, <code>AbstractHandler</code> which provides default behaviour

-for some of the methods in the interface.  It is recommended that developers

-subclass <code>AbstractHandler</code>.

-</p>

-<p>

-Beside functional behaviour, a handler carries with it a map of attribute

-values.  This is a completely optionaly way of carrying extra data.  In the

-case of the <code>AbstractHandler</code>, this map is empty.  Some attributes

-have well defined meanings.  These attributes are defined in

-<code>IHandlerAttributes</code>.

-</p>

-<p>

-Like commands, handlers can have listeners attached to them.  Listeners will be

-notified when the attributes of the handler change.

-</p>

-<p>

-When a handler executes, it is passed an event object

-(<code>ExecutionEvent</code>) that carries with it some pieces of information.

-First of all, it contains the parameters for execution.  Parameters are simple

-key-value pairs that are intended to modify the execution in some way.  The

-event also carries with it a collection of contexts that were active at the

-time of execution.  The event also carries two untyped objects: the triggering

-event and the current application state.  In the case of a graphical tool, the

-triggering event is likely to be the underlying widget toolkit event.  The 

-application state might contain information like widget focus information.  In

-your own application, feel free to use whichever of these event attributes that

-fit your application.

-</p>

-<h4>Examples</h4>

-<blockquote><pre><code>

-	IHandler myHandler = createHandler();

-	command.setHandler(myHandler);

-	

-	ExecutionEvent e = new ExecutionEvent(parameters,contexts,trigger,state);

-	try {

-		command.execute(e);

-	} catch (ExecutionException ex) {

-		// Notify the user, log the problem, etc.

-	}

-</code></pre></blockquote>

-</body>

-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Assert.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Assert.java
deleted file mode 100644
index 0bc5404..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Assert.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.commands.util;
-
-/**
- * Used to sanity check runtime conditions. Assertion failures typically occur
- * when something is being misused, such as calling a method with illegal
- * arguments. Runtime exceptions are thrown. Once an assertion failure occurs,
- * further behavior is unspecified.
- * 
- * @since 3.1
- */
-public final class Assert {
-
-	/**
-	 * 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 IllegalArgumentException("null argument:" + message); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given expression is true. If this is not the case, some
-	 * kind of unchecked exception is thrown.
-	 * 
-	 * @param expression
-	 *            the expression to test
-	 * @return <code>true</code> if the expression is true.
-	 * @exception IllegalArgumentException
-	 *                if the expression is not true
-	 */
-	public static boolean isTrue(boolean expression) {
-		return isTrue(expression, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Asserts that the given expression is true. 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 expression to test
-	 * @param message
-	 *            the message to include in the exception
-	 * @return <code>true</code> if the expression is true.
-	 * 
-	 * @exception IllegalArgumentException
-	 *                if the expression is not true
-	 */
-	public static boolean isTrue(boolean expression, String message) {
-		if (!expression)
-			throw new IllegalArgumentException("assertion failed:" + message); //$NON-NLS-1$
-		return expression;
-	}
-
-	private Assert() {
-		// This class should not be instantiated.
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/BatchingOperation.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/BatchingOperation.java
deleted file mode 100644
index 6a885bf..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/BatchingOperation.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.commands.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.commands.operations.DefaultOperationHistory;
-import org.eclipse.core.commands.operations.IOperationHistory;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.commands.operations.UndoContext;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * A batching operation contains a primary operation and considers any other
- * children as secondary operations that are implied by the primary operation.
- * The label for the operation is assumed to be originating operation's label.
- * </p>
- * 
- * <p>
- * Note:  This class is not intended to be used by clients.  It is part of the implementation
- * of {@link IOperationHistory#openOperation}.
- * 
- * @since 3.1
- * @experimental
- */
-public class BatchingOperation extends AbstractOperation {
-
-	private List fChildren = new ArrayList();
-
-	/**
-	 * Construct a batching operation using the specified operation as the
-	 * primary operation. Use the label of this child as the label of the operation.
-	 * 
-	 * @param operation -
-	 *            the primary operation of the batched operation.
-	 */
-	public BatchingOperation(IUndoableOperation operation) {
-		super(operation.getLabel());
-		add(operation);
-	}
-
-	/**
-	 * Add the specified operation as a child of this composite operation.
-	 * 
-	 * @param operation -
-	 *            the child to be added
-	 */
-	public void add(IUndoableOperation operation) {
-		fChildren.add(operation);
-		UndoContext[] contexts = operation.getContexts();
-		for (int i = 0; i < contexts.length; i++) {
-			addContext(contexts[i]);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus execute(IProgressMonitor monitor) {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) {
-			return DefaultOperationHistory.OPERATION_INVALID_STATUS;
-		}
-		return op.execute(monitor);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus redo(IProgressMonitor monitor) {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) {
-			return DefaultOperationHistory.OPERATION_INVALID_STATUS;
-		}
-		return op.redo(monitor);
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#undo(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus undo(IProgressMonitor monitor) {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) {
-			return DefaultOperationHistory.OPERATION_INVALID_STATUS;
-		}
-		return op.undo(monitor);
-
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#canUndo()
-	 */
-	public boolean canUndo() {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) return false;
-		return op.canUndo();
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#canExecute()
-	 */
-	public boolean canExecute() {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) return false;
-		return op.canExecute();
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#canExecute()
-	 */
-	public boolean canRedo() {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) return false;
-		return op.canRedo();
-	}
-	
-	public void dispose() {
-		for (int i=0; i<fChildren.size(); i++) {
-			((IUndoableOperation)(fChildren.get(i))).dispose();
-		}
-	}
-	
-	public String getDescription() {
-		IUndoableOperation op = getPrimaryOperation();
-		if (op == null) return super.getDescription();
-		return op.getDescription();
-	}
-	
-	/**
-	 * <p>
-	 * Return the primary operation for this batch.
-	 * 
-	 * <p>
-	 * Note:  This method is provided for the operation history.
-	 * 
-	 * @return the operation that triggered this batch of related operations.
-	 */
-	public IUndoableOperation getPrimaryOperation() {
-		// return the primary operation of this batch
-		if (fChildren.size() == 0) return null;
-		return (IUndoableOperation)fChildren.get(0);
-		
-	}
-}
diff --git a/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Util.java b/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Util.java
deleted file mode 100644
index 2d8d3c0..0000000
--- a/bundles/org.eclipse.core.commands/src/org/eclipse/core/internal/commands/util/Util.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.internal.commands.util;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-/**
- * A class providing utility functions for the commands plug-in.
- * 
- * @since 3.1
- */
-public final class Util {
-
-    /**
-     * A shared, unmodifiable, empty, sorted map. This value is guaranteed to
-     * always be the same.
-     */
-    public final static SortedMap EMPTY_SORTED_MAP = Collections
-            .unmodifiableSortedMap(new TreeMap());
-
-    /**
-     * A shared, unmodifiable, empty, sorted set. This value is guaranteed to
-     * always be the same.
-     */
-    public final static SortedSet EMPTY_SORTED_SET = Collections
-            .unmodifiableSortedSet(new TreeSet());
-
-    /**
-     * A shared, zero-length string -- for avoiding non-externalized string
-     * tags. This value is guaranteed to always be the same.
-     */
-    public final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-    /**
-     * Asserts the the given object is an instance of the given class --
-     * optionally allowing the object to be <code>null</code>.
-     * 
-     * @param object
-     *            The object for which the type should be checked.
-     * @param c
-     *            The class that the object must be; fails if the class is
-     *            <code>null</code>.
-     * @param allowNull
-     *            Whether the object being <code>null</code> will not cause a
-     *            failure.
-     */
-    public static final void assertInstance(final Object object, final Class c,
-            final boolean allowNull) {
-        if (object == null && allowNull)
-            return;
-
-        if (object == null || c == null)
-            throw new NullPointerException();
-        else if (!c.isInstance(object))
-            throw new IllegalArgumentException();
-    }
-
-    /**
-     * Compares two boolean values. <code>false</code> is considered to be
-     * less than <code>true</code>.
-     * 
-     * @param left
-     *            The left value to compare.
-     * @param right
-     *            The right value to compare.
-     * @return <code>-1</code> if <code>left</code> is <code>false</code>
-     *         and <code>right</code> is <code>true</code>;<code>0</code>
-     *         if they are equal; <code>1</code> if <code>left</code> is
-     *         <code>true</code> and <code>right</code> is
-     *         <code>false</code>
-     */
-    public static final int compare(final boolean left, final boolean right) {
-        return left == false ? (right == true ? -1 : 0) : (right == true ? 0
-                : 1);
-    }
-
-    /**
-     * Compares two comparable objects, but with protection against
-     * <code>null</code>.
-     * 
-     * @param left
-     *            The left value to compare; may be <code>null</code>.
-     * @param right
-     *            The right value to compare; may be <code>null</code>.
-     * @return <code>-1</code> if <code>left</code> is <code>null</code>
-     *         and <code>right</code> is not <code>null</code>;
-     *         <code>0</code> if they are both <code>null</code>;
-     *         <code>1</code> if <code>left</code> is not <code>null</code>
-     *         and <code>right</code> is <code>null</code>. Otherwise, the
-     *         result of <code>left.compareTo(right)</code>.
-     */
-    public static final int compare(final Comparable left,
-            final Comparable right) {
-        if (left == null && right == null)
-            return 0;
-        else if (left == null)
-            return -1;
-        else if (right == null)
-            return 1;
-        else
-            return left.compareTo(right);
-    }
-
-    /**
-     * Compares two integer values. This method fails if the distance between
-     * <code>left</code> and <code>right</code> is greater than
-     * <code>Integer.MAX_VALUE</code>.
-     * 
-     * @param left
-     *            The left value to compare.
-     * @param right
-     *            The right value to compare.
-     * @return <code>left - right</code>
-     */
-    public static final int compare(final int left, final int right) {
-        return left - right;
-    }
-
-    /**
-     * Compares two objects that are not otherwise comparable. If neither object
-     * is <code>null</code>, then the string representation of each object is
-     * used.
-     * 
-     * @param left
-     *            The left value to compare. The string representation of this
-     *            value must not be <code>null</code>.
-     * @param right
-     *            The right value to compare. The string representation of this
-     *            value must not be <code>null</code>.
-     * @return <code>-1</code> if <code>left</code> is <code>null</code>
-     *         and <code>right</code> is not <code>null</code>;
-     *         <code>0</code> if they are both <code>null</code>;
-     *         <code>1</code> if <code>left</code> is not <code>null</code>
-     *         and <code>right</code> is <code>null</code>. Otherwise, the
-     *         result of
-     *         <code>left.toString().compareTo(right.toString())</code>.
-     */
-    public static final int compare(final Object left, final Object right) {
-        if (left == null && right == null)
-            return 0;
-        else if (left == null)
-            return -1;
-        else if (right == null)
-            return 1;
-        else
-            return left.toString().compareTo(right.toString());
-    }
-
-    /**
-     * Decides whether two booleans are equal.
-     * 
-     * @param left
-     *            The first boolean to compare; may be <code>null</code>.
-     * @param right
-     *            The second boolean to compare; may be <code>null</code>.
-     * @return <code>true</code> if the booleans are equal; <code>false</code>
-     *         otherwise.
-     */
-    public static final boolean equals(final boolean left, final boolean right) {
-        return left == right;
-    }
-
-    /**
-     * Decides whether two objects are equal -- defending against
-     * <code>null</code>.
-     * 
-     * @param left
-     *            The first object to compare; may be <code>null</code>.
-     * @param right
-     *            The second object to compare; may be <code>null</code>.
-     * @return <code>true</code> if the objects are equals; <code>false</code>
-     *         otherwise.
-     */
-    public static final boolean equals(final Object left, final Object right) {
-        return left == null ? right == null : ((right != null) && left
-                .equals(right));
-    }
-
-    /**
-     * Computes the hash code for an integer.
-     * 
-     * @param i
-     *            The integer for which a hash code should be computed.
-     * @return <code>i</code>.
-     */
-    public static final int hashCode(final int i) {
-        return i;
-    }
-
-    /**
-     * Computes the hash code for an object, but with defense against
-     * <code>null</code>.
-     * 
-     * @param object
-     *            The object for which a hash code is needed; may be
-     *            <code>null</code>.
-     * @return The hash code for <code>object</code>; or <code>0</code> if
-     *         <code>object</code> is <code>null</code>.
-     */
-    public static final int hashCode(final Object object) {
-        return object != null ? object.hashCode() : 0;
-    }
-
-    /**
-     * Makes a type-safe copy of the given map. This method should be used when
-     * a map is crossing an API boundary (i.e., from a hostile plug-in into
-     * internal code, or vice versa).
-     * 
-     * @param map
-     *            The map which should be copied; must not be <code>null</code>.
-     * @param keyClass
-     *            The class that all the keys must be; must not be
-     *            <code>null</code>.
-     * @param valueClass
-     *            The class that all the values must be; must not be
-     *            <code>null</code>.
-     * @param allowNullKeys
-     *            Whether <code>null</code> keys should be allowed.
-     * @param allowNullValues
-     *            Whether <code>null</code> values should be allowed.
-     * @return A copy of the map; may be empty, but never <code>null</code>.
-     */
-    public static final Map safeCopy(final Map map, final Class keyClass,
-            final Class valueClass, final boolean allowNullKeys,
-            final boolean allowNullValues) {
-        if (map == null || keyClass == null || valueClass == null)
-            throw new NullPointerException();
-
-        final Map copy = Collections.unmodifiableMap(new HashMap(map));
-        final Iterator iterator = copy.entrySet().iterator();
-
-        while (iterator.hasNext()) {
-            final Map.Entry entry = (Map.Entry) iterator.next();
-            assertInstance(entry.getKey(), keyClass, allowNullKeys);
-            assertInstance(entry.getValue(), valueClass, allowNullValues);
-        }
-
-        return map;
-    }
-
-    /**
-     * Makes a type-safe copy of the given set. This method should be used when
-     * a set is crossing an API boundary (i.e., from a hostile plug-in into
-     * internal code, or vice versa).
-     * 
-     * @param set
-     *            The set which should be copied; must not be <code>null</code>.
-     * @param c
-     *            The class that all the values must be; must not be
-     *            <code>null</code>.
-     * @return A copy of the set; may be empty, but never <code>null</code>.
-     *         None of its element will be <code>null</code>.
-     */
-    public static final Set safeCopy(final Set set, final Class c) {
-        return safeCopy(set, c, false);
-    }
-
-    /**
-     * Makes a type-safe copy of the given set. This method should be used when
-     * a set is crossing an API boundary (i.e., from a hostile plug-in into
-     * internal code, or vice versa).
-     * 
-     * @param set
-     *            The set which should be copied; must not be <code>null</code>.
-     * @param c
-     *            The class that all the values must be; must not be
-     *            <code>null</code>.
-     * @param allowNullElements
-     *            Whether null values should be allowed.
-     * @return A copy of the set; may be empty, but never <code>null</code>.
-     */
-    public static final Set safeCopy(final Set set, final Class c,
-            final boolean allowNullElements) {
-        if (set == null || c == null)
-            throw new NullPointerException();
-
-        final Set copy = Collections.unmodifiableSet(new HashSet(set));
-        final Iterator iterator = copy.iterator();
-
-        while (iterator.hasNext())
-            assertInstance(iterator.next(), c, allowNullElements);
-
-        return set;
-    }
-
-    /**
-     * The utility class is meant to just provide static members.
-     */
-    private Util() {
-        // Should not be called.
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.carbon/.classpath b/bundles/org.eclipse.ui.carbon/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.carbon/.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/bundles/org.eclipse.ui.carbon/.cvsignore b/bundles/org.eclipse.ui.carbon/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.carbon/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.carbon/.project b/bundles/org.eclipse.ui.carbon/.project
deleted file mode 100644
index 98eaaa8..0000000
--- a/bundles/org.eclipse.ui.carbon/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.carbon</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.ui</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/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index fc3b14d..0000000
--- a/bundles/org.eclipse.ui.carbon/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Thu Dec 02 12:53:58 CET 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui.carbon/.template b/bundles/org.eclipse.ui.carbon/.template
deleted file mode 100644
index d65e0f4..0000000
--- a/bundles/org.eclipse.ui.carbon/.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/bundles/org.eclipse.ui.carbon/about.html b/bundles/org.eclipse.ui.carbon/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.carbon/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/bundles/org.eclipse.ui.carbon/build.properties b/bundles/org.eclipse.ui.carbon/build.properties
deleted file mode 100644
index c9cb4e0..0000000
--- a/bundles/org.eclipse.ui.carbon/build.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
-###############################################################################
-source.carbon.jar = src/
-bin.includes = fragment.xml,\
-               *.jar,\
-               carbon.jar
diff --git a/bundles/org.eclipse.ui.carbon/fragment.xml b/bundles/org.eclipse.ui.carbon/fragment.xml
deleted file mode 100644
index b1a164d..0000000
--- a/bundles/org.eclipse.ui.carbon/fragment.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.ui.carbon"
-   name="%CarbonFragment.fragmentName"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   plugin-id="org.eclipse.ui"
-   plugin-version="3.0.0"
-   match="compatible">
-
-   <runtime>
-      <library name="carbon.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <extension
-         point="org.eclipse.ui.startup">
-      <startup
-            class="org.eclipse.ui.carbon.CarbonUIEnhancer">
-      </startup>
-   </extension>
-</fragment>
diff --git a/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml b/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
deleted file mode 100644
index f1cbb4a..0000000
--- a/bundles/org.eclipse.ui.carbon/scripts/exportplugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<project name="org.eclipse.ui.carbon" default="export" basedir="..">
-
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui.carbon" />
-		<property name="dest"  value="${destdir}/${plugin}_3.0.0" />
-	</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}/carbon.jar"
-			basedir="bin"
-		/>
-		<copy file="fragment.xml" todir="${dest}"/>
-		<copy file="fragment.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/carbonsrc.zip">
-		    <fileset dir="src" />
-  		</zip>				
-	</target>
-</project>
diff --git a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java b/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
deleted file mode 100644
index 66f1b6f..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/CarbonUIEnhancer.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.carbon;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.internal.Callback;
-import org.eclipse.swt.internal.carbon.HICommand;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IStartup;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The CarbonUIEnhancer provides the standard "About" and "Preference" menu items
- * and links them to the corresponding workbench commands. 
- * This must be done in a MacOS X fragment because SWT doesn't provide an abstraction
- * for the (MacOS X only) application menu and we have to use MacOS specific natives.
- * The fragment is for the org.eclipse.ui plugin because we need access to the
- * Workbench "About" and "Preference" actions.
- */
-public class CarbonUIEnhancer implements IStartup {
-
-    private static final int kHICommandPreferences = ('p' << 24) + ('r' << 16)
-            + ('e' << 8) + 'f';
-
-    private static final int kHICommandAbout = ('a' << 24) + ('b' << 16)
-            + ('o' << 8) + 'u';
-
-    private static final int kHICommandServices = ('s' << 24) + ('e' << 16)
-            + ('r' << 8) + 'v';
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.carbon.Messages"; //$NON-NLS-1$
-
-    private static String fgAboutActionName;
-
-    /**
-     * Default constructor
-     */
-    public CarbonUIEnhancer() {
-        if (fgAboutActionName == null) {
-            ResourceBundle resourceBundle = ResourceBundle
-                    .getBundle(RESOURCE_BUNDLE);
-            try {
-                fgAboutActionName = resourceBundle
-                        .getString("AboutAction.name"); //$NON-NLS-1$
-            } catch (MissingResourceException e) {
-                fgAboutActionName = "About"; //$NON-NLS-1$
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IStartup#earlyStartup()
-     */
-    public void earlyStartup() {
-        final Display display = Display.getDefault();
-        display.syncExec(new Runnable() {
-            public void run() {
-                hookApplicationMenu(display);
-            }
-        });
-    }
-
-    /**
-     * See Apple Technical Q&A 1079 (http://developer.apple.com/qa/qa2001/qa1079.html)
-     */
-    private void hookApplicationMenu(Display display) {
-
-        // Callback target
-        Object target = new Object() {
-            int commandProc(int nextHandler, int theEvent, int userData) {
-                if (OS.GetEventKind(theEvent) == OS.kEventProcessCommand) {
-                    HICommand command = new HICommand();
-                    OS.GetEventParameter(theEvent, OS.kEventParamDirectObject,
-                            OS.typeHICommand, null, HICommand.sizeof, null,
-                            command);
-                    switch (command.commandID) {
-                    case kHICommandPreferences:
-                        return runAction("preferences"); //$NON-NLS-1$
-                    case kHICommandAbout:
-                        return runAction("about"); //$NON-NLS-1$
-                    default:
-                        break;
-                    }
-                }
-                return OS.eventNotHandledErr;
-            }
-        };
-
-        final Callback commandCallback = new Callback(target, "commandProc", 3); //$NON-NLS-1$
-        int commandProc = commandCallback.getAddress();
-        if (commandProc == 0) {
-            commandCallback.dispose();
-            return; // give up
-        }
-
-        // Install event handler for commands
-        int[] mask = new int[] { OS.kEventClassCommand, OS.kEventProcessCommand };
-        OS.InstallEventHandler(OS.GetApplicationEventTarget(), commandProc,
-                mask.length / 2, mask, 0, null);
-
-        // create About Eclipse menu command
-        int[] outMenu = new int[1];
-        short[] outIndex = new short[1];
-        if (OS.GetIndMenuItemWithCommandID(0, kHICommandPreferences, 1,
-                outMenu, outIndex) == OS.noErr
-                && outMenu[0] != 0) {
-            int menu = outMenu[0];
-
-            int l = fgAboutActionName.length();
-            char buffer[] = new char[l];
-            fgAboutActionName.getChars(0, l, buffer, 0);
-            int str = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault,
-                    buffer, l);
-            OS.InsertMenuItemTextWithCFString(menu, str, (short) 0, 0,
-                    kHICommandAbout);
-            OS.CFRelease(str);
-
-            // add separator between About & Preferences
-            OS.InsertMenuItemTextWithCFString(menu, 0, (short) 1,
-                    OS.kMenuItemAttrSeparator, 0);
-
-            // enable pref menu
-            OS.EnableMenuCommand(menu, kHICommandPreferences);
-
-            // disable services menu
-            OS.DisableMenuCommand(menu, kHICommandServices);
-        }
-
-        // schedule disposal of callback object
-        display.disposeExec(new Runnable() {
-            public void run() {
-                commandCallback.dispose();
-            }
-        });
-    }
-
-    /**
-     * Locate an action with the given id in the current menubar and run it.
-     */
-    private int runAction(String actionId) {
-        IWorkbenchWindow window = PlatformUI.getWorkbench()
-                .getActiveWorkbenchWindow();
-        if (window != null) {
-            Shell shell = window.getShell();
-            Menu menubar = shell.getMenuBar();
-            if (menubar != null) {
-                for (int i = 0; i < menubar.getItemCount(); i++) {
-                    MenuItem mi = menubar.getItem(i);
-                    Menu m = mi.getMenu();
-                    for (int j = 0; j < m.getItemCount(); j++) {
-                        MenuItem mi2 = m.getItem(j);
-                        Object o = mi2.getData();
-                        if (o instanceof ActionContributionItem) {
-                            ActionContributionItem aci = (ActionContributionItem) o;
-                            String id = aci.getId();
-                            if (id != null && id.equals(actionId)) {
-                                IAction action = aci.getAction();
-                                if (action != null && action.isEnabled()) {
-                                    action.run();
-                                    return OS.noErr;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return OS.eventNotHandledErr;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties b/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
deleted file mode 100644
index 35266ff..0000000
--- a/bundles/org.eclipse.ui.carbon/src/org/eclipse/ui/carbon/Messages.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AboutAction.name=About Eclipse Platform
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/.classpath b/bundles/org.eclipse.ui.ide/.classpath
deleted file mode 100644
index 4eee819..0000000
--- a/bundles/org.eclipse.ui.ide/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="extensions"/>
-	<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/bundles/org.eclipse.ui.ide/.cvsignore b/bundles/org.eclipse.ui.ide/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.ide/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/.project b/bundles/org.eclipse.ui.ide/.project
deleted file mode 100644
index bd1a295..0000000
--- a/bundles/org.eclipse.ui.ide/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.ide</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench</project>
-		<project>org.eclipse.update.core</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/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.ui.ide/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui.ide/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.ide/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 498f3ae..0000000
--- a/bundles/org.eclipse.ui.ide/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:11:37 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.ide/about.html b/bundles/org.eclipse.ui.ide/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.ide/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/bundles/org.eclipse.ui.ide/build.properties b/bundles/org.eclipse.ui.ide/build.properties
deleted file mode 100644
index e678645..0000000
--- a/bundles/org.eclipse.ui.ide/build.properties
+++ /dev/null
@@ -1,20 +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
-###############################################################################
-
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               icons/,\
-               *.jar
-src.includes = about.html,\
-               schema/
-source.ide.jar = extensions/,\
-                 src/
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java
deleted file mode 100644
index 1fdd66d..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityInstallWizard.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Interface for project capability install wizard. The wizard is
- * responsible for collecting any necessary information from the
- * user.
- * <p>
- * The install wizard must only add natures that represent the
- * capability and any capabilities it handles the UI for. The
- * install wizard must handle the situation where some or all
- * of the required capabilites are already installed.
- * </p><p>
- * The <code>IProject</code> passed in the init method will exist
- * and can be queried for the existance of other natures. The
- * install wizard must <b>not</b> close nor delete the project
- * passed in the init method. The install wizard must <b>not</b>
- * rename the project passed in the init method.
- * </p><p>
- * The install wizard can change the location of the project if
- * required, but must inform the user of this action.
- * </p><p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's capabilities wizard extension point 
- * (named <code>"org.eclipse.ui.capabilities"</code>).
- * </p>
- * <p>
- * <b>NOTE:</b> This is experimental API, which may be changed or removed at any point
- * in time. This API should not be called, overridden or otherwise used in production code.
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- * @see org.eclipse.ui.ICapabilityUninstallWizard
- * @since 2.0
- */
-public interface ICapabilityInstallWizard extends IWizard {
-
-    /**
-     * Initializes this capability wizard using the passed workbench,
-     * object selection, and project.
-     * <p>
-     * This method is called after the no argument constructor and
-     * before other methods are called.
-     * </p>
-     *
-     * @param workbench the current workbench
-     * @param selection the current object selection
-     * @param project the project to configure with a capability
-     */
-    public void init(IWorkbench workbench, IStructuredSelection selection,
-            IProject project);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.java
deleted file mode 100644
index 98bbaf8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ICapabilityUninstallWizard.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.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Interface for project capability uninstall wizard. The wizard is
- * responsible for collecting any necessary information from the
- * user and removing this capability's nature. Also must remove natures
- * from capabilities that the user wants removed - capabilites that this
- * capability handles the UI for. These other capabilities that the user
- * wants removed will be provided in the <code>init</code> method.
- * <p>
- * The uninstall wizard must only remove natures that are passed in
- * its <code>init</code> method.
- * </p><p>
- * The <code>IProject</code> passed in the init method will exist
- * and can be queried for the existance of other natures. The
- * uninstall wizard must <b>not</b> close nor delete the project
- * passed in the <code>init</code> method. The install wizard must
- * <b>not</b> rename the project passed in the <code>init</code> method.
- * </p><p>
- * The uninstall wizard can change the location of the project if
- * required, but must inform the user of this action.
- * </p><p>
- * Clients should implement this interface and include the name of their class
- * in an extension contributed to the workbench's capabilities wizard extension point 
- * (named <code>"org.eclipse.ui.capabilities"</code>).
- * </p>
- * <p>
- * <b>NOTE:</b> This is experimental API, which may be changed or removed at any point
- * in time. This API should not be called, overridden or otherwise used in production code.
- * </p>
- *
- * @see org.eclipse.jface.wizard.IWizard
- * @see org.eclipse.ui.ICapabilityInstallWizard
- * @since 2.0
- */
-public interface ICapabilityUninstallWizard extends IWizard {
-
-    /**
-     * Initializes this capability wizard using the passed workbench,
-     * object selection, project, and nature IDs.
-     * <p>
-     * This method is called after the no argument constructor and
-     * before other methods are called.
-     * </p><p>
-     * The list of nature IDs contains the nature ID for this
-     * capability. Also includes nature IDs for capabilities that
-     * the user wants removed - capabilites that this capability
-     * handles the UI for.
-     * </p>
-     *
-     * @param workbench the current workbench
-     * @param selection the current object selection
-     * @param project the project to configure with a capability
-     * @param natureIds the nature ids to be removed from the project
-     */
-    public void init(IWorkbench workbench, IStructuredSelection selection,
-            IProject project, String[] natureIds);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.java
deleted file mode 100644
index 25a2701..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter.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.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * The IContributorResourceAdapter is an interface that defines
- * the API required to get a resource that an object adapts to
- * for use of object contributions, decorators and property
- * pages that have adaptable = true.
- * Implementors of this interface are typically registered with an
- * IAdapterFactory for lookup via the getAdapter() mechanism.
- */
-public interface IContributorResourceAdapter {
-
-    /**
-     * Return the resource that the supplied adaptable 
-     * adapts to. An IContributorResourceAdapter assumes
-     * that any object passed to it adapts to one equivalent
-     * resource.
-     * 
-     * @param adaptable the adaptable being queried
-     * @return a resource, or <code>null</code> if there
-     * 	is no adapted resource for this type
-     */
-    public IResource getAdaptedResource(IAdaptable adaptable);
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter2.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter2.java
deleted file mode 100644
index d13fb69..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IContributorResourceAdapter2.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * An extension to the <code>IContributorResourceAdapter</code> that adapts 
- * a model object to a <code>ResourceMapping</code>.
- * 
- * @since 3.1
- */
-public interface IContributorResourceAdapter2 extends IContributorResourceAdapter {
-
-    /**
-     * Return the resource mapping that the supplied adaptable 
-     * adapts to. An <code>IContributorResourceAdapter2</code> assumes
-     * that any object passed to it adapts to one equivalent
-     * resource mapping.
-     * 
-     * @param adaptable the adaptable being queried
-     * @return a resource mapping, or <code>null</code> if there
-     *  is no adapted resource mapping for this type
-     */
-    public ResourceMapping getAdaptedResourceMapping(IAdaptable adaptable);
-}
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.java
deleted file mode 100644
index 6dafe41..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IFileEditorInput.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.ui;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This interface defines a file-oriented input to an editor.
- * <p>
- * Clients implementing this editor input interface should override
- * <code>Object.equals(Object)</code> to answer true for two inputs
- * that are the same. The <code>IWorbenchPage.openEditor</code> APIs
- * are dependent on this to find an editor with the same input.
- * </p><p>
- * File-oriented editors should support this as a valid input type, and allow
- * full read-write editing of its content.
- * </p><p>
- * A default implementation of this interface is provided by 
- * org.eclipse.ui.part.FileEditorInput.  
- * </p><p>
- * All editor inputs must implement the <code>IAdaptable</code> interface;
- * extensions are managed by the platform's adapter manager.
- * </p>
- *
- * @see org.eclipse.core.resources.IFile
- */
-public interface IFileEditorInput extends IStorageEditorInput {
-    /**
-     * Returns the file resource underlying this editor input.
-     * <p>
-     * The <code>IFile</code> returned can be a handle to a resource
-     * that does not exist in the workspace. As such, an editor should
-     * provide appropriate feedback to the user instead of simply failing
-     * during input validation. For example, a text editor could open
-     * in read-only mode with a message in the text area to inform the
-     * user that the file does not exist.
-     * </p>
-     *
-     * @return the underlying file
-     */
-    public IFile getFile();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.java
deleted file mode 100644
index 9a6e752..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerActionFilter.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.ui;
-
-
-/**
- * Describes the public attributes for a marker and the acceptable values
- * each may have.  
- * <p>
- * A popup menu extension may use these constants to describe its object target.  
- * Each identifies an attribute name or possible value.  
- * <p>
- * Clients are not expected to implement this interface.
- * </p>
- *
- * @see IActionFilter
- */
-public interface IMarkerActionFilter extends IActionFilter {
-    /**
-     * An attribute indicating the marker type (value <code>"type"</code>).  
-     * The attribute value in xml should match one of the marker types defined in 
-     * the workbench's marker extension point.  Common examples are 
-     * <code>IMarker.TASK, IMarker.BOOKMARK, and IMarker.MARKER</code>.
-     */
-    public static final String TYPE = "type"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the marker super type (value <code>"superType"</code>).  
-     * The attribute value in xml should match one of the marker types defined in 
-     * the workbench's marker extension point.  Common examples are 
-     * <code>IMarker.TASK, IMarker.BOOKMARK, and IMarker.MARKER</code>.
-     */
-    public static final String SUPER_TYPE = "superType"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the marker priority (value <code>"priority"</code>).
-     * The attribute value in xml must be one of <code>IMarker.PRIORITY_LOW, 
-     * IMarker.PRIORITY_NORMAL, or IMarker.PRIORITY_HIGH</code> 
-     */
-    public static final String PRIORITY = "priority"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the marker severity (value <code>"severity"</code>).  
-     * The attribute value in xml in xml must be one of <code>IMarker.SEVERITY_ERROR, 
-     * IMarker.SEVERITY_WARNING, or IMarker.SEVERITY_INFO</code> 
-     */
-    public static final String SEVERITY = "severity"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating whether the marker is considered done (value 
-     * <code>"done"</code>).
-     * The attribute value in xml must be one of <code>"true" or "false"</code>.
-     */
-    public static final String DONE = "done"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the marker message (value <code>"message"</code>).
-     * The attribute value in xml is unconstrained. "*" may be used at the start or
-     * the end to represent "one or more characters".
-     */
-    public static final String MESSAGE = "message"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the type of resource associated with the marker
-     * (value <code>"resourceType"</code>). The attribute value in xml must be
-     * one of <code>IResource.FILE, IResource.PROJECT, IResource.FOLDER,
-     * or IResource.ROOT</code>.
-     */
-    public static final String RESOURCE_TYPE = "resourceType"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.java
deleted file mode 100644
index 6329ec6..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerHelpRegistry.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.ui;
-
-import org.eclipse.core.resources.IMarker;
-
-/** 
- * Registry of F1 help contexts and resolutions for markers.
- * <p>
- * The information contained in the registry is read from the 
- * org.eclipse.ui.markerhelp and org.eclipse.ui.markerresolution
- * extension points.
- * </p>
- * 
- * @since 2.0
- */
-public interface IMarkerHelpRegistry {
-    /**
-     * Returns a help context id for the given marker or
-     * <code>null</code> if no help has been registered 
-     * for the marker.
-     * 
-     * @param marker the marker for which to obtain help
-     * @since 2.0
-     */
-    public String getHelp(IMarker marker);
-
-    /**
-     * Returns <code>false</code> if there are no resolutions for 
-     * the given marker. Returns <code>true</code> if their may
-     * be resolutions. In most cases a <code>true</code> value 
-     * means there are resolutions but due to plugin loading 
-     * issues getResolutions may sometimes return an empty array
-     * after this method returns <code>true</code>. 
-     * 
-     * @param marker the marker for which to determine if there
-     * are resolutions
-     * @since 2.0
-     */
-    public boolean hasResolutions(IMarker marker);
-
-    /**
-     * Returns an array of resolutions for the given marker. 
-     * The returned array will be empty if there are no resolutions
-     * for the marker.
-     * 
-     * @param marker the marker for which to obtain resolutions
-     * @since 2.0
-     */
-    public IMarkerResolution[] getResolutions(IMarker marker);
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java
deleted file mode 100644
index b2d7945..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IMarker;
-
-/** 
- * Resolution for a marker. When run, a resolution would 
- * typically eliminate the need for the marker.
- * 
- * @since 2.0
- */
-public interface IMarkerResolution {
-    /** 
-     * Returns a short label indicating what the resolution will do. 
-     * 
-     * @return a short label for this resolution
-     */
-    public String getLabel();
-
-    /**
-     * Runs this resolution.
-     * 
-     * @param marker the marker to resolve
-     */
-    public void run(IMarker marker);
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java
deleted file mode 100644
index 83b9d3e..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolution2.java
+++ /dev/null
@@ -1,41 +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.ui;
-
-import org.eclipse.swt.graphics.Image;
-
-/** 
- * Extends <code>IMarkerResolution</code>.  This interface should be used 
- * in place of <code>IMarkerResolution</code> if a description and/or image 
- * are desired.
- * 
- * @since 3.0
- */
-public interface IMarkerResolution2 extends IMarkerResolution {
-
-    /**
-     * Returns optional additional information about the resolution.
-     * The additional information will be presented to assist the user
-     * in deciding if the selected proposal is the desired choice.
-     *
-     * @return the additional information or <code>null</code>
-     */
-    public String getDescription();
-
-    /**
-     * Returns the image to be displayed in the list of resolutions.
-     * The image would typically be shown to the left of the display string.
-     *
-     * @return the image to be shown or <code>null</code> if no image is desired
-     */
-    public Image getImage();
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.java
deleted file mode 100644
index eeccd13..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator.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.ui;
-
-import org.eclipse.core.resources.IMarker;
-
-/** 
- * Creates resolutions for a given marker. 
- * When run, a resolution would typically eliminate 
- * the need for the marker.
- * 
- * @since 2.0
- */
-public interface IMarkerResolutionGenerator {
-    /** 
-     * Returns resolutions for the given marker (may
-     * be empty). 
-     * 
-     * @return resolutions for the given marker
-     */
-    public IMarkerResolution[] getResolutions(IMarker marker);
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java
deleted file mode 100644
index 2905fd8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IMarkerResolutionGenerator2.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IMarker;
-
-/** 
- * A marker resolution generator should implement this interface rather than   
- * <code>IMarkerResolutionGenerator</code> if it can determine whether a particular marker 
- * has any resolutions more efficiently than computing all the resolutions.
- * 
- * @since 2.1
- */
-public interface IMarkerResolutionGenerator2 extends IMarkerResolutionGenerator {
-
-    /** 
-     * Returns whether there are any resolutions for the given marker.
-     * 
-     * @return <code>true</code> if there are resolutions for the given marker,
-     *   <code>false</code> if not
-     */
-    public boolean hasResolutions(IMarker marker);
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.java
deleted file mode 100644
index c183ea5..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IProjectActionFilter.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.ui;
-
-
-/**
- * Describes the public attributes for a project and the acceptable values
- * each may have.  
- * <p>
- * A popup menu extension may use these constants to describe its object target.  
- * Each identifies an attribute name or possible value.  
- * <p>
- * Clients are not expected to implement this interface.
- * </p>
- *
- * @see org.eclipse.ui.IActionFilter
- */
-public interface IProjectActionFilter extends IResourceActionFilter {
-
-    /**
-     * An attribute indicating the project nature (value <code>"nature"</code>).
-     * The attribute value in xml is unconstrained.
-     */
-    public static final String NATURE = "nature"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating whether the project is open (value <code>"open"</code>).
-     * The attribute value in xml must be one of <code>"true" or "false"</code>.
-     */
-    public static final String OPEN = "open"; //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java
deleted file mode 100644
index 635384f..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IResourceActionFilter.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-/**
- * Describes the public attributes for a resource and the acceptable values
- * each may have.  
- * <p>
- * A popup menu extension may use these constants to describe its object target.  
- * Each identifies an attribute name or possible value.  
- * <p>
- * Clients are not expected to implement this interface.
- * </p>
- *
- * @see org.eclipse.ui.IActionFilter
- */
-public interface IResourceActionFilter extends IActionFilter {
-    /**
-     * An attribute indicating the file name (value <code>"name"</code>).  
-     * The attribute value in xml is unconstrained.  "*" may be used at the start or
-     * the end to represent "one or more characters".
-     */
-    public static final String NAME = "name"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the file extension (value <code>"extension"</code>).
-     * The attribute value in xml is unconstrained.
-     */
-    public static final String EXTENSION = "extension"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the file path (value <code>"path"</code>).
-     * The attribute value in xml is unconstrained.  "*" may be used at the start or
-     * the end to represent "one or more characters".
-     */
-    public static final String PATH = "path"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating whether the file is read only (value <code>"readOnly"</code>).
-     * The attribute value in xml must be one of <code>"true" or "false"</code>.
-     */
-    public static final String READ_ONLY = "readOnly"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating the project nature (value <code>"projectNature"</code>).
-     * The attribute value in xml is unconstrained.
-     */
-    public static final String PROJECT_NATURE = "projectNature"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating a persistent property on the selected resource 
-     * (value <code>"persistentProperty"</code>).
-     * If the value is a simple string, then this simply tests for existence of the property on the resource.
-     * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-     * with the specified name and tests it for equality with the specified value.
-     */
-    public static final String PERSISTENT_PROPERTY = "persistentProperty"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating a persistent property on the selected resource's project. 
-     * (value <code>"projectPersistentProperty"</code>).
-     * If the value is a simple string, then this simply tests for existence of the property on the resource.
-     * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-     * with the specified name and tests it for equality with the specified value.
-     */
-    public static final String PROJECT_PERSISTENT_PROPERTY = "projectPersistentProperty"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating a session property on the selected resource 
-     * (value <code>"sessionProperty"</code>).
-     * If the value is a simple string, then this simply tests for existence of the property on the resource.
-     * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-     * with the specified name and tests it for equality with the specified value.
-     */
-    public static final String SESSION_PROPERTY = "sessionProperty"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating a session property on the selected resource's project. 
-     * (value <code>"projectSessionProperty"</code>).
-     * If the value is a simple string, then this simply tests for existence of the property on the resource.
-     * If it has the format <code>"propertyName=propertyValue" this obtains the value of the property
-     * with the specified name and tests it for equality with the specified value.
-     */
-    public static final String PROJECT_SESSION_PROPERTY = "projectSessionProperty"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating that this is an xml file
-     * and we should ensure that the first tag (or top-level
-     * tag) has this name.
-     * @since 3.0
-     * @deprecated Please use content types instead.
-     */
-    public static final String XML_FIRST_TAG = "xmlFirstTag"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating that this is an xml file and we should ensure that the DTD
-     * definition in this xml file is the value supplied with this attribute.
-     * @since 3.0
-     * @deprecated Please use content types instead.
-     */
-    public static final String XML_DTD_NAME = "xmlDTDName"; //$NON-NLS-1$
-
-    /**
-     * An attribute indicating that this is a file, and we are looking to verify
-     * that the file matches the content type matching the given identifier.
-     * The identifier is provided in the value.
-     * @since 3.0
-     */
-    public static final String CONTENT_TYPE_ID = "contentTypeId"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.java
deleted file mode 100644
index 226c598..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/IStorageEditorInput.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.ui;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Interface for a <code>IStorage</code> input to an editor.
- * <p>
- * Clients implementing this editor input interface should override
- * <code>Object.equals(Object)</code> to answer true for two inputs
- * that are the same. The <code>IWorbenchPage.openEditor</code> APIs
- * are dependent on this to find an editor with the same input.
- * </p><p>
- * Clients should implement this interface to declare new types of 
- * <code>IStorage</code> editor inputs.
- * </p><p>
- * File-oriented editors should support this as a valid input type, and display
- * its content for viewing (but not allow modification).
- * Within the editor, the "save" and "save as" operations should create a new 
- * file resource within the workspace.
- * </p><p>
- * All editor inputs must implement the <code>IAdaptable</code> interface;
- * extensions are managed by the platform's adapter manager.
- * </p>
- */
-public interface IStorageEditorInput extends IEditorInput {
-    /**
-     * Returns the underlying IStorage object.
-     *
-     * @return an IStorage object.
-     * @exception CoreException if this method fails
-     */
-    public IStorage getStorage() throws CoreException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java
deleted file mode 100644
index 54f2ffc..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/ResourceWorkingSetFilter.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-/**
- * A resource working set filter filters resources from a view that 
- * are neither a parent nor children of a working set element.
- * 
- * @since 2.0
- */
-public class ResourceWorkingSetFilter extends ViewerFilter {
-    private IWorkingSet workingSet = null;
-
-    private IAdaptable[] cachedWorkingSet = null;
-
-    /**
-     * Returns the active working set the filter is working with.
-     * 
-     * @return the active working set 
-     */
-    public IWorkingSet getWorkingSet() {
-        return workingSet;
-    }
-
-    /**
-     * Sets the active working set.
-     * 
-     * @param workingSet the working set the filter should work with
-     */
-    public void setWorkingSet(IWorkingSet workingSet) {
-        this.workingSet = workingSet;
-    }
-
-    /**
-     * Determines if an element should be filtered out.
-     * 
-     * @see ViewerFilter#select(Viewer, Object, Object)
-     */
-    public boolean select(Viewer viewer, Object parentElement, Object element) {
-        IResource resource = null;
-
-        if (workingSet == null) {
-            return true;
-        }
-        if (element instanceof IResource) {
-            resource = (IResource) element;
-        } else if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            resource = (IResource) adaptable.getAdapter(IResource.class);
-        }
-        if (resource != null) {
-            return isEnclosed(resource);
-        }
-        return true;
-    }
-
-    /**
-     * Returns if the given resource is enclosed by a working set element.
-     * The IContainmentAdapter of each working set element is used for the
-     * containment test. If there is no IContainmentAdapter for a working 
-     * set element, a simple resource based test is used. 
-     * 
-     * @param element resource to test for enclosure by a working set
-     * 	element 
-     * @return true if element is enclosed by a working set element and 
-     * 	false otherwise. 
-     */
-    private boolean isEnclosed(IResource element) {
-        IPath elementPath = element.getFullPath();
-        IAdaptable[] workingSetElements = cachedWorkingSet;
-
-        // working set elements won't be cached if select is called
-        // directly, outside filter. fixes bug 14500.
-        if (workingSetElements == null)
-            workingSetElements = workingSet.getElements();
-
-        for (int i = 0; i < workingSetElements.length; i++) {
-            IAdaptable workingSetElement = workingSetElements[i];
-            IContainmentAdapter containmentAdapter = (IContainmentAdapter) workingSetElement
-                    .getAdapter(IContainmentAdapter.class);
-
-            // if there is no IContainmentAdapter defined for the working  
-            // set element type fall back to using resource based  
-            // containment check 
-            if (containmentAdapter != null) {
-                if (containmentAdapter.contains(workingSetElement, element,
-                        IContainmentAdapter.CHECK_CONTEXT
-                                | IContainmentAdapter.CHECK_IF_CHILD
-                                | IContainmentAdapter.CHECK_IF_ANCESTOR
-                                | IContainmentAdapter.CHECK_IF_DESCENDANT))
-                    return true;
-            } else if (isEnclosedResource(element, elementPath,
-                    workingSetElement)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Returns if the given resource is enclosed by a working set element.
-     * A resource is enclosed if it is either a parent of a working set 
-     * element, a child of a working set element or a working set element
-     * itself.
-     * Simple path comparison is used. This is only guaranteed to return
-     * correct results for resource working set elements. 
-     * 
-     * @param element resource to test for enclosure by a working set
-     * 	element
-     * @param elementPath full, absolute path of the element to test 
-     * @return true if element is enclosed by a working set element and 
-     * 	false otherwise. 
-     */
-    private boolean isEnclosedResource(IResource element, IPath elementPath,
-            IAdaptable workingSetElement) {
-        IResource workingSetResource = null;
-
-        if (workingSetElement.equals(element))
-            return true;
-        if (workingSetElement instanceof IResource) {
-            workingSetResource = (IResource) workingSetElement;
-        } else {
-            workingSetResource = (IResource) workingSetElement
-                    .getAdapter(IResource.class);
-        }
-        if (workingSetResource != null) {
-            IPath resourcePath = workingSetResource.getFullPath();
-            if (resourcePath.isPrefixOf(elementPath))
-                return true;
-            if (elementPath.isPrefixOf(resourcePath))
-                return true;
-        }
-        return false;
-    }
-
-    /**
-     * Filters out elements that are neither a parent nor a child of 
-     * a working set element.
-     * 
-     * @see ViewerFilter#filter(Viewer, Object, Object[])
-     */
-    public Object[] filter(Viewer viewer, Object parent, Object[] elements) {
-        Object[] result = null;
-        if (workingSet != null)
-            cachedWorkingSet = workingSet.getElements();
-        try {
-            result = super.filter(viewer, parent, elements);
-        } finally {
-            cachedWorkingSet = null;
-        }
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java
deleted file mode 100644
index f99da04..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddBookmarkAction.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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>
- *     - Fix for bug 20510 - Add Bookmark action has wrong label in navigator or
- *       packages view
- *********************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for adding a bookmark to the currently selected file
- * resource(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class AddBookmarkAction extends SelectionListenerAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".AddBookmarkAction"; //$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * Whether to prompt the user for the bookmark name.
-     */
-    private boolean promptForName = true;
-
-    /**
-     * Creates a new bookmark action. By default, prompts the user for the
-     * bookmark name.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public AddBookmarkAction(Shell shell) {
-        this(shell, true);
-    }
-
-    /**
-     * Creates a new bookmark action.
-     *
-     * @param shell the shell for any dialogs
-     * @param promptForName whether to ask the user for the bookmark name
-     */
-    public AddBookmarkAction(Shell shell, boolean promptForName) {
-        super(IDEWorkbenchMessages.getString("AddBookmarkLabel")); //$NON-NLS-1$
-        setId(ID);
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-        this.promptForName = promptForName;
-        setToolTipText(IDEWorkbenchMessages.getString("AddBookmarkToolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.ADD_BOOKMARK_ACTION);
-    }
-
-    /**
-     * Creates a marker of the given type on each of the files in the
-     * current selection.
-     *
-     * @param markerType the marker type
-     */
-    void createMarker(String markerType) {
-        IStructuredSelection selection = getStructuredSelection();
-        for (Iterator i = selection.iterator(); i.hasNext();) {
-            Object o = i.next();
-            if (o instanceof IFile) {
-                createMarker((IFile) o, markerType);
-            } else if (o instanceof IAdaptable) {
-                Object resource = ((IAdaptable) o).getAdapter(IResource.class);
-                if (resource instanceof IFile)
-                    createMarker((IFile) resource, markerType);
-            }
-        }
-    }
-
-    /**
-     * Creates a marker of the given type on the given file resource.
-     *
-     * @param file the file resource
-     * @param markerType the marker type
-     */
-    void createMarker(final IFile file, final String markerType) {
-        try {
-            file.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    String markerMessage = file.getName();
-                    if (promptForName)
-                        markerMessage = askForLabel(markerMessage);
-                    if (markerMessage != null) {
-                        IMarker marker = file.createMarker(markerType);
-                        marker.setAttribute(IMarker.MESSAGE, markerMessage);
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            IDEWorkbenchPlugin.log(null, e.getStatus()); // We don't care
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        createMarker(IMarker.BOOKMARK);
-    }
-
-    /**
-     * The <code>AddBookmarkAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables the action only
-     * if the selection is not empty and contains just file resources.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        // @issue typed selections
-        return super.updateSelection(selection) && !selection.isEmpty()
-                && selectionIsOfType(IResource.FILE);
-    }
-
-    /**
-     * Asks the user for a bookmark name.
-     *
-     * @param proposal the suggested bookmark name
-     * @return the bookmark name or <code>null</code> if cancelled.
-     */
-    String askForLabel(String proposal) {
-        String title = IDEWorkbenchMessages
-                .getString("AddBookmarkDialog.title"); //$NON-NLS-1$
-        String message = IDEWorkbenchMessages
-                .getString("AddBookmarkDialog.message"); //$NON-NLS-1$
-
-        IInputValidator inputValidator = new IInputValidator() {
-            public String isValid(String newText) {
-                return (newText == null || newText.length() == 0) ? " " : null; //$NON-NLS-1$
-            }
-        };
-        InputDialog dialog = new InputDialog(shell, title, message, proposal,
-                inputValidator);
-
-        if (dialog.open() != Window.CANCEL) {
-            String name = dialog.getValue();
-            if (name == null)
-                return null;
-            name = name.trim();
-            return (name.length() == 0) ? null : name;
-        } else {
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.java
deleted file mode 100644
index bdf9f78..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/AddTaskAction.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.ui.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.views.markers.internal.DialogTaskProperties;
-
-/**
- * Standard action for adding a task to the currently selected file
- * resource(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class AddTaskAction extends SelectionListenerAction {
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".AddTaskAction";//$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * Creates a new instance of the receiver.
-     * 
-     * @param shell shell to use to show any dialogs
-     */
-    public AddTaskAction(Shell shell) {
-        super(IDEWorkbenchMessages.getString("AddTaskLabel")); //$NON-NLS-1$		
-        setId(ID);
-        this.shell = shell;
-        Assert.isNotNull(shell);
-        setToolTipText(IDEWorkbenchMessages.getString("AddTaskToolTip")); //$NON-NLS-1$		
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.ADD_TASK_ACTION);
-    }
-
-    private IResource getElement(IStructuredSelection selection) {
-        if (selection.size() != 1)
-            return null;
-
-        Object element = selection.getFirstElement();
-        IResource resource = null;
-        if (element instanceof IResource)
-            resource = (IResource) element;
-        if (element instanceof IAdaptable)
-            resource = (IResource) ((IAdaptable) element)
-                    .getAdapter(IResource.class);
-
-        if (resource != null && resource instanceof IProject) {
-            IProject project = (IProject) resource;
-            if (project.isOpen() == false)
-                resource = null;
-        }
-        return resource;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        IResource resource = getElement(getStructuredSelection());
-        if (resource != null) {
-            DialogTaskProperties dialog = new DialogTaskProperties(shell);
-            dialog.setResource(resource);
-            dialog.open();
-        }
-    }
-
-    /**
-     * The <code>AddTaskAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables the action only
-     * if the selection contains a single resource and the resource is
-     * not a closed project.
-     * 
-     * @param selection the selection to update the enabled state for
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        return super.updateSelection(selection)
-                && getElement(selection) != null;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java
deleted file mode 100644
index 102676b..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/BuildAction.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.actions.BuildUtilities;
-
-/**
- * Standard actions for full and incremental builds of the selected project(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class BuildAction extends WorkspaceAction {
-
-    /**
-     * The id of an incremental build action.
-     */
-    public static final String ID_BUILD = PlatformUI.PLUGIN_ID + ".BuildAction";//$NON-NLS-1$
-
-    /**
-     * The id of a rebuild all action.
-     */
-    public static final String ID_REBUILD_ALL = PlatformUI.PLUGIN_ID
-            + ".RebuildAllAction";//$NON-NLS-1$
-
-    private int buildType;
-
-    /**
-     * The list of IProjects to build (computed lazily).
-     */
-    private List projectsToBuild = null;
-
-    /**
-     * Creates a new action of the appropriate type. The action id is 
-     * <code>ID_BUILD</code> for incremental builds and <code>ID_REBUILD_ALL</code>
-     * for full builds.
-     *
-     * @param shell the shell for any dialogs
-     * @param type the type of build; one of
-     *  <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or 
-     *  <code>IncrementalProjectBuilder.FULL_BUILD</code>
-     */
-    public BuildAction(Shell shell, int type) {
-        super(shell, "");//$NON-NLS-1$
-
-        if (type == IncrementalProjectBuilder.INCREMENTAL_BUILD) {
-            setText(IDEWorkbenchMessages.getString("BuildAction.text")); //$NON-NLS-1$
-            setToolTipText(IDEWorkbenchMessages
-                    .getString("BuildAction.toolTip")); //$NON-NLS-1$
-            setId(ID_BUILD);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                    IIDEHelpContextIds.INCREMENTAL_BUILD_ACTION);
-        } else {
-            setText(IDEWorkbenchMessages.getString("RebuildAction.text")); //$NON-NLS-1$
-            setToolTipText(IDEWorkbenchMessages
-                    .getString("RebuildAction.tooltip")); //$NON-NLS-1$
-            setId(ID_REBUILD_ALL);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-					IIDEHelpContextIds.FULL_BUILD_ACTION);
-        }
-
-        this.buildType = type;
-    }
-
-    /**
-     * Adds the given project and all of its prerequisities, transitively,
-     * to the provided set.
-     */
-    private void addAllProjects(IProject project, HashSet projects) {
-        if (project == null || !project.isAccessible()
-                || projects.contains(project))
-            return;
-        projects.add(project);
-        try {
-            IProject[] preReqs = project.getReferencedProjects();
-            for (int i = 0; i < preReqs.length; i++)
-                addAllProjects(preReqs[i], projects);
-        } catch (CoreException e) {
-            //ignore inaccessible projects
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected List getActionResources() {
-        return getProjectsToBuild();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getOperationMessage() {
-        return IDEWorkbenchMessages.getString("BuildAction.operationMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages.getString("BuildAction.problemMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages.getString("BuildAction.problemTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the projects to build.
-     * This contains the set of projects which have builders, across all selected resources.
-     */
-    List getProjectsToBuild() {
-        if (projectsToBuild == null) {
-            projectsToBuild = new ArrayList(3);
-            for (Iterator i = getSelectedResources().iterator(); i.hasNext();) {
-                IResource resource = (IResource) i.next();
-                IProject project = resource.getProject();
-                if (project != null) {
-                    if (!projectsToBuild.contains(project)) {
-                        if (hasBuilder(project)) {
-                            projectsToBuild.add(project);
-                        }
-                    }
-                }
-            }
-        }
-        return projectsToBuild;
-    }
-
-    /**
-     * Returns whether there are builders configured on the given project.
-     *
-     * @return <code>true</code> if it has builders,
-     *   <code>false</code> if not, or if this couldn't be determined
-     */
-    boolean hasBuilder(IProject project) {
-        try {
-            ICommand[] commands = project.getDescription().getBuildSpec();
-            if (commands.length > 0) {
-                return true;
-            }
-        } catch (CoreException e) {
-            // this method is called when selection changes, so
-            // just fall through if it fails.
-            // this shouldn't happen anyway, since the list of selected resources
-            // has already been checked for accessibility before this is called
-        }
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected void invokeOperation(IResource resource, IProgressMonitor monitor)
-            throws CoreException {
-        ((IProject) resource).build(buildType, monitor);
-    }
-    
-    /* (non-Javadoc)
-     * Method declared on Action
-     */
-    public boolean isEnabled() {
-    	//update enablement based on active window and part
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			selectionChanged(new StructuredSelection(BuildUtilities.findSelectedProjects(window)));
-		}
-		return super.isEnabled();
-	}
-    
-    /**
-     * Returns whether the user's preference is set to automatically save modified
-     * resources before a manual build is done.
-     *
-     * @return <code>true</code> if Save All Before Build is enabled
-     */
-    public static boolean isSaveAllSet() {
-        IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        return store.getBoolean(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     *
-     * Change the order of the resources so that
-     * it matches the build order. Closed and
-     * non existant projects are eliminated. Also,
-     * any projects in cycles are eliminated.
-     */
-    List pruneResources(List resourceCollection) {
-        //recursively compute project prerequisites
-        HashSet toBuild = new HashSet();
-        for (Iterator it = resourceCollection.iterator(); it.hasNext();)
-            addAllProjects((IProject) it.next(), toBuild);
-
-        // Optimize...
-        if (toBuild.size() < 2)
-            return resourceCollection;
-
-        // Try the workspace's description build order if specified
-        String[] orderedNames = ResourcesPlugin.getWorkspace().getDescription()
-                .getBuildOrder();
-        if (orderedNames != null) {
-            List orderedProjects = new ArrayList(toBuild.size());
-            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-            for (int i = 0; i < orderedNames.length; i++) {
-                IProject handle = root.getProject(orderedNames[i]);
-                if (toBuild.contains(handle)) {
-                    orderedProjects.add(handle);
-                    toBuild.remove(handle);
-                }
-            }
-            //Add anything not specified before we return
-            orderedProjects.addAll(toBuild);
-            return orderedProjects;
-        }
-
-        // Try the project prerequisite order then
-        IProject[] projects = new IProject[toBuild.size()];
-        projects = (IProject[]) toBuild.toArray(projects);
-        IWorkspace.ProjectOrder po = ResourcesPlugin.getWorkspace()
-                .computeProjectOrder(projects);
-        ArrayList orderedProjects = new ArrayList();
-        orderedProjects.addAll(Arrays.asList(po.projects));
-        return orderedProjects;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction; overrides method on WorkspaceAction.
-     * This override allows the user to save the contents of selected
-     * open editors so that the updated contents will be used for building.
-     */
-    public void run() {
-        // Save all resources prior to doing build
-        saveAllResources();
-
-        runInBackground(ResourcesPlugin.getWorkspace().getRuleFactory()
-                .buildRule(), ResourcesPlugin.FAMILY_MANUAL_BUILD);
-    }
-
-    /**
-     * Causes all editors to save any modified resources depending on the user's
-     * preference.
-     */
-    void saveAllResources() {
-        List projects = getProjectsToBuild();
-        if (projects == null || projects.isEmpty())
-            return;
-
-        if (!isSaveAllSet())
-            return;
-
-        IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-                .getWorkbenchWindows();
-        for (int i = 0; i < windows.length; i++) {
-            IWorkbenchPage[] pages = windows[i].getPages();
-            for (int j = 0; j < pages.length; j++) {
-                IWorkbenchPage page = pages[j];
-                IEditorPart[] editors = page.getDirtyEditors();
-                for (int k = 0; k < editors.length; k++) {
-                    IEditorPart editor = editors[k];
-                    IEditorInput input = editor.getEditorInput();
-                    if (input instanceof IFileEditorInput) {
-                        IFile inputFile = ((IFileEditorInput) input).getFile();
-                        if (projects.contains(inputFile.getProject())) {
-                            page.saveEditor(editor, false);
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected boolean shouldPerformResourcePruning() {
-        return true;
-    }
-
-    /**
-     * The <code>BuildAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * enabled only if all of the selected resources have buildable projects.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        projectsToBuild = null;
-        IProject[] projects = (IProject[]) getProjectsToBuild().toArray(new IProject[0]);
-        return BuildUtilities.isEnabled(projects, IncrementalProjectBuilder.INCREMENTAL_BUILD);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java
deleted file mode 100644
index b896916..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CloseResourceAction.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchPartLabelProvider;
-
-/**
- * Standard action for closing the currently selected project(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CloseResourceAction extends WorkspaceAction implements
-        IResourceChangeListener {
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".CloseResourceAction"; //$NON-NLS-1$
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public CloseResourceAction(Shell shell) {
-        super(shell, IDEWorkbenchMessages.getString("CloseResourceAction.text")); //$NON-NLS-1$
-        setId(ID);
-        setToolTipText(IDEWorkbenchMessages
-                .getString("CloseResourceAction.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.CLOSE_RESOURCE_ACTION);
-    }
-
-    /**
-     * Return a list of dirty editors associated with the given projects.  Return
-     * editors from all perspectives.
-     * 
-     * @return List the dirty editors
-     */
-    List getDirtyEditors(List projects) {
-        List dirtyEditors = new ArrayList(0);
-        IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-                .getWorkbenchWindows();
-        for (int i = 0; i < windows.length; i++) {
-            IWorkbenchPage[] pages = windows[i].getPages();
-            for (int j = 0; j < pages.length; j++) {
-                IWorkbenchPage page = pages[j];
-                IEditorPart[] editors = page.getDirtyEditors();
-                for (int k = 0; k < editors.length; k++) {
-                    IEditorPart editor = editors[k];
-                    IEditorInput input = editor.getEditorInput();
-                    if (input instanceof IFileEditorInput) {
-                        IFile inputFile = ((IFileEditorInput) input).getFile();
-                        if (projects.contains(inputFile.getProject())) {
-                            if (editor.isDirty()) {
-                                dirtyEditors.add(editor);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return dirtyEditors;
-    }
-
-    /**
-     * Open a dialog that can be used to select which of the given
-     * editors to save. Return the list of editors to save.  A value of 
-     * null implies that the operation was cancelled.
-     * 
-     * @return List the editors to save
-     */
-    List getEditorsToSave(List dirtyEditors) {
-        if (dirtyEditors.isEmpty())
-            return new ArrayList(0);
-
-        // The list may have multiple editors opened for the same input,
-        // so process the list for duplicates.
-        List saveEditors = new ArrayList(0);
-        List dirtyInputs = new ArrayList(0);
-        Iterator iter = dirtyEditors.iterator();
-        while (iter.hasNext()) {
-            IEditorPart editor = (IEditorPart) iter.next();
-            IEditorInput input = editor.getEditorInput();
-            IFile inputFile = ((IFileEditorInput) input).getFile();
-            // if the same file is open in multiple perspectives,
-            // we don't want to count it as dirty multiple times
-            if (!dirtyInputs.contains(inputFile)) {
-                dirtyInputs.add(inputFile);
-                saveEditors.add(editor);
-            }
-        }
-        AdaptableList input = new AdaptableList(saveEditors);
-        ListSelectionDialog dlg = new ListSelectionDialog(getShell(), input,
-                new WorkbenchContentProvider(),
-                new WorkbenchPartLabelProvider(), IDEWorkbenchMessages
-                        .getString("EditorManager.saveResourcesMessage")); //$NON-NLS-1$
-
-        dlg.setInitialSelections(saveEditors.toArray(new Object[saveEditors
-                .size()]));
-        dlg.setTitle(IDEWorkbenchMessages
-                .getString("EditorManager.saveResourcesTitle")); //$NON-NLS-1$
-        int result = dlg.open();
-
-        if (result == IDialogConstants.CANCEL_ID)
-            return null;
-        return Arrays.asList(dlg.getResult());
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getOperationMessage() {
-        return IDEWorkbenchMessages
-        .getString("CloseResourceAction.operationMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("CloseResourceAction.problemMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages.getString("CloseResourceAction.title"); //$NON-NLS-1$
-    }
-
-    protected void invokeOperation(IResource resource, IProgressMonitor monitor)
-	        throws CoreException {
-	    ((IProject) resource).close(monitor);
-	}
-
-    /** 
-     * The implementation of this <code>WorkspaceAction</code> method
-     * method saves and closes the resource's dirty editors before closing 
-     * it.
-     */
-    public void run() {
-        if (!saveDirtyEditors())
-            return;
-        //be conservative and include all projects in the selection - projects
-        //can change state between now and when the job starts
-    	ISchedulingRule rule = null;
-    	IResourceRuleFactory factory = ResourcesPlugin.getWorkspace().getRuleFactory();
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-            IProject project = (IProject) resources.next();
-       		rule = MultiRule.combine(rule, factory.modifyRule(project));
-        }
-        runInBackground(rule);
-    }
-
-    /**
-     * Causes all dirty editors associated to the resource(s) to be saved, if so
-     * specified by the user, and closed.
-     */
-    boolean saveDirtyEditors() {
-        // Get the items to close.
-        List projects = getSelectedResources();
-        if (projects == null || projects.isEmpty())
-            // no action needs to be taken since no projects are selected
-            return false;
-
-        // Collect all the dirty editors that are associated to the projects that are
-        // to be closed.
-        final List dirtyEditors = getDirtyEditors(projects);
-
-        // See which editors should be saved.
-        final List saveEditors = getEditorsToSave(dirtyEditors);
-        if (saveEditors == null)
-            // the operation was cancelled
-            return false;
-
-        // Save and close the dirty editors.
-        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-            public void run() {
-                Iterator iter = dirtyEditors.iterator();
-                while (iter.hasNext()) {
-                    IEditorPart editor = (IEditorPart) iter.next();
-                    IWorkbenchPage page = editor.getEditorSite().getPage();
-                    if (saveEditors.contains(editor)) {
-                        // do a direct save vs. using page.saveEditor, so that 
-                        // progress dialogs do not flash up on the screen multiple 
-                        // times
-                        editor.doSave(new NullProgressMonitor());
-                    }
-                    page.closeEditor(editor, false);
-                }
-            }
-        });
-
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected boolean shouldPerformResourcePruning() {
-        return false;
-    }
-
-    /**
-     * The <code>CloseResourceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * enabled only if one of the selections is an open project.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        // don't call super since we want to enable if open project is selected.
-        if (!selectionIsOfType(IResource.PROJECT))
-            return false;
-
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-            IProject currentResource = (IProject) resources.next();
-            if (currentResource.isOpen()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Handles a resource changed event by updating the enablement
-     * if one of the selected projects is opened or closed.
-     */
-    public void resourceChanged(IResourceChangeEvent event) {
-        // Warning: code duplicated in OpenResourceAction
-        List sel = getSelectedResources();
-        // don't bother looking at delta if selection not applicable
-        if (selectionIsOfType(IResource.PROJECT)) {
-            IResourceDelta delta = event.getDelta();
-            if (delta != null) {
-                IResourceDelta[] projDeltas = delta
-                        .getAffectedChildren(IResourceDelta.CHANGED);
-                for (int i = 0; i < projDeltas.length; ++i) {
-                    IResourceDelta projDelta = projDeltas[i];
-                    if ((projDelta.getFlags() & IResourceDelta.OPEN) != 0) {
-                        if (sel.contains(projDelta.getResource())) {
-                            selectionChanged(getStructuredSelection());
-                            return;
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
deleted file mode 100644
index aa9f098..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
+++ /dev/null
@@ -1,1388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-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.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerGenerator;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.StatusUtil;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * Perform the copy of file and folder resources from the clipboard 
- * when paste action is invoked.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CopyFilesAndFoldersOperation {
-
-    /**
-     * Status containing the errors detected when running the operation or
-     * <code>null</code> if no errors detected.
-     */
-    private MultiStatus errorStatus;
-
-    /**
-     * The parent shell used to show any dialogs.
-     */
-    private Shell parentShell;
-
-    /**
-     * Whether or not the copy has been canceled by the user.
-     */
-    private boolean canceled = false;
-
-    /**
-     * Overwrite all flag.
-     */
-    private boolean alwaysOverwrite = false;
-
-    /**
-     * Returns a new name for a copy of the resource at the given path in 
-     * the given workspace. This name is determined automatically. 
-     *
-     * @param originalName the full path of the resource
-     * @param workspace the workspace
-     * @return the new full path for the copy
-     */
-    static IPath getAutoNewNameFor(IPath originalName, IWorkspace workspace) {
-        int counter = 1;
-        String resourceName = originalName.lastSegment();
-        IPath leadupSegment = originalName.removeLastSegments(1);
-
-        while (true) {
-            String nameSegment;
-
-            if (counter > 1)
-                nameSegment = IDEWorkbenchMessages
-                        .format(
-                                "CopyFilesAndFoldersOperation.copyNameTwoArgs", new Object[] { new Integer(counter), resourceName }); //$NON-NLS-1$
-            else
-                nameSegment = IDEWorkbenchMessages
-                        .format(
-                                "CopyFilesAndFoldersOperation.copyNameOneArg", new Object[] { resourceName }); //$NON-NLS-1$
-
-            IPath pathToTry = leadupSegment.append(nameSegment);
-
-            if (!workspace.getRoot().exists(pathToTry))
-                return pathToTry;
-
-            counter++;
-        }
-    }
-
-    /** 
-     * Creates a new operation initialized with a shell.
-     * 
-     * @param shell parent shell for error dialogs
-     */
-    public CopyFilesAndFoldersOperation(Shell shell) {
-        parentShell = shell;
-    }
-
-    /**
-     * Returns whether this operation is able to perform on-the-fly 
-     * auto-renaming of resources with name collisions.
-     *
-     * @return <code>true</code> if auto-rename is supported, 
-     * 	and <code>false</code> otherwise
-     */
-    protected boolean canPerformAutoRename() {
-        return true;
-    }
-
-    /**
-     * Returns the message for querying deep copy/move of a linked 
-     * resource.
-     *
-     * @param source resource the query is made for
-     * @return the deep query message
-     */
-    protected String getDeepCheckQuestion(IResource source) {
-        return IDEWorkbenchMessages.format(
-                "CopyFilesAndFoldersOperation.deepCopyQuestion", //$NON-NLS-1$
-                new Object[] { source.getFullPath().makeRelative() });
-    }
-
-    /**
-     * Checks whether the files with the given names exist. 
-     *
-     * @param names path to the file. must not be null.
-     * 	If the path is not valid it will not be tested. 
-     * @return Multi status with one error message for each missing file.
-     */
-    IStatus checkExist(String[] names) {
-        MultiStatus multiStatus = new MultiStatus(PlatformUI.PLUGIN_ID,
-                IStatus.OK, getProblemsMessage(), null);
-
-        for (int i = 0; i < names.length; i++) {
-            IPath path = new Path(names[i]);
-            File file = path.toFile();
-
-            if (file != null && file.exists() == false) {
-                String message = IDEWorkbenchMessages.format(
-                        "CopyFilesAndFoldersOperation.resourceDeleted", //$NON-NLS-1$
-                        new Object[] { file.getName() });
-                IStatus status = new Status(IStatus.ERROR,
-                        PlatformUI.PLUGIN_ID, IStatus.OK, message, null);
-                multiStatus.add(status);
-            }
-        }
-        return multiStatus;
-    }
-
-    /**
-     * Checks whether the files with the given names exist. 
-     *
-     * @param names path to the file. must not be null.
-     * 	If the path is not valid it will not be tested. 
-     * @return Multi status with one error message for each missing file.
-     */
-    IStatus checkExist(IResource[] resources) {
-        MultiStatus multiStatus = new MultiStatus(PlatformUI.PLUGIN_ID,
-                IStatus.OK, getProblemsMessage(), null);
-
-        for (int i = 0; i < resources.length; i++) {
-            IResource resource = resources[i];
-            if (resource != null) {
-                IPath location = resource.getLocation();
-                String message = null;
-                if (location != null) {
-                    File file = location.toFile();
-                    if (file.exists() == false) {
-                        if (resource.isLinked()) {
-                            message = IDEWorkbenchMessages
-                                    .format(
-                                            "CopyFilesAndFoldersOperation.missingLinkTarget", //$NON-NLS-1$
-                                            new Object[] { resource.getName() });
-                        } else {
-                            message = IDEWorkbenchMessages
-                                    .format(
-                                            "CopyFilesAndFoldersOperation.resourceDeleted", //$NON-NLS-1$
-                                            new Object[] { resource.getName() });
-                        }
-                    }
-                }
-                if (message != null) {
-                    IStatus status = new Status(IStatus.ERROR,
-                            PlatformUI.PLUGIN_ID, IStatus.OK, message, null);
-                    multiStatus.add(status);
-                }
-            }
-        }
-        return multiStatus;
-    }
-
-    /**
-     * Check if the user wishes to overwrite the supplied resource or 
-     * all resources.
-     * 
-     * @param shell the shell to create the overwrite prompt dialog in 
-     * @param source the source resource
-     * @param destination the resource to be overwritten
-     * @return one of IDialogConstants.YES_ID, IDialogConstants.YES_TO_ALL_ID,
-     * 	IDialogConstants.NO_ID, IDialogConstants.CANCEL_ID indicating whether
-     * 	the current resource or all resources can be overwritten, or if the 
-     * 	operation should be canceled.
-     */
-    private int checkOverwrite(final Shell shell, final IResource source,
-            final IResource destination) {
-        final int[] result = new int[1];
-
-        // Dialogs need to be created and opened in the UI thread
-        Runnable query = new Runnable() {
-            public void run() {
-                String message;
-                int resultId[] = { IDialogConstants.YES_ID,
-                        IDialogConstants.YES_TO_ALL_ID, IDialogConstants.NO_ID,
-                        IDialogConstants.CANCEL_ID };
-                String labels[] = new String[] { IDialogConstants.YES_LABEL,
-                        IDialogConstants.YES_TO_ALL_LABEL,
-                        IDialogConstants.NO_LABEL,
-                        IDialogConstants.CANCEL_LABEL };
-
-                if (destination.getType() == IResource.FOLDER) {
-                    if (homogenousResources(source, destination)) {
-                        message = IDEWorkbenchMessages
-                                .format(
-                                        "CopyFilesAndFoldersOperation.overwriteMergeQuestion", //$NON-NLS-1$
-                                        new Object[] { destination
-                                                .getFullPath().makeRelative() });
-                    } else {
-                        if (destination.isLinked()) {
-                            message = IDEWorkbenchMessages
-                                    .format(
-                                            "CopyFilesAndFoldersOperation.overwriteNoMergeLinkQuestion", //$NON-NLS-1$
-                                            new Object[] { destination
-                                                    .getFullPath()
-                                                    .makeRelative() });
-                        } else {
-                            message = IDEWorkbenchMessages
-                                    .format(
-                                            "CopyFilesAndFoldersOperation.overwriteNoMergeNoLinkQuestion", //$NON-NLS-1$
-                                            new Object[] { destination
-                                                    .getFullPath()
-                                                    .makeRelative() });
-                        }
-                        resultId = new int[] { IDialogConstants.YES_ID,
-                                IDialogConstants.NO_ID,
-                                IDialogConstants.CANCEL_ID };
-                        labels = new String[] { IDialogConstants.YES_LABEL,
-                                IDialogConstants.NO_LABEL,
-                                IDialogConstants.CANCEL_LABEL };
-                    }
-                } else {
-                    message = IDEWorkbenchMessages.format(
-                            "CopyFilesAndFoldersOperation.overwriteQuestion", //$NON-NLS-1$
-                            new Object[] { destination.getFullPath()
-                                    .makeRelative() });
-                }
-                MessageDialog dialog = new MessageDialog(
-                        shell,
-                        IDEWorkbenchMessages
-                                .getString("CopyFilesAndFoldersOperation.resourceExists"), //$NON-NLS-1$
-                        null, message, MessageDialog.QUESTION, labels, 0);
-                dialog.open();
-                result[0] = resultId[dialog.getReturnCode()];
-            }
-        };
-        shell.getDisplay().syncExec(query);
-        return result[0];
-    }
-
-    /**
-     * Recursively collects existing files in the specified destination path.
-     * 
-     * @param destinationPath destination path to check for existing files
-     * @param copyResources resources that may exist in the destination
-     * @param existing holds the collected existing files 
-     */
-    private void collectExistingReadonlyFiles(IPath destinationPath,
-            IResource[] copyResources, ArrayList existing) {
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-
-        for (int i = 0; i < copyResources.length; i++) {
-            IResource source = copyResources[i];
-            IPath newDestinationPath = destinationPath.append(source.getName());
-            IResource newDestination = workspaceRoot
-                    .findMember(newDestinationPath);
-            IFolder folder;
-
-            if (newDestination == null) {
-                continue;
-            }
-            folder = getFolder(newDestination);
-            if (folder != null) {
-                IFolder sourceFolder = getFolder(source);
-
-                if (sourceFolder != null) {
-                    try {
-                        collectExistingReadonlyFiles(newDestinationPath,
-                                sourceFolder.members(), existing);
-                    } catch (CoreException exception) {
-                        recordError(exception);
-                    }
-                }
-            } else {
-                IFile file = getFile(newDestination);
-
-                if (file != null) {
-                    if (file.isReadOnly()) {
-                        existing.add(file);
-                    }
-                    if (getValidateConflictSource()) {
-                        IFile sourceFile = getFile(source);
-                        if (sourceFile != null) {
-                            existing.add(sourceFile);
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Copies the resources to the given destination.  This method is 
-     * called recursively to merge folders during folder copy.
-     * 
-     * @param resources the resources to copy
-     * @param destination destination to which resources will be copied
-     * @param subMonitor a progress monitor for showing progress and for cancelation
-     */
-   protected void copy(IResource[] resources, IPath destination,
-            IProgressMonitor subMonitor) throws CoreException {
-    	
-   		subMonitor.beginTask(IDEWorkbenchMessages.getString("CopyFilesAndFoldersOperation.CopyResourcesTask"),resources.length); //$NON-NLS-1$
-   		
-    	for (int i = 0; i < resources.length; i++) {
-            IResource source = resources[i];
-            IPath destinationPath = destination.append(source.getName());
-            IWorkspace workspace = source.getWorkspace();
-            IWorkspaceRoot workspaceRoot = workspace.getRoot();
-            IResource existing = workspaceRoot.findMember(destinationPath);
-            if (source.getType() == IResource.FOLDER && existing != null) {
-                // the resource is a folder and it exists in the destination, copy the
-                // children of the folder.
-                if (homogenousResources(source, existing)) {
-                    IResource[] children = ((IContainer) source).members();
-                    copy(children, destinationPath, new SubProgressMonitor(subMonitor, 1));
-                } else {
-                    // delete the destination folder, copying a linked folder
-                    // over an unlinked one or vice versa. Fixes bug 28772. 
-                    delete(existing, new SubProgressMonitor(subMonitor, 0));
-                    source.copy(destinationPath, IResource.SHALLOW,
-                            new SubProgressMonitor(subMonitor, 1));
-                }
-            } else {
-                if (existing != null) {
-                    if (homogenousResources(source, existing))
-                        copyExisting(source, existing,  new SubProgressMonitor(subMonitor, 1));
-                    else {
-                        // Copying a linked resource over unlinked or vice versa.
-                        // Can't use setContents here. Fixes bug 28772.
-                        delete(existing, new SubProgressMonitor(subMonitor, 0));
-                        source.copy(destinationPath, IResource.SHALLOW,
-                                new SubProgressMonitor(subMonitor, 1));
-                    }                   
-                   } else{
-                	    source.copy(destinationPath, IResource.SHALLOW,
-                            new SubProgressMonitor(subMonitor, 1));
-                                	
-                	}
-               
-                if (subMonitor.isCanceled()) {
-                    throw new OperationCanceledException();
-                }
-            }
-        }
-    }
-
-    /**
-     * Sets the content of the existing file to the source file content.
-     * 
-     * @param source source file to copy
-     * @param existing existing file to set the source content in
-     * @param subMonitor a progress monitor for showing progress and for cancelation
-     * @throws CoreException setContents failed
-     */
-    private void copyExisting(IResource source, IResource existing,
-            IProgressMonitor subMonitor) throws CoreException {
-        IFile existingFile = getFile(existing);
-
-        if (existingFile != null) {
-            IFile sourceFile = getFile(source);
-
-            if (sourceFile != null) {
-                existingFile.setContents(sourceFile.getContents(),
-                        IResource.KEEP_HISTORY, new SubProgressMonitor(
-                                subMonitor, 0));
-            }
-        }
-    }
-
-    /**
-     * Copies the given resources to the destination. 
-     * 
-     * @param resources the resources to copy
-     * @param destination destination to which resources will be copied
-     */
-    public IResource[] copyResources(final IResource[] resources,
-            IContainer destination) {
-        final IPath destinationPath = destination.getFullPath();
-        final IResource[][] copiedResources = new IResource[1][0];
-
-        // test resources for existence separate from validate API.
-        // Validate is performance critical and resource exists
-        // check is potentially slow. Fixes bugs 16129/28602. 
-        IStatus resourceStatus = checkExist(resources);
-        if (resourceStatus.getSeverity() != IStatus.OK) {
-            ErrorDialog.openError(parentShell, getProblemsTitle(), null, // no special message
-                    resourceStatus);
-            return copiedResources[0];
-        }
-        String errorMsg = validateDestination(destination, resources);
-        if (errorMsg != null) {
-            displayError(errorMsg);
-            return copiedResources[0];
-        }
-
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            public void execute(IProgressMonitor monitor) {
-                IResource[] copyResources = resources;
-
-                // Fix for bug 31116. Do not provide a task name when
-                // creating the task.
-                monitor.beginTask("", 100); //$NON-NLS-1$
-                monitor.setTaskName(getOperationTitle());
-                monitor.worked(10); // show some initial progress
-
-                // Checks only required if this is an exisiting container path.
-                boolean copyWithAutoRename = false;
-                IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-                if (root.exists(destinationPath)) {
-                    IContainer container = (IContainer) root
-                            .findMember(destinationPath);
-                    // If we're copying to the source container then perform
-                    // auto-renames on all resources to avoid name collisions.
-                    if (isDestinationSameAsSource(copyResources, container)
-                            && canPerformAutoRename()) {
-                        copyWithAutoRename = true;
-                    } else {
-                        // If no auto-renaming will be happening, check for
-                        // potential name collisions at the target resource
-                        copyResources = validateNoNameCollisions(container,
-                                copyResources, monitor);
-                        if (copyResources == null) {
-                            if (canceled)
-                                return;
-                            displayError(IDEWorkbenchMessages
-                                    .getString("CopyFilesAndFoldersOperation.nameCollision")); //$NON-NLS-1$
-                            return;
-                        }
-                        if (validateEdit(container, copyResources) == false)
-                            return;
-                    }
-                }
-
-                errorStatus = null;
-                if (copyResources.length > 0) {
-                    if (copyWithAutoRename)
-                        performCopyWithAutoRename(copyResources,
-                                destinationPath, monitor);
-                    else
-                        performCopy(copyResources, destinationPath, monitor);
-                }
-                copiedResources[0] = copyResources;
-            }
-        };
-
-        try {
-            new ProgressMonitorJobsDialog(parentShell).run(true, true, op);
-        } catch (InterruptedException e) {
-            return copiedResources[0];
-        } catch (InvocationTargetException e) {
-            // CoreExceptions are collected above, but unexpected runtime exceptions and errors may still occur.
-            Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-                    StatusUtil.newStatus(IStatus.ERROR, MessageFormat.format(
-                            "Exception in {0}.performCopy(): {1}", //$NON-NLS-1$
-                            new Object[] { getClass().getName(),
-                                    e.getTargetException() }), null));
-            displayError(IDEWorkbenchMessages.format(
-                    "CopyFilesAndFoldersOperation.internalError", //$NON-NLS-1$
-                    new Object[] { e.getTargetException().getMessage() }));
-        }
-
-        // If errors occurred, open an Error dialog
-        if (errorStatus != null) {
-            ErrorDialog.openError(parentShell, getProblemsTitle(), null, // no special message
-                    errorStatus);
-            errorStatus = null;
-        }
-        return copiedResources[0];
-    }
-
-    /**
-     * Copies the given files and folders to the destination. 
-     * 
-     * @param fileNames names of the files to copy
-     * @param destination destination to which files will be copied
-     */
-    public void copyFiles(final String[] fileNames, IContainer destination) {
-        alwaysOverwrite = false;
-
-        // test files for existence separate from validate API 
-        // because an external file may not exist until the copy actually 
-        // takes place (e.g., WinZip contents).
-        IStatus fileStatus = checkExist(fileNames);
-        if (fileStatus.getSeverity() != IStatus.OK) {
-            ErrorDialog.openError(parentShell, getProblemsTitle(), null, // no special message
-                    fileStatus);
-            return;
-        }
-        String errorMsg = validateImportDestination(destination, fileNames);
-        if (errorMsg != null) {
-            displayError(errorMsg);
-            return;
-        }
-        final IPath destinationPath = destination.getFullPath();
-
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            public void execute(IProgressMonitor monitor) {
-                // Checks only required if this is an exisiting container path.
-                IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-                if (root.exists(destinationPath)) {
-                    IContainer container = (IContainer) root
-                            .findMember(destinationPath);
-
-                    performFileImport(getFiles(fileNames), container, monitor);
-                }
-            }
-        };
-        try {
-            new ProgressMonitorJobsDialog(parentShell).run(true, true, op);
-        } catch (InterruptedException e) {
-            return;
-        } catch (InvocationTargetException e) {
-            // CoreExceptions are collected above, but unexpected runtime exceptions and errors may still occur.
-            Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-                    StatusUtil.newStatus(IStatus.ERROR, MessageFormat.format(
-                            "Exception in {0}.performCopy(): {1}", //$NON-NLS-1$
-                            new Object[] { getClass().getName(),
-                                    e.getTargetException() }), null));
-            displayError(IDEWorkbenchMessages
-                    .format(
-                            "CopyFilesAndFoldersOperation.internalError", new Object[] { e.getTargetException().getMessage() })); //$NON-NLS-1$
-        }
-
-        // If errors occurred, open an Error dialog
-        if (errorStatus != null) {
-            ErrorDialog.openError(parentShell, getProblemsTitle(), //$NON-NLS-1$
-                    null, // no special message
-                    errorStatus);
-            errorStatus = null;
-        }
-    }
-
-    /**
-     * Creates a file or folder handle for the source resource as if 
-     * it were to be created in the destination container.
-     * 
-     * @param destination destination container
-     * @param source source resource
-     * @return IResource file or folder handle, depending on the source 
-     * 	type.
-     */
-    IResource createLinkedResourceHandle(IContainer destination,
-            IResource source) {
-        IWorkspace workspace = destination.getWorkspace();
-        IWorkspaceRoot workspaceRoot = workspace.getRoot();
-        IPath linkPath = destination.getFullPath().append(source.getName());
-        IResource linkHandle;
-
-        if (source.getType() == IResource.FOLDER) {
-            linkHandle = workspaceRoot.getFolder(linkPath);
-        } else {
-            linkHandle = workspaceRoot.getFile(linkPath);
-        }
-        return linkHandle;
-    }
-
-    /**
-     * Removes the given resource from the workspace. 
-     *  
-     * @param resource resource to remove from the workspace
-     * @param monitor a progress monitor for showing progress and for cancelation
-     * @return 
-     * 	true the resource was deleted successfully
-     * 	false the resource was not deleted because a CoreException occurred
-     */
-    boolean delete(IResource resource, IProgressMonitor monitor)
-            throws CoreException {
-        boolean force = false; // don't force deletion of out-of-sync resources
-
-        if (resource.getType() == IResource.PROJECT) {
-            // if it's a project, ask whether content should be deleted too
-            IProject project = (IProject) resource;
-            try {
-                project.delete(true, force, monitor);
-            } catch (CoreException e) {
-                recordError(e); // log error
-                return false;
-            }
-        } else {
-            // if it's not a project, just delete it
-            int flags = IResource.KEEP_HISTORY;
-            if (force) {
-                flags = flags | IResource.FORCE;
-            }
-            try {
-                resource.delete(flags, monitor);
-            } catch (CoreException e) {
-                recordError(e); // log error
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Opens an error dialog to display the given message.
-     *
-     * @param message the error message to show
-     */
-    private void displayError(final String message) {
-        parentShell.getDisplay().syncExec(new Runnable() {
-            public void run() {
-                MessageDialog.openError(parentShell, getProblemsTitle(),
-                        message);
-            }
-        });
-    }
-
-    /**
-     * Returns the resource either casted to or adapted to an IFile. 
-     * 
-     * @param resource resource to cast/adapt
-     * @return the resource either casted to or adapted to an IFile.
-     * 	<code>null</code> if the resource does not adapt to IFile 
-     */
-    protected IFile getFile(IResource resource) {
-        if (resource instanceof IFile) {
-            return (IFile) resource;
-        }
-        if (resource instanceof IAdaptable) {
-            return (IFile) ((IAdaptable) resource).getAdapter(IFile.class);
-        }
-        return null;
-    }
-
-    /**
-     * Returns java.io.File objects for the given file names.
-     * 
-     * @param fileNames files to return File object for.
-     * @return java.io.File objects for the given file names.
-     */
-    protected File[] getFiles(String[] fileNames) {
-        File[] files = new File[fileNames.length];
-
-        for (int i = 0; i < fileNames.length; i++) {
-            files[i] = new File(fileNames[i]);
-        }
-        return files;
-    }
-
-    /**
-     * Returns the resource either casted to or adapted to an IFolder. 
-     * 
-     * @param resource resource to cast/adapt
-     * @return the resource either casted to or adapted to an IFolder.
-     * 	<code>null</code> if the resource does not adapt to IFolder 
-     */
-    protected IFolder getFolder(IResource resource) {
-        if (resource instanceof IFolder) {
-            return (IFolder) resource;
-        }
-        if (resource instanceof IAdaptable) {
-            return (IFolder) ((IAdaptable) resource).getAdapter(IFolder.class);
-        }
-        return null;
-    }
-
-    /**
-     * Returns a new name for a copy of the resource at the given path in the 
-     * given workspace.
-     *
-     * @param originalName the full path of the resource
-     * @param workspace the workspace
-     * @return the new full path for the copy, or <code>null</code> if the 
-     * 	resource should not be copied
-     */
-    private IPath getNewNameFor(final IPath originalName,
-            final IWorkspace workspace) {
-        final IResource resource = workspace.getRoot().findMember(originalName);
-        final IPath prefix = resource.getFullPath().removeLastSegments(1);
-        final String returnValue[] = { "" }; //$NON-NLS-1$
-
-        parentShell.getDisplay().syncExec(new Runnable() {
-            public void run() {
-                IInputValidator validator = new IInputValidator() {
-                    public String isValid(String string) {
-                        if (resource.getName().equals(string)) {
-                            return IDEWorkbenchMessages
-                                    .getString("CopyFilesAndFoldersOperation.nameMustBeDifferent"); //$NON-NLS-1$
-                        }
-                        IStatus status = workspace.validateName(string,
-                                resource.getType());
-                        if (!status.isOK()) {
-                            return status.getMessage();
-                        }
-                        if (workspace.getRoot().exists(prefix.append(string))) {
-                            return IDEWorkbenchMessages
-                                    .getString("CopyFilesAndFoldersOperation.nameExists"); //$NON-NLS-1$
-                        }
-                        return null;
-                    }
-                };
-
-                InputDialog dialog = new InputDialog(
-                        parentShell,
-                        IDEWorkbenchMessages
-                                .getString("CopyFilesAndFoldersOperation.inputDialogTitle"), //$NON-NLS-1$
-                        IDEWorkbenchMessages
-                                .format(
-                                        "CopyFilesAndFoldersOperation.inputDialogMessage", new String[] { resource.getName() }), //$NON-NLS-1$
-                        getAutoNewNameFor(originalName, workspace)
-                                .lastSegment().toString(), validator);
-                dialog.setBlockOnOpen(true);
-                dialog.open();
-                if (dialog.getReturnCode() == Window.CANCEL) {
-                    returnValue[0] = null;
-                } else {
-                    returnValue[0] = dialog.getValue();
-                }
-            }
-        });
-        if (returnValue[0] == null) {
-            throw new OperationCanceledException();
-        }
-        return prefix.append(returnValue[0]);
-    }
-
-    /**
-     * Returns the task title for this operation's progress dialog.
-     *
-     * @return the task title
-     */
-    protected String getOperationTitle() {
-        return IDEWorkbenchMessages
-                .getString("CopyFilesAndFoldersOperation.operationTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the message for this operation's problems dialog.
-     *
-     * @return the problems message
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("CopyFilesAndFoldersOperation.problemMessage"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the title for this operation's problems dialog.
-     *
-     * @return the problems dialog title
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages
-                .getString("CopyFilesAndFoldersOperation.copyFailedTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns whether the source file in a destination collision
-     * will be validateEdited together with the collision itself.
-     * Returns false. Should return true if the source file is to be
-     * deleted after the operation.
-     * 
-     * @return boolean <code>true</code> if the source file in a 
-     * 	destination collision should be validateEdited. 
-     *	<code>false</code> if only the destination should be validated.  
-     */
-    protected boolean getValidateConflictSource() {
-        return false;
-    }
-
-    /**
-     * Returns whether the given resources are either both linked
-     * or both unlinked.
-     * 
-     * @param source source resource
-     * @param destination destination resource
-     * @return boolean <code>true</code> if both resources are either 
-     * 	linked or unlinked. <code>false</code> otherwise. 
-     */
-    protected boolean homogenousResources(IResource source,
-            IResource destination) {
-        boolean isSourceLinked = source.isLinked();
-        boolean isDestinationLinked = destination.isLinked();
-
-        return (isSourceLinked && isDestinationLinked || isSourceLinked == false
-                && isDestinationLinked == false);
-    }
-
-    /**
-     * Returns whether the given resource is accessible.
-     * Files and folders are always considered accessible and a project is 
-     * accessible if it is open.
-     *
-     * @param resource the resource
-     * @return <code>true</code> if the resource is accessible, and 
-     *   <code>false</code> if it is not
-     */
-    private boolean isAccessible(IResource resource) {
-        switch (resource.getType()) {
-        case IResource.FILE:
-            return true;
-        case IResource.FOLDER:
-            return true;
-        case IResource.PROJECT:
-            return ((IProject) resource).isOpen();
-        default:
-            return false;
-        }
-    }
-
-    /**
-     * Returns whether any of the given source resources are being 
-     * recopied to their current container.
-     *
-     * @param sourceResources the source resources 
-     * @param destination the destination container
-     * @return <code>true</code> if at least one of the given source 
-     *   resource's parent container is the same as the destination 
-     */
-    boolean isDestinationSameAsSource(IResource[] sourceResources,
-            IContainer destination) {
-        IPath destinationLocation = destination.getLocation();
-
-        for (int i = 0; i < sourceResources.length; i++) {
-            IResource sourceResource = sourceResources[i];
-            if (sourceResource.getParent().equals(destination)) {
-                return true;
-            } else if (destinationLocation != null) {
-                // do thorough check to catch linked resources. Fixes bug 29913.
-                IPath sourceLocation = sourceResource.getLocation();
-                IPath destinationResource = destinationLocation
-                        .append(sourceResource.getName());
-                if (sourceLocation != null
-                        && sourceLocation.isPrefixOf(destinationResource)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Copies the given resources to the destination container with 
-     * the given name.
-     * <p>
-     * Note: the destination container may need to be created prior to 
-     * copying the resources.
-     * </p>
-     *
-     * @param resources the resources to copy
-     * @param destination the path of the destination container
-     * @param monitor a progress monitor for showing progress and for cancelation
-     * @return <code>true</code> if the copy operation completed without 
-     * 	errors
-     */
-    private boolean performCopy(IResource[] resources, IPath destination,
-            IProgressMonitor monitor) {
-        try {
-            ContainerGenerator generator = new ContainerGenerator(destination);
-            generator.generateContainer(new SubProgressMonitor(monitor, 10));
-            IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 75);
-            copy(resources, destination, subMonitor);
-        } catch (CoreException e) {
-            recordError(e); // log error
-            return false;
-        } finally {
-            monitor.done();
-        }
-        return true;
-    }
-
-    /**
-     * Individually copies the given resources to the specified destination
-     * container checking for name collisions. If a collision is detected, 
-     * it is saved with a new name. 
-     * <p>
-     * Note: the destination container may need to be created prior to 
-     * copying the resources.
-     * </p>
-     *
-     * @param resources the resources to copy
-     * @param destination the path of the destination container
-     * @return <code>true</code> if the copy operation completed without errors.
-     */
-    private boolean performCopyWithAutoRename(IResource[] resources,
-            IPath destination, IProgressMonitor monitor) {
-        IWorkspace workspace = resources[0].getWorkspace();
-
-        try {
-            ContainerGenerator generator = new ContainerGenerator(destination);
-            generator.generateContainer(new SubProgressMonitor(monitor, 10));
-
-            IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 75);
-            subMonitor.beginTask(getOperationTitle(), resources.length);
-
-            for (int i = 0; i < resources.length; i++) {
-                IResource source = resources[i];
-                IPath destinationPath = destination.append(source.getName());
-
-                if (workspace.getRoot().exists(destinationPath)) {
-                    destinationPath = getNewNameFor(destinationPath, workspace);
-                }
-                if (destinationPath != null) {
-                    try {
-                        source.copy(destinationPath, IResource.SHALLOW,
-                                new SubProgressMonitor(subMonitor, 0));
-                    } catch (CoreException e) {
-                        recordError(e); // log error
-                        return false;
-                    }
-                }
-                subMonitor.worked(1);
-                if (subMonitor.isCanceled()) {
-                    throw new OperationCanceledException();
-                }
-            }
-        } catch (CoreException e) {
-            recordError(e); // log error
-            return false;
-        } finally {
-            monitor.done();
-        }
-
-        return true;
-    }
-
-    /**
-     * Performs an import of the given files into the provided container.
-     * Returns a status indicating if the import was successful.
-     * 
-     * @param files files that are to be imported
-     * @param target container to which the import will be done
-     * @param monitor a progress monitor for showing progress and for cancelation
-     */
-    private void performFileImport(File[] files, IContainer target,
-            IProgressMonitor monitor) {
-        IOverwriteQuery query = new IOverwriteQuery() {
-            public String queryOverwrite(String pathString) {
-                if (alwaysOverwrite)
-                    return ALL;
-
-                final String returnCode[] = { CANCEL };
-                final String msg = IDEWorkbenchMessages
-                        .format(
-                                "CopyFilesAndFoldersOperation.overwriteQuestion", new Object[] { pathString }); //$NON-NLS-1$
-                final String[] options = { IDialogConstants.YES_LABEL,
-                        IDialogConstants.YES_TO_ALL_LABEL,
-                        IDialogConstants.NO_LABEL,
-                        IDialogConstants.CANCEL_LABEL };
-                parentShell.getDisplay().syncExec(new Runnable() {
-                    public void run() {
-                        MessageDialog dialog = new MessageDialog(
-                                parentShell,
-                                IDEWorkbenchMessages
-                                        .getString("CopyFilesAndFoldersOperation.question"), null, msg, MessageDialog.QUESTION, options, 0); //$NON-NLS-1$
-                        dialog.open();
-                        int returnVal = dialog.getReturnCode();
-                        String[] returnCodes = { YES, ALL, NO, CANCEL };
-                        returnCode[0] = returnVal == -1 ? CANCEL
-                                : returnCodes[returnVal];
-                    }
-                });
-                if (returnCode[0] == ALL) {
-                    alwaysOverwrite = true;
-                } else if (returnCode[0] == CANCEL) {
-                    canceled = true;
-                }
-                return returnCode[0];
-            }
-        };
-
-        ImportOperation op = new ImportOperation(target.getFullPath(), null,
-                FileSystemStructureProvider.INSTANCE, query, Arrays
-                        .asList(files));
-        op.setContext(parentShell);
-        op.setCreateContainerStructure(false);
-        try {
-            op.run(monitor);
-        } catch (InterruptedException e) {
-            return;
-        } catch (InvocationTargetException e) {
-            if (e.getTargetException() instanceof CoreException) {
-                final IStatus status = ((CoreException) e.getTargetException())
-                        .getStatus();
-                parentShell.getDisplay().syncExec(new Runnable() {
-                    public void run() {
-                        ErrorDialog
-                                .openError(
-                                        parentShell,
-                                        IDEWorkbenchMessages
-                                                .getString("CopyFilesAndFoldersOperation.importErrorDialogTitle"), //$NON-NLS-1$
-                                        null, // no special message
-                                        status);
-                    }
-                });
-            } else {
-                // CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-                Platform
-                        .getPlugin(PlatformUI.PLUGIN_ID)
-                        .getLog()
-                        .log(
-                                StatusUtil
-                                        .newStatus(
-                                                IStatus.ERROR,
-                                                MessageFormat
-                                                        .format(
-                                                                "Exception in {0}.performFileImport(): {1}", //$NON-NLS-1$
-                                                                new Object[] {
-                                                                        getClass()
-                                                                                .getName(),
-                                                                        e
-                                                                                .getTargetException() }),
-                                                null));
-                displayError(IDEWorkbenchMessages.format(
-                        "CopyFilesAndFoldersOperation.internalError", //$NON-NLS-1$
-                        new Object[] { e.getTargetException().getMessage() }));
-            }
-            return;
-        }
-        // Special case since ImportOperation doesn't throw a CoreException on
-        // failure.
-        IStatus status = op.getStatus();
-        if (!status.isOK()) {
-            if (errorStatus == null)
-                errorStatus = new MultiStatus(PlatformUI.PLUGIN_ID,
-                        IStatus.ERROR, getProblemsMessage(), null); //$NON-NLS-1$
-            errorStatus.merge(status);
-        }
-    }
-
-    /**
-     * Records the core exception to be displayed to the user
-     * once the action is finished.
-     *
-     * @param error a <code>CoreException</code>
-     */
-    private void recordError(CoreException error) {
-        if (errorStatus == null)
-            errorStatus = new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.ERROR,
-                    getProblemsMessage(), error); //$NON-NLS-1$
-
-        errorStatus.merge(error.getStatus());
-    }
-
-    /**
-     * Checks whether the destination is valid for copying the source 
-     * resources.
-     * <p>
-     * Note this method is for internal use only. It is not API.
-     * </p>
-     *
-     * @param destination the destination container
-     * @param sourceResources the source resources
-     * @return an error message, or <code>null</code> if the path is valid
-     */
-    public String validateDestination(IContainer destination,
-            IResource[] sourceResources) {
-        if (!isAccessible(destination)) {
-            return IDEWorkbenchMessages
-                    .getString("CopyFilesAndFoldersOperation.destinationAccessError"); //$NON-NLS-1$
-        }
-        String destinationMessage = validateDestinationLocation(destination);
-        if (destinationMessage != null) {
-            return destinationMessage;
-        }
-        IContainer firstParent = null;
-        IPath destinationLocation = destination.getLocation();
-        for (int i = 0; i < sourceResources.length; i++) {
-            IResource sourceResource = sourceResources[i];
-            if (firstParent == null) {
-                firstParent = sourceResource.getParent();
-            } else if (firstParent.equals(sourceResource.getParent()) == false) {
-                // Resources must have common parent. Fixes bug 33398.
-                return IDEWorkbenchMessages
-                        .getString("CopyFilesAndFoldersOperation.parentNotEqual"); //$NON-NLS-1$					
-            }
-
-            IPath sourceLocation = sourceResource.getLocation();
-            if (sourceLocation == null) {
-                if (sourceResource.isLinked()) {
-                    // Don't allow copying linked resources with undefined path 
-                    // variables. See bug 28754.
-                    return IDEWorkbenchMessages.format(
-                            "CopyFilesAndFoldersOperation.missingPathVariable", //$NON-NLS-1$
-                            new Object[] { sourceResource.getName() });
-                } else {
-                    return IDEWorkbenchMessages.format(
-                            "CopyFilesAndFoldersOperation.resourceDeleted", //$NON-NLS-1$
-                            new Object[] { sourceResource.getName() });
-                }
-            } else {
-                if (sourceLocation.equals(destinationLocation)) {
-                    return IDEWorkbenchMessages.format(
-                            "CopyFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-                            new Object[] { sourceResource.getName() });
-                }
-                // is the source a parent of the destination?
-                if (sourceLocation.isPrefixOf(destinationLocation)) {
-                    return IDEWorkbenchMessages
-                            .getString("CopyFilesAndFoldersOperation.destinationDescendentError"); //$NON-NLS-1$
-                }
-            }
-            String linkedResourceMessage = validateLinkedResource(destination,
-                    sourceResource);
-            if (linkedResourceMessage != null) {
-                return linkedResourceMessage;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Validates whether the destination location exists.
-     * Linked resources created on undefined path variables have
-     * an undefined location. 
-     * 
-     * @param destination destination container
-     * @return error message or null if destination location is 
-     * 	valid (non-<code>null</code>)
-     */
-    private String validateDestinationLocation(IContainer destination) {
-        IPath destinationLocation = destination.getLocation();
-
-        if (destinationLocation == null) {
-            if (destination.isLinked()) {
-                return IDEWorkbenchMessages.format(
-                        "CopyFilesAndFoldersOperation.missingPathVariable", //$NON-NLS-1$
-                        new Object[] { destination.getName() });
-            } else {
-                return IDEWorkbenchMessages.format(
-                        "CopyFilesAndFoldersOperation.resourceDeleted", //$NON-NLS-1$
-                        new Object[] { destination.getName() });
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Validates that the given source resources can be copied to the 
-     * destination as decided by the VCM provider.
-     * 
-     * @param destination copy destination
-     * @param sourceResources source resources
-     * @return <code>true</code> all files passed validation or there 
-     * 	were no files to validate. <code>false</code> one or more files
-     * 	did not pass validation. 
-     */
-    private boolean validateEdit(IContainer destination,
-            IResource[] sourceResources) {
-        ArrayList copyFiles = new ArrayList();
-
-        collectExistingReadonlyFiles(destination.getFullPath(),
-                sourceResources, copyFiles);
-        if (copyFiles.size() > 0) {
-            IFile[] files = (IFile[]) copyFiles.toArray(new IFile[copyFiles
-                    .size()]);
-            IWorkspace workspace = ResourcesPlugin.getWorkspace();
-            IStatus status = workspace.validateEdit(files, parentShell);
-
-            canceled = status.isOK() == false;
-            return status.isOK();
-        }
-        return true;
-    }
-
-    /**
-     * Checks whether the destination is valid for copying the source 
-     * files.
-     * <p>
-     * Note this method is for internal use only. It is not API.
-     * </p>
-     *
-     * @param destination the destination container
-     * @param sourceNames the source file names
-     * @return an error message, or <code>null</code> if the path is valid
-     */
-    public String validateImportDestination(IContainer destination,
-            String[] sourceNames) {
-        if (!isAccessible(destination)) {
-            return IDEWorkbenchMessages
-                    .getString("CopyFilesAndFoldersOperation.destinationAccessError"); //$NON-NLS-1$
-        }
-        String destinationMessage = validateDestinationLocation(destination);
-        if (destinationMessage != null) {
-            return destinationMessage;
-        }
-        // work around bug 16202. revert when fixed.
-        IPath destinationPath = destination.getLocation();
-        File destinationFile = destinationPath.toFile();
-        for (int i = 0; i < sourceNames.length; i++) {
-            IPath sourcePath = new Path(sourceNames[i]);
-            File sourceFile = sourcePath.toFile();
-            File sourceParentFile = sourcePath.removeLastSegments(1).toFile();
-            if (sourceFile != null) {
-                if (destinationFile.compareTo(sourceFile) == 0
-                        || (sourceParentFile != null && destinationFile
-                                .compareTo(sourceParentFile) == 0)) {
-                    return IDEWorkbenchMessages
-                            .format(
-                                    "CopyFilesAndFoldersOperation.importSameSourceAndDest", //$NON-NLS-1$
-                                    new Object[] { sourceFile.getName() });
-                }
-                // work around bug 16202. replacement for sourcePath.isPrefixOf(destinationPath)
-                IPath destinationParent = destinationPath.removeLastSegments(1);
-                while (destinationParent.isEmpty() == false
-                        && destinationParent.isRoot() == false) {
-                    destinationFile = destinationParent.toFile();
-                    if (sourceFile.compareTo(destinationFile) == 0) {
-                        return IDEWorkbenchMessages
-                                .getString("CopyFilesAndFoldersOperation.destinationDescendentError"); //$NON-NLS-1$
-                    }
-                    destinationParent = destinationParent.removeLastSegments(1);
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Check if the destination is valid for the given source resource. 
-     * 
-     * @param destination destination container of the operation
-     * @param source source resource
-     * @return String error message or null if the destination is valid
-     */
-    private String validateLinkedResource(IContainer destination,
-            IResource source) {
-        if (source.isLinked() == false) {
-            return null;
-        }
-        IWorkspace workspace = destination.getWorkspace();
-        IResource linkHandle = createLinkedResourceHandle(destination, source);
-        IStatus locationStatus = workspace.validateLinkLocation(linkHandle,
-                source.getRawLocation());
-
-        if (locationStatus.getSeverity() == IStatus.ERROR) {
-            return locationStatus.getMessage();
-        }
-        IPath sourceLocation = source.getLocation();
-        if (source.getProject().equals(destination.getProject()) == false
-                && source.getType() == IResource.FOLDER
-                && sourceLocation != null) {
-            // prevent merging linked folders that point to the same
-            // file system folder 
-            try {
-                IResource[] members = destination.members();
-                for (int j = 0; j < members.length; j++) {
-                    if (sourceLocation.equals(members[j].getLocation())
-                            && source.getName().equals(members[j].getName())) {
-                        return IDEWorkbenchMessages
-                                .format(
-                                        "CopyFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-                                        new Object[] { source.getName() });
-                    }
-                }
-            } catch (CoreException exception) {
-                displayError(IDEWorkbenchMessages.format(
-                        "CopyFilesAndFoldersOperation.internalError", //$NON-NLS-1$
-                        new Object[] { exception.getMessage() }));
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns whether moving all of the given source resources to the given
-     * destination container could be done without causing name collisions.
-     * 
-     * @param destination the destination container
-     * @param sourceResources the list of resources 
-     * @param monitor a progress monitor for showing progress and for 
-     * 	cancelation
-     * @return <code>true</code> if there would be no name collisions, and
-     *   <code>false</code> if there would
-     */
-    private IResource[] validateNoNameCollisions(IContainer destination,
-            IResource[] sourceResources, IProgressMonitor monitor) {
-        List copyItems = new ArrayList();
-        IWorkspaceRoot workspaceRoot = destination.getWorkspace().getRoot();
-        int overwrite = IDialogConstants.NO_ID;
-
-        // Check to see if we would be overwriting a parent folder.
-        // Cancel entire copy operation if we do.
-        for (int i = 0; i < sourceResources.length; i++) {
-            final IResource sourceResource = sourceResources[i];
-            final IPath destinationPath = destination.getFullPath().append(
-                    sourceResource.getName());
-            final IPath sourcePath = sourceResource.getFullPath();
-
-            IResource newResource = workspaceRoot.findMember(destinationPath);
-            if (newResource != null && destinationPath.isPrefixOf(sourcePath)) {
-                //Run it inside of a runnable to make sure we get to parent off of the shell as we are not
-                //in the UI thread.
-                Runnable notice = new Runnable() {
-                    public void run() {
-                        MessageDialog
-                                .openError(
-                                        parentShell,
-                                        IDEWorkbenchMessages
-                                                .getString("CopyFilesAndFoldersOperation.overwriteProblemTitle"), //$NON-NLS-1$
-                                        IDEWorkbenchMessages
-                                                .format(
-                                                        "CopyFilesAndFoldersOperation.overwriteProblem", //$NON-NLS-1$
-                                                        new Object[] {
-                                                                destinationPath,
-                                                                sourcePath }));
-                    }
-                };
-                parentShell.getDisplay().syncExec(notice);
-                canceled = true;
-                return null;
-            }
-        }
-        // Check for overwrite conflicts
-        for (int i = 0; i < sourceResources.length; i++) {
-            final IResource source = sourceResources[i];
-            final IPath destinationPath = destination.getFullPath().append(
-                    source.getName());
-
-            IResource newResource = workspaceRoot.findMember(destinationPath);
-            if (newResource != null) {
-                if (overwrite != IDialogConstants.YES_TO_ALL_ID
-                        || (newResource.getType() == IResource.FOLDER && homogenousResources(
-                                source, destination) == false)) {
-                    overwrite = checkOverwrite(parentShell, source, newResource);
-                }
-                if (overwrite == IDialogConstants.YES_ID
-                        || overwrite == IDialogConstants.YES_TO_ALL_ID) {
-                    copyItems.add(source);
-                } else if (overwrite == IDialogConstants.CANCEL_ID) {
-                    canceled = true;
-                    return null;
-                }
-            } else {
-                copyItems.add(source);
-            }
-        }
-        return (IResource[]) copyItems.toArray(new IResource[copyItems.size()]);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java
deleted file mode 100644
index 2e0fcaa..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectAction.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-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.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The CopyProjectAction is the action designed to copy projects specifically
- * as they have different semantics from other resources.
- * Note that this action assumes that a single project is selected and being
- * manipulated. This should be disabled for multi select or no selection.
- */
-public class CopyProjectAction extends SelectionListenerAction {
-    private static String COPY_TOOL_TIP = IDEWorkbenchMessages
-            .getString("CopyProjectAction.toolTip"); //$NON-NLS-1$
-
-    private static String COPY_TITLE = IDEWorkbenchMessages
-            .getString("CopyProjectAction.title"); //$NON-NLS-1$
-
-    private static String COPY_PROGRESS_TITLE = IDEWorkbenchMessages
-            .getString("CopyProjectAction.progressTitle"); //$NON-NLS-1$
-
-    private static String PROBLEMS_TITLE = IDEWorkbenchMessages
-            .getString("CopyProjectAction.copyFailedTitle"); //$NON-NLS-1$
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".CopyProjectAction";//$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    protected Shell shell;
-
-    /**
-     * Status containing the errors detected when running the operation or
-     * <code>null</code> if no errors detected.
-     */
-    protected IStatus errorStatus;
-
-    /**
-     * Creates a new project copy action with the default text.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public CopyProjectAction(Shell shell) {
-        this(shell, COPY_TITLE);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.COPY_PROJECT_ACTION);
-    }
-
-    /**
-     * Creates a new project copy action with the given text.
-     *
-     * @param shell the shell for any dialogs
-     * @param name the string used as the text for the action, 
-     *   or <code>null</code> if there is no text
-     */
-    CopyProjectAction(Shell shell, String name) {
-        super(name);
-        setToolTipText(COPY_TOOL_TIP);
-        setId(CopyProjectAction.ID);
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-    }
-
-    /**
-     * Create a new IProjectDescription for the copy using the name and path selected
-     * from the dialog.
-     * @return IProjectDescription
-     * @param project the source project
-     * @param projectName the name for the new project
-     * @param rootLocation the path the new project will be stored under.
-     */
-    protected IProjectDescription createDescription(IProject project,
-            String projectName, IPath rootLocation) throws CoreException {
-        //Get a copy of the current description and modify it
-        IProjectDescription newDescription = project.getDescription();
-        newDescription.setName(projectName);
-
-        //If the location is the default then set the location to null
-        if (rootLocation.equals(Platform.getLocation()))
-            newDescription.setLocation(null);
-        else
-            newDescription.setLocation(rootLocation);
-
-        return newDescription;
-    }
-
-    /**
-     * Opens an error dialog to display the given message.
-     * <p>
-     * Note that this method must be called from UI thread.
-     * </p>
-     *
-     * @param message the message
-     */
-    void displayError(String message) {
-        MessageDialog.openError(this.shell, getErrorsTitle(), message);
-    }
-
-    /**
-     * Return the title of the errors dialog.
-     * @return java.lang.String
-     */
-    protected String getErrorsTitle() {
-        return PROBLEMS_TITLE;
-    }
-
-    /**
-     * Get the plugin used by a copy action
-     * @return AbstractUIPlugin
-     */
-    protected org.eclipse.ui.plugin.AbstractUIPlugin getPlugin() {
-        return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-    }
-
-    /**
-     * Copies the project to the new values.
-     *
-     * @param project the project to copy
-     * @param projectName the name of the copy
-     * @param newLocation IPath
-     * @return <code>true</code> if the copy operation completed, and 
-     *   <code>false</code> if it was abandoned part way
-     */
-    boolean performCopy(final IProject project, final String projectName,
-            final IPath newLocation) {
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            public void execute(IProgressMonitor monitor) {
-
-                monitor.beginTask(COPY_PROGRESS_TITLE, 100);
-                try {
-                    if (monitor.isCanceled())
-                        throw new OperationCanceledException();
-
-                    //Get a copy of the current description and modify it
-                    IProjectDescription newDescription = createDescription(
-                            project, projectName, newLocation);
-                    monitor.worked(50);
-
-                    project.copy(newDescription, IResource.SHALLOW
-                            | IResource.FORCE, monitor);
-
-                    monitor.worked(50);
-
-                } catch (CoreException e) {
-                    recordError(e); // log error
-                } finally {
-                    monitor.done();
-                }
-            }
-        };
-
-        try {
-            new ProgressMonitorJobsDialog(shell).run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            displayError(IDEWorkbenchMessages
-                    .format(
-                            "CopyProjectAction.internalError", new Object[] { e.getTargetException().getMessage() })); //$NON-NLS-1$
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Query for a new project name and destination using the parameters in the existing
-     * project.
-     * @return Object []  or null if the selection is cancelled
-     * @param project  the project we are going to copy.
-     */
-    protected Object[] queryDestinationParameters(IProject project) {
-        ProjectLocationSelectionDialog dialog = new ProjectLocationSelectionDialog(
-                shell, project);
-        dialog.setTitle(IDEWorkbenchMessages
-                .getString("CopyProjectAction.copyTitle")); //$NON-NLS-1$
-        dialog.open();
-        return dialog.getResult();
-    }
-
-    /**
-     * Records the core exception to be displayed to the user
-     * once the action is finished.
-     *
-     * @param error a <code>CoreException</code>
-     */
-    final void recordError(CoreException error) {
-        this.errorStatus = error.getStatus();
-    }
-
-    /**
-     * Implementation of method defined on <code>IAction</code>.
-     */
-    public void run() {
-
-        errorStatus = null;
-
-        IProject project = (IProject) getSelectedResources().get(0);
-
-        //Get the project name and location in a two element list
-        Object[] destinationPaths = queryDestinationParameters(project);
-        if (destinationPaths == null)
-            return;
-
-        String newName = (String) destinationPaths[0];
-        IPath newLocation = new Path((String) destinationPaths[1]);
-
-        boolean completed = performCopy(project, newName, newLocation);
-
-        if (!completed) // ie.- canceled
-            return; // not appropriate to show errors
-
-        // If errors occurred, open an Error dialog
-        if (errorStatus != null) {
-            ErrorDialog.openError(this.shell, getErrorsTitle(), null,
-                    errorStatus);
-            errorStatus = null;
-        }
-    }
-
-    /**
-     * The <code>CopyResourceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables this action only if 
-     * there is a single selection which is a project.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (!super.updateSelection(selection)) {
-            return false;
-        }
-        if (getSelectedNonResources().size() > 0) {
-            return false;
-        }
-
-        // to enable this command there must be one project selected and nothing else
-        List selectedResources = getSelectedResources();
-        if (selectedResources.size() != 1)
-            return false;
-        IResource source = (IResource) selectedResources.get(0);
-        if (source instanceof IProject && ((IProject) source).isOpen())
-            return true;
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java
deleted file mode 100644
index 58473c8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyProjectOperation.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-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.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * Implementation class to perform the actual copying of project resources from the clipboard 
- * when paste action is invoked.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CopyProjectOperation {
-
-    /**
-     * Status containing the errors detected when running the operation or
-     * <code>null</code> if no errors detected.
-     */
-    private MultiStatus errorStatus;
-
-    /**
-     * The parent shell used to show any dialogs.
-     */
-    private Shell parentShell;
-
-    /** 
-     * Create a new operation initialized with a shell. 
-     * 
-     * @param shell parent shell for error dialogs
-     */
-    public CopyProjectOperation(Shell shell) {
-        parentShell = shell;
-    }
-
-    /**
-     * Paste a copy of the project on the clipboard to the workspace.
-     * @param project The project that is beign copied.
-     */
-    public void copyProject(IProject project) {
-        errorStatus = null;
-
-        //Get the project name and location in a two element list
-        ProjectLocationSelectionDialog dialog = new ProjectLocationSelectionDialog(
-                parentShell, project);
-        dialog.setTitle(IDEWorkbenchMessages
-                .getString("CopyProjectOperation.copyProject")); //$NON-NLS-1$
-        if (dialog.open() != Window.OK)
-            return;
-
-        Object[] destinationPaths = dialog.getResult();
-        if (destinationPaths == null)
-            return;
-
-        String newName = (String) destinationPaths[0];
-        IPath newLocation = new Path((String) destinationPaths[1]);
-
-        boolean completed = performProjectCopy(project, newName, newLocation);
-
-        if (!completed) // ie.- canceled
-            return; // not appropriate to show errors
-
-        // If errors occurred, open an Error dialog
-        if (errorStatus != null) {
-            ErrorDialog.openError(parentShell, IDEWorkbenchMessages
-                    .getString("CopyProjectOperation.copyFailedTitle"), //$NON-NLS-1$
-                    null, errorStatus);
-            errorStatus = null;
-        }
-    }
-
-    /**
-     * Copies the project to the new values.
-     *
-     * @param project the project to copy
-     * @param projectName the name of the copy
-     * @param newLocation IPath
-     * @return <code>true</code> if the copy operation completed, and 
-     *   <code>false</code> if it was abandoned part way
-     */
-    private boolean performProjectCopy(final IProject project,
-            final String projectName, final IPath newLocation) {
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            public void execute(IProgressMonitor monitor) {
-                try {
-                    if (monitor.isCanceled())
-                        throw new OperationCanceledException();
-                    
-                    monitor.setTaskName(IDEWorkbenchMessages
-                            .getString("CopyProjectOperation.progressTitle")); //$NON-NLS-1$
-                    
-                    //Get a copy of the current description and modify it
-                    IProjectDescription newDescription = createProjectDescription(
-                            project, projectName, newLocation);
-                    project.copy(newDescription, IResource.SHALLOW
-                            | IResource.FORCE, monitor);
-                } catch (CoreException e) {
-                    recordError(e); // log error
-                }
-            }
-        };
-
-        try {
-            new ProgressMonitorJobsDialog(parentShell).run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            final String message = e.getTargetException().getMessage();
-            parentShell.getDisplay().syncExec(new Runnable() {
-                public void run() {
-                    MessageDialog.openError(parentShell, IDEWorkbenchMessages
-                            .getString("CopyProjectOperation.copyFailedTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages.format(
-                                    "CopyProjectOperation.internalError", //$NON-NLS-1$
-                                    new Object[] { message }));
-                }
-            });
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Create a new IProjectDescription for the copy using the auto-generated
-     * name and path.
-     * 
-     * @return IProjectDescription
-     * @param project the source project
-     * @param projectName the name for the new project
-     * @param rootLocation the path the new project will be stored under.
-     * @throws CoreException
-     */
-    private IProjectDescription createProjectDescription(IProject project,
-            String projectName, IPath rootLocation) throws CoreException {
-        //Get a copy of the current description and modify it
-        IProjectDescription newDescription = project.getDescription();
-        newDescription.setName(projectName);
-
-        //If the location is the default then set the location to null
-        if (rootLocation.equals(Platform.getLocation()))
-            newDescription.setLocation(null);
-        else
-            newDescription.setLocation(rootLocation);
-
-        return newDescription;
-    }
-
-    /**
-     * Records the core exception to be displayed to the user
-     * once the action is finished.
-     *
-     * @param error a <code>CoreException</code>
-     */
-    private void recordError(CoreException error) {
-
-        if (errorStatus == null)
-            errorStatus = new MultiStatus(
-                    PlatformUI.PLUGIN_ID,
-                    IStatus.ERROR,
-                    IDEWorkbenchMessages
-                            .getString("CopyProjectOperation.copyFailedMessage"), //$NON-NLS-1$
-                    error);
-
-        errorStatus.merge(error.getStatus());
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java
deleted file mode 100644
index 6fa4320..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyResourceAction.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionValidator;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for copying the currently selected resources elsewhere
- * in the workspace. All resources being copied as a group must be siblings.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class CopyResourceAction extends SelectionListenerAction implements
-        ISelectionValidator {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".CopyResourceAction"; //$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * The operation to run.  This is created only during the life-cycle of the
-     * run method.
-     */
-    protected CopyFilesAndFoldersOperation operation;
-
-    /**
-     * Returns a new name for a copy of the resource at the given path in the given
-     * workspace. This name could be determined either automatically or by querying
-     * the user. This name will <b>not</b> be verified by the caller, so it must be
-     * valid and unique.
-     * <p>
-     * Note this method is for internal use only.
-     * </p>
-     *
-     * @param originalName the full path of the resource
-     * @param workspace the workspace
-     * @return the new full path for the copy, or <code>null</code> if the resource
-     *   should not be copied
-     */
-    public static IPath getNewNameFor(IPath originalName, IWorkspace workspace) {
-        return CopyFilesAndFoldersOperation.getAutoNewNameFor(originalName,
-                workspace);
-    }
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public CopyResourceAction(Shell shell) {
-        this(shell, IDEWorkbenchMessages.getString("CopyResourceAction.title")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.COPY_RESOURCE_ACTION);
-    }
-
-    /**
-     * Creates a new action with the given text.
-     *
-     * @param shell the shell for any dialogs
-     * @param name the string used as the name for the action, 
-     *   or <code>null</code> if there is no name
-     */
-    CopyResourceAction(Shell shell, String name) {
-        super(name);
-        setToolTipText(IDEWorkbenchMessages
-                .getString("CopyResourceAction.toolTip")); //$NON-NLS-1$
-        setId(CopyResourceAction.ID);
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-    }
-
-    /**
-     * Returns the operation to perform when this action runs.
-     * 
-     * @return the operation to perform when this action runs.
-     */
-    protected CopyFilesAndFoldersOperation createOperation() {
-        return new CopyFilesAndFoldersOperation(getShell());
-    }
-
-    /**
-     * Returns the path of the container to initially select in the container
-     * selection dialog, or <code>null</code> if there is no initial selection
-     * @return The initial container; <code>null</code> if none.
-     */
-    IContainer getInitialContainer() {
-        List resources = getSelectedResources();
-        if (resources.size() > 0) {
-            IResource resource = (IResource) resources.get(0);
-            return resource.getParent();
-        }
-        return null;
-    }
-
-    /**
-     * Returns an array of resources to use for the operation from 
-     * the provided list.
-     * 
-     * @param resourceList The list of resources to converted into an array.
-     * @return an array of resources to use for the operation
-     */
-    protected IResource[] getResources(List resourceList) {
-        return (IResource[]) resourceList.toArray(new IResource[resourceList
-                .size()]);
-    }
-
-    /**
-     * Returns the shell in which to show any dialogs
-     * @return The shell for parenting dialogs; never <code>null</code>.
-     */
-    Shell getShell() {
-        return shell;
-    }
-
-    /**
-     * The <code>CopyResourceAction</code> implementation of this 
-     * <code>ISelectionValidator</code> method checks whether the given path
-     * is a good place to copy the selected resources.
-     */
-    public String isValid(Object destination) {
-        IWorkspaceRoot root = IDEWorkbenchPlugin.getPluginWorkspace().getRoot();
-        IContainer container = (IContainer) root
-                .findMember((IPath) destination);
-
-        if (container != null) {
-            // create a new operation here. 
-            // isValid is API and may be called in any context.
-            CopyFilesAndFoldersOperation newOperation = createOperation();
-            List sources = getSelectedResources();
-            IResource[] resources = (IResource[]) sources
-                    .toArray(new IResource[sources.size()]);
-            return newOperation.validateDestination(container, resources);
-        }
-        return null;
-    }
-
-    /**
-     * Asks the user for the destination of this action.
-     *
-     * @return the path on an existing or new resource container, or 
-     *  <code>null</code> if the operation should be abandoned
-     */
-    IPath queryDestinationResource() {
-        // start traversal at root resource, should probably start at a
-        // better location in the tree
-        ContainerSelectionDialog dialog = new ContainerSelectionDialog(shell,
-                getInitialContainer(), true, IDEWorkbenchMessages
-                        .getString("CopyResourceAction.selectDestination")); //$NON-NLS-1$
-        dialog.setValidator(this);
-        dialog.showClosedProjects(false);
-        dialog.open();
-        Object[] result = dialog.getResult();
-        if (result != null && result.length == 1) {
-            return (IPath) result[0];
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        try {
-            operation = createOperation();
-
-            // WARNING: do not query the selected resources more than once
-            // since the selection may change during the run, 
-            // e.g. due to window activation when the prompt dialog is dismissed.
-            // For more details, see Bug 60606 [Navigator] (data loss) Navigator deletes/moves the wrong file
-            List sources = getSelectedResources();
-
-            IPath destination = queryDestinationResource();
-            if (destination == null)
-                return;
-
-            IWorkspaceRoot root = IDEWorkbenchPlugin.getPluginWorkspace()
-                    .getRoot();
-            IContainer container = (IContainer) root.findMember(destination);
-            if (container == null) {
-                return;
-            }
-
-            runOperation(getResources(sources), container);
-        } finally {
-            operation = null;
-        }
-    }
-
-    /**
-     * Runs the operation created in <code>createOperaiton</code>
-     * 
-     * @param resources source resources to pass to the operation
-     * @param destination destination container to pass to the operation
-     */
-    protected void runOperation(IResource[] resources, IContainer destination) {
-        operation.copyResources(resources, destination);
-    }
-
-    /**
-     * The <code>CopyResourceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables this action only if 
-     * all of the one or more selections are sibling resources which are 
-     * local (depth infinity).
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (!super.updateSelection(selection)) {
-            return false;
-        }
-        if (getSelectedNonResources().size() > 0) {
-            return false;
-        }
-
-        // to enable this command all selected resources must be siblings
-        List selectedResources = getSelectedResources();
-        if (selectedResources.size() == 0)
-            return false;
-        IContainer firstParent = ((IResource) selectedResources.get(0))
-                .getParent();
-        if (firstParent == null) {
-            return false;
-        }
-        Iterator resourcesEnum = selectedResources.iterator();
-        while (resourcesEnum.hasNext()) {
-            IResource currentResource = (IResource) resourcesEnum.next();
-            if (!currentResource.exists()) {
-                return false;
-            }
-            if (currentResource.getType() == IResource.PROJECT) {
-                return false;
-            }
-            IContainer parent = currentResource.getParent();
-            if ((parent != null) && (!parent.equals(firstParent))) {
-                return false;
-            }
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.java
deleted file mode 100644
index ff478f8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFileAction.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.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard;
-
-/**
- * Standard action for creating a file resource within the currently
- * selected folder or project.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @deprecated should use NewWizardMenu to populate a New submenu instead (see Navigator view)
- */
-public class CreateFileAction extends SelectionListenerAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".CreateFileAction";//$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * Creates a new action for creating a file resource.
-     *
-     * @param shell the shell for any dialogs
-     * 
-     * @deprecated see deprecated tag on class
-     */
-    public CreateFileAction(Shell shell) {
-        super(IDEWorkbenchMessages.getString("CreateFileAction.text")); //$NON-NLS-1$
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-        setToolTipText(IDEWorkbenchMessages
-                .getString("CreateFileAction.toolTip")); //$NON-NLS-1$
-        setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
-                .getImageDescriptor(ISharedImages.IMG_OBJ_FILE));
-        setId(ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.CREATE_FILE_ACTION);
-    }
-
-    /**
-     * The <code>CreateFileAction</code> implementation of this
-     * <code>IAction</code> method opens a <code>BasicNewFileResourceWizard</code>
-     * in a wizard dialog under the shell passed to the constructor.
-     */
-    public void run() {
-        BasicNewFileResourceWizard wizard = new BasicNewFileResourceWizard();
-        wizard.init(PlatformUI.getWorkbench(), getStructuredSelection());
-        wizard.setNeedsProgressMonitor(true);
-        WizardDialog dialog = new WizardDialog(shell, wizard);
-        dialog.create();
-        dialog.getShell().setText(
-                IDEWorkbenchMessages.getString("CreateFileAction.title")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(),
-                IIDEHelpContextIds.NEW_FILE_WIZARD);
-        dialog.open();
-    }
-
-    /**
-     * The <code>CreateFileAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables the action only
-     * if the selection contains folders and open projects.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        if (!super.updateSelection(s)) {
-            return false;
-        }
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-            IResource resource = (IResource) resources.next();
-            if (!resourceIsType(resource, IResource.PROJECT | IResource.FOLDER)
-                    || !resource.isAccessible()) {
-                return false;
-            }
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java
deleted file mode 100644
index fef5b9a..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateFolderAction.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard;
-
-/**
- * Standard action for creating a folder resource within the currently
- * selected folder or project.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @deprecated should use NewWizardMenu to populate a New submenu instead (see Navigator view)
- */
-public class CreateFolderAction extends SelectionListenerAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".CreateFolderAction";//$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * Creates a new action for creating a folder resource.
-     *
-     * @param shell the shell for any dialogs
-     * 
-     * @deprecated see deprecated tag on class
-     */
-    public CreateFolderAction(Shell shell) {
-        super(IDEWorkbenchMessages.getString("CreateFolderAction.text")); //$NON-NLS-1$
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-        setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
-                .getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER));
-        setToolTipText(IDEWorkbenchMessages
-                .getString("CreateFolderAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.CREATE_FOLDER_ACTION);
-    }
-
-    /**
-     * The <code>CreateFolderAction</code> implementation of this
-     * <code>IAction</code> method opens a <code>BasicNewFolderResourceWizard</code>
-     * in a wizard dialog under the shell passed to the constructor.
-     */
-    public void run() {
-        BasicNewFolderResourceWizard wizard = new BasicNewFolderResourceWizard();
-        wizard.init(PlatformUI.getWorkbench(), getStructuredSelection());
-        wizard.setNeedsProgressMonitor(true);
-        WizardDialog dialog = new WizardDialog(shell, wizard);
-        dialog.create();
-        dialog.getShell().setText(
-                IDEWorkbenchMessages.getString("CreateFolderAction.title")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(),
-                IIDEHelpContextIds.NEW_FOLDER_WIZARD);
-        dialog.open();
-
-    }
-
-    /**
-     * The <code>CreateFolderAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables the action only
-     * if the selection contains folders and open projects.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        if (!super.updateSelection(s)) {
-            return false;
-        }
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-            IResource resource = (IResource) resources.next();
-            if (!resourceIsType(resource, IResource.PROJECT | IResource.FOLDER)
-                    || !resource.isAccessible()) {
-                return false;
-            }
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java
deleted file mode 100644
index 36f9dd5..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CreateProjectAction.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.MultiStepWizardDialog;
-import org.eclipse.ui.internal.ide.dialogs.NewProjectWizard;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * Standard action for launching the new project creation
- * wizard.
- * <p>
- * This class may be instantiated and subclassed by clients.
- * </p>
- * @deprecated This new experimental API is being temporary
- * 		deprecated for release 2.0  New project creation should
- * 		continue to make use of NewProjectAction.
- */
-public class CreateProjectAction extends Action {
-    /**
-     * The wizard dialog width
-     */
-    private static final int SIZING_WIZARD_WIDTH = 500;
-
-    /**
-     * The wizard dialog height
-     */
-    private static final int SIZING_WIZARD_HEIGHT = 500;
-
-    /**
-     * The workbench window this action will run in
-     */
-    private IWorkbenchWindow window;
-
-    /**
-     * The suggested name for the new project
-     */
-    private String initialProjectName;
-
-    /**
-     * The suggested capabilities for the new project
-     */
-    private Capability[] initialProjectCapabilities;
-
-    /**
-     * The suggested categories to be selected
-     */
-    private Category[] initialSelectedCategories;
-
-    /**
-     * Creates a new action for launching the new project
-     * selection wizard.
-     *
-     * @param window the workbench window to query the current
-     * 		selection and shell for opening the wizard.
-     */
-    public CreateProjectAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("CreateProjectAction.text")); //$NON-NLS-1$
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.window = window;
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-        setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-        setToolTipText(IDEWorkbenchMessages
-                .getString("CreateProjectAction.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				org.eclipse.ui.internal.IWorkbenchHelpContextIds.NEW_ACTION);
-    }
-
-    /**
-     * Returns the selection to initialized the wizard with
-     */
-    protected IStructuredSelection getInitialSelection() {
-        ISelection selection = window.getSelectionService().getSelection();
-        IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-        if (selection instanceof IStructuredSelection)
-            selectionToPass = (IStructuredSelection) selection;
-        return selectionToPass;
-    }
-
-    /**
-     * Sets the initial categories to be selected. Ignores
-     * any IDs which do not represent valid categories.
-     * 
-     * @param ids initial category ids to select
-     */
-    public void setInitialSelectedCategories(String[] ids) {
-        if (ids == null || ids.length == 0)
-            initialSelectedCategories = null;
-        else {
-            CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                    .getCapabilityRegistry();
-            ArrayList results = new ArrayList(ids.length);
-            for (int i = 0; i < ids.length; i++) {
-                Category cat = reg.findCategory(ids[i]);
-                if (cat != null)
-                    results.add(cat);
-            }
-            if (results.isEmpty())
-                initialSelectedCategories = null;
-            else {
-                initialSelectedCategories = new Category[results.size()];
-                results.toArray(initialSelectedCategories);
-            }
-        }
-    }
-
-    /**
-     * Sets the initial project capabilities to be selected.
-     * Ignores any IDs which do not represent valid capabilities.
-     * 
-     * @param ids initial project capability ids to select
-     */
-    public void setInitialProjectCapabilities(String[] ids) {
-        if (ids == null || ids.length == 0)
-            initialProjectCapabilities = null;
-        else {
-            CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                    .getCapabilityRegistry();
-            ArrayList results = new ArrayList(ids.length);
-            for (int i = 0; i < ids.length; i++) {
-                Capability cap = reg.findCapability(ids[i]);
-                if (cap != null && cap.isValid())
-                    results.add(cap);
-            }
-            if (results.isEmpty())
-                initialProjectCapabilities = null;
-            else {
-                initialProjectCapabilities = new Capability[results.size()];
-                results.toArray(initialProjectCapabilities);
-            }
-        }
-    }
-
-    /**
-     * Sets the initial project name. Leading and trailing
-     * spaces in the name are ignored.
-     * 
-     * @param name initial project name
-     */
-    public void setInitialProjectName(String name) {
-        if (name == null)
-            initialProjectName = null;
-        else
-            initialProjectName = name.trim();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        // Create a new project wizard 
-        NewProjectWizard wizard = new NewProjectWizard();
-        wizard.init(window.getWorkbench(), getInitialSelection());
-        wizard.setInitialProjectName(initialProjectName);
-        wizard.setInitialProjectCapabilities(initialProjectCapabilities);
-        wizard.setInitialSelectedCategories(initialSelectedCategories);
-
-        // Create a wizard dialog.
-        WizardDialog dialog = new MultiStepWizardDialog(window.getShell(),
-                wizard);
-        dialog.create();
-        dialog.getShell().setSize(
-                Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x),
-                SIZING_WIZARD_HEIGHT);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(),
-                IIDEHelpContextIds.NEW_PROJECT_WIZARD);
-
-        // Open the wizard.
-        dialog.open();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
deleted file mode 100644
index 68b9ad5..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
+++ /dev/null
@@ -1,574 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for deleting the currently selected resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class DeleteResourceAction extends SelectionListenerAction {
-
-    static class DeleteProjectDialog extends MessageDialog {
-
-        private IResource[] projects;
-
-        private boolean deleteContent = false;
-
-        private Button radio1;
-
-        private Button radio2;
-
-        DeleteProjectDialog(Shell parentShell, IResource[] projects) {
-            super(parentShell, getTitle(projects), null, // accept the default window icon
-                    getMessage(projects), MessageDialog.QUESTION, new String[] {
-                            IDialogConstants.YES_LABEL,
-                            IDialogConstants.NO_LABEL }, 0); // yes is the default
-            this.projects = projects;
-        }
-
-        static String getTitle(IResource[] projects) {
-            if (projects.length == 1)
-                return IDEWorkbenchMessages
-                        .getString("DeleteResourceAction.titleProject1"); //$NON-NLS-1$
-            return IDEWorkbenchMessages
-                        .getString("DeleteResourceAction.titleProjectN"); //$NON-NLS-1$
-        }
-
-        static String getMessage(IResource[] projects) {
-            if (projects.length == 1) {
-                IProject project = (IProject) projects[0];
-                return IDEWorkbenchMessages
-                        .format(
-                                "DeleteResourceAction.confirmProject1", new Object[] { project.getName() }); //$NON-NLS-1$
-            }
-            return IDEWorkbenchMessages
-                    .format(
-                            "DeleteResourceAction.confirmProjectN", new Object[] { new Integer(projects.length) }); //$NON-NLS-1$
-        }
-
-        /* (non-Javadoc)
-         * Method declared on Window.
-         */
-        protected void configureShell(Shell newShell) {
-            super.configureShell(newShell);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-                    IIDEHelpContextIds.DELETE_PROJECT_DIALOG);
-        }
-
-        protected Control createCustomArea(Composite parent) {
-            Composite composite = new Composite(parent, SWT.NONE);
-            composite.setLayout(new GridLayout());
-            radio1 = new Button(composite, SWT.RADIO);
-            radio1.addSelectionListener(selectionListener);
-            String text1;
-            if (projects.length == 1) {
-                IProject project = (IProject) projects[0];
-                if (project == null || project.getLocation() == null)
-                    text1 = IDEWorkbenchMessages
-                            .getString("DeleteResourceAction.deleteContentsN"); //$NON-NLS-1$
-                else
-                    text1 = IDEWorkbenchMessages
-                            .format(
-                                    "DeleteResourceAction.deleteContents1", new Object[] { project.getLocation().toOSString() }); //$NON-NLS-1$
-            } else {
-                text1 = IDEWorkbenchMessages
-                        .getString("DeleteResourceAction.deleteContentsN"); //$NON-NLS-1$
-            }
-            radio1.setText(text1);
-            radio1.setFont(parent.getFont());
-
-            radio2 = new Button(composite, SWT.RADIO);
-            radio2.addSelectionListener(selectionListener);
-            String text2 = IDEWorkbenchMessages
-                    .getString("DeleteResourceAction.doNotDeleteContents"); //$NON-NLS-1$
-            radio2.setText(text2);
-            radio2.setFont(parent.getFont());
-
-            // set initial state
-            radio1.setSelection(deleteContent);
-            radio2.setSelection(!deleteContent);
-
-            return composite;
-        }
-
-        private SelectionListener selectionListener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                Button button = (Button) e.widget;
-                if (button.getSelection()) {
-                    deleteContent = (button == radio1);
-                }
-            }
-        };
-
-        boolean getDeleteContent() {
-            return deleteContent;
-        }
-    }
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".DeleteResourceAction";//$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * Whether or not we are deleting content for projects.
-     */
-    private boolean deleteContent = false;
-
-    /**
-     * Whether or not to automatically delete out of sync resources
-     */
-    private boolean forceOutOfSyncDelete = false;
-
-    /**
-     * Creates a new delete resource action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public DeleteResourceAction(Shell shell) {
-        super(IDEWorkbenchMessages.getString("DeleteResourceAction.text")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages
-                .getString("DeleteResourceAction.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.DELETE_RESOURCE_ACTION);
-        setId(ID);
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-    }
-
-    /**
-     * Returns whether delete can be performed on the current selection.
-     *
-     * @param resources the selected resources
-     * @return <code>true</code> if the resources can be deleted, and 
-     *  <code>false</code> if the selection contains non-resources or phantom
-     *  resources
-     */
-    private boolean canDelete(IResource[] resources) {
-        // allow only projects or only non-projects to be selected; 
-        // note that the selection may contain multiple types of resource
-        if (!(containsOnlyProjects(resources) || containsOnlyNonProjects(resources))) {
-            return false;
-        }
-
-        if (resources.length == 0)
-            return false;
-        // Return true if everything in the selection exists.
-        for (int i = 0; i < resources.length; i++) {
-            IResource resource = resources[i];
-            if (resource.isPhantom()) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Returns whether the selection contains linked resources.
-     *
-     * @param resources the selected resources
-     * @return <code>true</code> if the resources contain linked   
-     *  resources, and <code>false</code> otherwise
-     */
-    private boolean containsLinkedResource(IResource[] resources) {
-        for (int i = 0; i < resources.length; i++) {
-            IResource resource = resources[i];
-            if (resource.isLinked())
-                return true;
-        }
-        return false;
-    }
-
-    /**
-     * Returns whether the selection contains only non-projects.
-     *
-     * @param resources the selected resources
-     * @return <code>true</code> if the resources contains only non-projects, and 
-     *  <code>false</code> otherwise
-     */
-    private boolean containsOnlyNonProjects(IResource[] resources) {
-        int types = getSelectedResourceTypes(resources);
-        // check for empty selection
-        if (types == 0)
-            return false;
-        // note that the selection may contain multiple types of resource
-        return (types & IResource.PROJECT) == 0;
-    }
-
-    /**
-     * Returns whether the selection contains only projects.
-     * 
-     * @param resources the selected resources
-     * @return <code>true</code> if the resources contains only projects, and 
-     *  <code>false</code> otherwise
-     */
-    private boolean containsOnlyProjects(IResource[] resources) {
-        int types = getSelectedResourceTypes(resources);
-        // note that the selection may contain multiple types of resource
-        return types == IResource.PROJECT;
-    }
-    
-    /**
-     * Creates and returns a result status appropriate for the given list of exceptions.
-     * @param exceptions The list of exceptions that occurred (may be empty)
-     * @return The result status for the deletion
-     */
-    private IStatus createResult(List exceptions) {
-    	if (exceptions.isEmpty())
-    		return Status.OK_STATUS;
-        final int exceptionCount = exceptions.size();
-        if (exceptionCount == 1) {
-            return ((CoreException) exceptions.get(0)).getStatus();
-        }
-        CoreException[] children = (CoreException[]) exceptions.toArray(new CoreException[exceptionCount]);
-        boolean outOfSync = false;
-        for (int i = 0; i < children.length; i++) {
-            if (children[i].getStatus().getCode() == IResourceStatus.OUT_OF_SYNC_LOCAL) {
-                outOfSync = true;
-                break;
-            }
-        }
-        String title = IDEWorkbenchMessages.getString(outOfSync ? "DeleteResourceAction.outOfSyncError" : "DeleteResourceAction.deletionExceptionMessage"); //$NON-NLS-1$ //$NON-NLS-2$
-        final MultiStatus multi = new MultiStatus(
-                IDEWorkbenchPlugin.IDE_WORKBENCH,
-                0,
-                title, null);
-        for (int i = 0; i < exceptionCount; i++) {
-            CoreException exception = children[i];
-            IStatus status = exception.getStatus();
-            multi.add(new Status(status.getSeverity(), status.getPlugin(),
-                    status.getCode(), status.getMessage(), exception));
-        }
-        return multi;
-    }
-
-    /**
-     * Asks the user to confirm a delete operation.
-     *
-     * @param resources the selected resources
-     * @return <code>true</code> if the user says to go ahead, and <code>false</code>
-     *  if the deletion should be abandoned
-     */
-    private boolean confirmDelete(IResource[] resources) {
-        if (containsOnlyProjects(resources)) {
-            return confirmDeleteProjects(resources);
-        }
-        return confirmDeleteNonProjects(resources);
-    }
-
-    /**
-     * Asks the user to confirm a delete operation,
-     * where the selection contains no projects.
-     *
-     * @param resources the selected resources
-     * @return <code>true</code> if the user says to go ahead, and <code>false</code>
-     *  if the deletion should be abandoned
-     */
-    private boolean confirmDeleteNonProjects(IResource[] resources) {
-        String title;
-        String msg;
-        if (resources.length == 1) {
-            title = IDEWorkbenchMessages
-                    .getString("DeleteResourceAction.title1"); //$NON-NLS-1$
-            IResource resource = resources[0];
-            if (resource.isLinked())
-                msg = IDEWorkbenchMessages
-                        .format(
-                                "DeleteResourceAction.confirmLinkedResource1", new Object[] { resource.getName() }); //$NON-NLS-1$
-            else
-                msg = IDEWorkbenchMessages
-                        .format(
-                                "DeleteResourceAction.confirm1", new Object[] { resource.getName() }); //$NON-NLS-1$
-        } else {
-            title = IDEWorkbenchMessages
-                    .getString("DeleteResourceAction.titleN"); //$NON-NLS-1$
-            if (containsLinkedResource(resources))
-                msg = IDEWorkbenchMessages
-                        .format(
-                                "DeleteResourceAction.confirmLinkedResourceN", new Object[] { new Integer(resources.length) }); //$NON-NLS-1$
-            else
-                msg = IDEWorkbenchMessages
-                        .format(
-                                "DeleteResourceAction.confirmN", new Object[] { new Integer(resources.length) }); //$NON-NLS-1$
-        }
-        return MessageDialog.openQuestion(shell, title, msg);
-    }
-
-    /**
-     * Asks the user to confirm a delete operation,
-     * where the selection contains only projects.
-     * Also remembers whether project content should be deleted.
-     *
-     * @param resources the selected resources
-     * @return <code>true</code> if the user says to go ahead, and <code>false</code>
-     *  if the deletion should be abandoned
-     */
-    private boolean confirmDeleteProjects(IResource[] resources) {
-        DeleteProjectDialog dialog = new DeleteProjectDialog(shell, resources);
-        int code = dialog.open();
-        deleteContent = dialog.getDeleteContent();
-        return code == 0; // YES
-    }
-
-    /**
-     * Deletes the given resources.
-     */
-    private IStatus delete(IResource[] resourcesToDelete, IProgressMonitor monitor) {
-        final List exceptions = new ArrayList();
-        forceOutOfSyncDelete = false;
-        monitor.beginTask("", resourcesToDelete.length); //$NON-NLS-1$
-        try {
-	        for (int i = 0; i < resourcesToDelete.length; ++i) {
-	            if (monitor.isCanceled()) {
-	                return Status.CANCEL_STATUS;
-	            }
-	            try {
-	                delete(resourcesToDelete[i], new SubProgressMonitor(monitor, 1,
-	                        SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK));
-	            } catch (CoreException e) {
-	                exceptions.add(e);
-	            }
-	        }
-	        return createResult(exceptions);
-        } finally {
-        	monitor.done();
-        }
-    }
-
-    /**
-     * Deletes the given resource.
-     */
-    private void delete(IResource resourceToDelete, IProgressMonitor monitor)
-            throws CoreException {
-        boolean force = false; // don't force deletion of out-of-sync resources
-        try {
-            if (resourceToDelete.getType() == IResource.PROJECT) {
-                // if it's a project, ask whether content should be deleted too
-                IProject project = (IProject) resourceToDelete;
-                project.delete(deleteContent, force, monitor);
-            } else {
-                // if it's not a project, just delete it
-                resourceToDelete.delete(IResource.KEEP_HISTORY, monitor);
-            }
-        } catch (CoreException exception) {
-            if (resourceToDelete.getType() == IResource.FILE) {
-                IStatus[] children = exception.getStatus().getChildren();
-
-                if (children.length == 1
-                        && children[0].getCode() == IResourceStatus.OUT_OF_SYNC_LOCAL) {
-                    if (forceOutOfSyncDelete) {
-                        resourceToDelete.delete(IResource.KEEP_HISTORY
-                                | IResource.FORCE, monitor);
-                    } else {
-                        int result = queryDeleteOutOfSync(resourceToDelete);
-
-                        if (result == IDialogConstants.YES_ID) {
-                            resourceToDelete.delete(IResource.KEEP_HISTORY
-                                    | IResource.FORCE, monitor);
-                        } else if (result == IDialogConstants.YES_TO_ALL_ID) {
-                            forceOutOfSyncDelete = true;
-                            resourceToDelete.delete(IResource.KEEP_HISTORY
-                                    | IResource.FORCE, monitor);
-                        } else if (result == IDialogConstants.CANCEL_ID) {
-                            throw new OperationCanceledException();
-                        }
-                    }
-                } else {
-                    throw exception;
-                }
-            } else {
-                throw exception;
-            }
-        }
-    }
-
-    /**
-     * Return an array of the currently selected resources.
-     *
-     * @return the selected resources
-     */
-    private IResource[] getSelectedResourcesArray() {
-        List selection = getSelectedResources();
-        IResource[] resources = new IResource[selection.size()];
-        selection.toArray(resources);
-        return resources;
-    }
-
-    /**
-     * Returns a bit-mask containing the types of resources in the selection.
-     * 
-     * @param resources the selected resources
-     */
-    private int getSelectedResourceTypes(IResource[] resources) {
-        int types = 0;
-        for (int i = 0; i < resources.length; i++) {
-            types |= resources[i].getType();
-        }
-        return types;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        IResource[] resources = getSelectedResourcesArray();
-        // WARNING: do not query the selected resources more than once
-        // since the selection may change during the run, 
-        // e.g. due to window activation when the prompt dialog is dismissed.
-        // For more details, see Bug 60606 [Navigator] (data loss) Navigator deletes/moves the wrong file
-        if (!confirmDelete(resources))
-            return;
-        final IResource[] resourcesToDelete = getResourcesToDelete(resources);
-
-        if (resourcesToDelete.length == 0)
-            return;
-    	Job deleteJob = new WorkspaceJob(IDEWorkbenchMessages.getString("DeleteResourceAction.jobName")) { //$NON-NLS-1$
-    		public IStatus runInWorkspace(IProgressMonitor monitor) {
-                return delete(resourcesToDelete, monitor);
-    		}
-    	};
-    	deleteJob.setRule(getDeleteRule(resourcesToDelete));
-    	deleteJob.setUser(true);
-    	deleteJob.schedule();
-    }
-
-    /*
-     * Return the scheduling rule that encompasses the deletion of the selected resources
-     */
-    private ISchedulingRule getDeleteRule(IResource[] resourcesToDelete) {
-        IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-        ISchedulingRule combinedRule = null;
-        for (int i = 0; i < resourcesToDelete.length; i++) {
-            IResource resource = resourcesToDelete[i];
-            ISchedulingRule deleteRule = ruleFactory.deleteRule(resource);
-            if (combinedRule == null) {
-                combinedRule = deleteRule;
-            } else {
-                combinedRule = MultiRule.combine(combinedRule, deleteRule);
-            }
-        }
-        return combinedRule;
-    }
-
-    /**
-     * Returns the resources to delete based on the selection and their read-only status.
-     * 
-     * @param resources the selected resources
-     * @return the resources to delete
-     */
-    private IResource[] getResourcesToDelete(IResource[] resources) {
-
-        if (containsOnlyProjects(resources) && !deleteContent) {
-            // We can just return the selection
-            return resources;
-        }
-
-        ReadOnlyStateChecker checker = new ReadOnlyStateChecker(this.shell,
-                IDEWorkbenchMessages.getString("DeleteResourceAction.title1"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("DeleteResourceAction.readOnlyQuestion")); //$NON-NLS-1$
-        checker.setIgnoreLinkedResources(true);
-        return checker.checkReadOnlyResources(resources);
-    }
-
-    /**
-     * The <code>DeleteResourceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method disables the action
-     * if the selection contains phantom resources or non-resources
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        return super.updateSelection(selection)
-                && canDelete(getSelectedResourcesArray());
-    }
-
-    /**
-     * Ask the user whether the given resource should be deleted
-     * despite being out of sync with the file system.
-     * @param resource the out of sync resource
-     * @return One of the IDialogConstants constants indicating which
-     * 	of the Yes, Yes to All, No, Cancel options has been selected by 
-     * 	the user.
-     */
-    private int queryDeleteOutOfSync(IResource resource) {
-        final MessageDialog dialog = new MessageDialog(
-                shell,
-                IDEWorkbenchMessages
-                        .getString("DeleteResourceAction.messageTitle"), //$NON-NLS-1$		
-                null,
-                IDEWorkbenchMessages
-                        .format(
-                                "DeleteResourceAction.outOfSyncQuestion", new Object[] { resource.getName() }), //$NON-NLS-1$
-                MessageDialog.QUESTION, new String[] {
-                        IDialogConstants.YES_LABEL,
-                        IDialogConstants.YES_TO_ALL_LABEL,
-                        IDialogConstants.NO_LABEL,
-                        IDialogConstants.CANCEL_LABEL }, 0);
-        shell.getDisplay().syncExec(new Runnable() {
-            public void run() {
-                dialog.open();
-            }
-        });
-        int result = dialog.getReturnCode();
-        if (result == 0)
-            return IDialogConstants.YES_ID;
-        if (result == 1)
-            return IDialogConstants.YES_TO_ALL_ID;
-        if (result == 2)
-            return IDialogConstants.NO_ID;
-        return IDialogConstants.CANCEL_ID;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.java
deleted file mode 100644
index 161e282..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/GlobalBuildAction.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.ui.actions;
-
-import org.eclipse.core.internal.jobs.JobManager;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-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.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for full and incremental builds of all projects within the
- * workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class GlobalBuildAction extends Action implements
-        ActionFactory.IWorkbenchAction {
-    /**
-     * The type of build performed by this action. Can be either
-     * <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or
-     * <code>IncrementalProjectBuilder.FULL_BUILD</code>.
-     */
-    private int buildType;
-
-    /**
-     * The workbench window; or <code>null</code> if this action has been
-     * <code>dispose</code>d.
-     */
-    private IWorkbenchWindow workbenchWindow;
-
-    /**
-     * Creates a new action of the appropriate type. The action id is
-     * <code>IWorkbenchActionConstants.BUILD</code> for incremental builds and
-     * <code>IWorkbenchActionConstants.REBUILD_ALL</code> for full builds.
-     * 
-     * @param workbench
-     *            the active workbench
-     * @param shell
-     *            the shell for any dialogs
-     * @param type
-     *            the type of build; one of
-     *            <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or
-     *            <code>IncrementalProjectBuilder.FULL_BUILD</code>
-     * 
-     * @deprecated use GlobalBuildAction(IWorkbenchWindow, type) instead
-     */
-    public GlobalBuildAction(IWorkbench workbench, Shell shell, int type) {
-        // always use active window; ignore shell
-        this(workbench.getActiveWorkbenchWindow(), type);
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-    }
-
-    /**
-     * Creates a new action of the appropriate type. The action id is
-     * <code>IWorkbenchActionConstants.BUILD</code> for incremental builds and
-     * <code>IWorkbenchActionConstants.REBUILD_ALL</code> for full builds.
-     * 
-     * @param window
-     *            the window in which this action appears
-     * @param type
-     *            the type of build; one of
-     *            <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or
-     *            <code>IncrementalProjectBuilder.FULL_BUILD</code>
-     */
-    public GlobalBuildAction(IWorkbenchWindow window, int type) {
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.workbenchWindow = window;
-        setBuildType(type);
-    }
-
-    /**
-     * Sets the build type.
-     * 
-     * @param type
-     *            the type of build; one of
-     *            <code>IncrementalProjectBuilder.INCREMENTAL_BUILD</code> or
-     *            <code>IncrementalProjectBuilder.FULL_BUILD</code>
-     */
-    private void setBuildType(int type) {
-        // allow AUTO_BUILD as well for backwards compatibility, but treat it
-        // the same as INCREMENTAL_BUILD
-        switch (type) {
-        case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-        case IncrementalProjectBuilder.AUTO_BUILD:
-            setText(IDEWorkbenchMessages.getString("GlobalBuildAction.text")); //$NON-NLS-1$
-            setToolTipText(IDEWorkbenchMessages
-                    .getString("GlobalBuildAction.toolTip")); //$NON-NLS-1$
-            setId("build"); //$NON-NLS-1$
-            workbenchWindow.getWorkbench().getHelpSystem().setHelp(this,
-                    IIDEHelpContextIds.GLOBAL_INCREMENTAL_BUILD_ACTION);
-            setImageDescriptor(IDEInternalWorkbenchImages
-                    .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC));
-            setDisabledImageDescriptor(IDEInternalWorkbenchImages
-                    .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED));
-            setActionDefinitionId("org.eclipse.ui.project.buildAll"); //$NON-NLS-1$
-            break;
-        case IncrementalProjectBuilder.FULL_BUILD:
-            setText(IDEWorkbenchMessages
-                    .getString("GlobalBuildAction.rebuildText")); //$NON-NLS-1$
-            setToolTipText(IDEWorkbenchMessages
-                    .getString("GlobalBuildAction.rebuildToolTip")); //$NON-NLS-1$
-            setId("rebuildAll"); //$NON-NLS-1$
-            workbenchWindow.getWorkbench().getHelpSystem().setHelp(this,
-                    IIDEHelpContextIds.GLOBAL_FULL_BUILD_ACTION);
-            setActionDefinitionId("org.eclipse.ui.project.rebuildAll"); //$NON-NLS-1$
-            break;
-        default:
-            throw new IllegalArgumentException("Invalid build type"); //$NON-NLS-1$
-        }
-        this.buildType = type;
-    }
-
-    /**
-     * Returns the shell to use.
-     */
-    private Shell getShell() {
-        return workbenchWindow.getShell();
-    }
-
-    /**
-     * Returns the operation name to use
-     */
-    private String getOperationMessage() {
-        if (buildType == IncrementalProjectBuilder.INCREMENTAL_BUILD)
-            return IDEWorkbenchMessages
-                    .getString("GlobalBuildAction.buildOperationTitle"); //$NON-NLS-1$
-        else
-            return IDEWorkbenchMessages
-                    .getString("GlobalBuildAction.rebuildAllOperationTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Builds all projects within the workspace. Does not save any open editors.
-     */
-    public void doBuild() {
-        doBuildOperation();
-    }
-
-    /**
-     * Invokes a build on all projects within the workspace. Reports any errors
-     * with the build to the user.
-     */
-    /* package */void doBuildOperation() {
-        Job buildJob = new Job(IDEWorkbenchMessages
-                .getString("GlobalBuildAction.jobTitle")) { //$NON-NLS-1$
-            /*
-             * (non-Javadoc)
-             * 
-             * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-             */
-            protected IStatus run(IProgressMonitor monitor) {
-                final MultiStatus status = new MultiStatus(
-                        PlatformUI.PLUGIN_ID, 0, IDEWorkbenchMessages
-                                .getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-                        null);
-                monitor.beginTask(getOperationMessage(), 100); //$NON-NLS-1$
-                try {
-                    ResourcesPlugin.getWorkspace().build(buildType,
-                            new SubProgressMonitor(monitor, 100));
-                } catch (CoreException e) {
-                    status.add(e.getStatus());
-                } finally {
-                    monitor.done();
-                }
-                return status;
-            }
-
-            /*
-             * (non-Javadoc)
-             * 
-             * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
-             */
-            public boolean belongsTo(Object family) {
-                return ResourcesPlugin.FAMILY_MANUAL_BUILD == family;
-            }
-        };
-        buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory()
-                .buildRule());
-        buildJob.setUser(true);
-        buildJob.schedule();
-    }
-
-    /**
-     * Returns an array of all projects in the workspace
-     */
-    /* package */IProject[] getWorkspaceProjects() {
-        return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-    }
-
-    /*
-     * (non-Javadoc) Method declared on IAction.
-     * 
-     * Builds all projects within the workspace. Saves all editors prior to
-     * build depending on user's preference.
-     */
-    public void run() {
-        if (workbenchWindow == null) {
-            // action has been disposed
-            return;
-        }
-        // Do nothing if there are no projects...
-        IProject[] roots = getWorkspaceProjects();
-        if (roots.length < 1)
-            return;
-        // Verify that there are builders registered on at
-        // least one project
-        if (!verifyBuildersAvailable(roots))
-            return;
-        if (!verifyNoManualRunning())
-            return;
-        // Save all resources prior to doing build
-        saveAllResources();
-        // Perform the build on all the projects
-        doBuildOperation();
-    }
-
-    /**
-     * Causes all editors to save any modified resources depending on the user's
-     * preference.
-     */
-    /* package */void saveAllResources() {
-        if (!BuildAction.isSaveAllSet())
-            return;
-        IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-                .getWorkbenchWindows();
-        for (int i = 0; i < windows.length; i++) {
-            IWorkbenchPage[] perspectives = windows[i].getPages();
-            for (int j = 0; j < perspectives.length; j++)
-                perspectives[j].saveAllEditors(false);
-        }
-    }
-
-    /**
-     * Checks that there is at least one project with a builder registered on
-     * it.
-     */
-    /* package */boolean verifyBuildersAvailable(IProject[] roots) {
-        try {
-            for (int i = 0; i < roots.length; i++) {
-                if (roots[i].isAccessible())
-                    if (roots[i].getDescription().getBuildSpec().length > 0)
-                        return true;
-            }
-        } catch (CoreException e) {
-            IDEWorkbenchPlugin.log(getClass(), "verifyBuildersAvailable", e); //$NON-NLS-1$
-            ErrorDialog
-                    .openError(
-                            getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("GlobalBuildAction.buildProblems"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .format(
-                                            "GlobalBuildAction.internalError", new Object[] { e.getMessage() }), //$NON-NLS-1$
-                            e.getStatus());
-            return false;
-        }
-        return false;
-    }
-
-    /*
-     * (non-Javadoc) Method declared on ActionFactory.IWorkbenchAction.
-     * 
-     * @since 3.0
-     */
-    public void dispose() {
-        if (workbenchWindow == null) {
-            // action has already been disposed
-            return;
-        }
-        workbenchWindow = null;
-    }
-
-    /**
-     * Verify that no manual build is running. If it is then give the use the
-     * option to cancel. If they cancel, cancel the jobs and return true,
-     * otherwise return false.
-     * 
-     * @return whether or not there is a manual build job running.
-     */
-    private boolean verifyNoManualRunning() {
-        Job[] buildJobs = JobManager.getInstance().find(
-                ResourcesPlugin.FAMILY_MANUAL_BUILD);
-        if (buildJobs.length == 0)
-            return true;
-        boolean cancel = MessageDialog.openQuestion(workbenchWindow.getShell(),
-                IDEWorkbenchMessages
-                        .getString("GlobalBuildAction.BuildRunningTitle"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("GlobalBuildAction.BuildRunningMessage")); //$NON-NLS-1$
-        if (cancel) {
-            for (int i = 0; i < buildJobs.length; i++) {
-                Job job = buildJobs[i];
-                job.cancel();
-            }
-        }
-        //If they cancelled get them to do it again.
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
deleted file mode 100644
index 1285efc..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveFilesAndFoldersOperation.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Moves files and folders.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.1
- */
-public class MoveFilesAndFoldersOperation extends CopyFilesAndFoldersOperation {
-
-    /** 
-     * Creates a new operation initialized with a shell.
-     * 
-     * @param shell parent shell for error dialogs
-     */
-    public MoveFilesAndFoldersOperation(Shell shell) {
-        super(shell);
-    }
-
-    /**
-     * Returns whether this operation is able to perform on-the-fly 
-     * auto-renaming of resources with name collisions.
-     *
-     * @return <code>true</code> if auto-rename is supported, 
-     * 	and <code>false</code> otherwise
-     */
-    protected boolean canPerformAutoRename() {
-        return false;
-    }
-
-    /**
-     * Moves the resources to the given destination.  This method is 
-     * called recursively to merge folders during folder move.
-     * 
-     * @param resources the resources to move
-     * @param destination destination to which resources will be moved
-     * @param subMonitor a progress monitor for showing progress and for cancelation
-     */
-    protected void copy(IResource[] resources, IPath destination,
-            IProgressMonitor subMonitor) throws CoreException {
-        for (int i = 0; i < resources.length; i++) {
-            IResource source = resources[i];
-            IPath destinationPath = destination.append(source.getName());
-            IWorkspace workspace = source.getWorkspace();
-            IWorkspaceRoot workspaceRoot = workspace.getRoot();
-            IResource existing = workspaceRoot.findMember(destinationPath);
-            if (source.getType() == IResource.FOLDER && existing != null) {
-                // the resource is a folder and it exists in the destination, move the
-                // children of the folder.
-                if (homogenousResources(source, existing)) {
-                    IResource[] children = ((IContainer) source).members();
-                    copy(children, destinationPath, subMonitor);
-                    delete(source, subMonitor);
-                } else {
-                    // delete the destination folder, moving a linked folder
-                    // over an unlinked one or vice versa. Fixes bug 28772. 
-                    delete(existing, new SubProgressMonitor(subMonitor, 0));
-                    source.move(destinationPath, IResource.SHALLOW
-                            | IResource.KEEP_HISTORY, new SubProgressMonitor(
-                            subMonitor, 0));
-                }
-            } else {
-                // if we're merging folders, we could be overwriting an existing file				
-                if (existing != null) {
-                    if (homogenousResources(source, existing))
-                        moveExisting(source, existing, subMonitor);
-                    else {
-                        // Moving a linked resource over unlinked or vice versa.
-                        // Can't use setContents here. Fixes bug 28772.
-                        delete(existing, new SubProgressMonitor(subMonitor, 0));
-                        source.move(destinationPath, IResource.SHALLOW
-                                | IResource.KEEP_HISTORY,
-                                new SubProgressMonitor(subMonitor, 0));
-                    }
-                } else {
-                    source.move(destinationPath, IResource.SHALLOW
-                            | IResource.KEEP_HISTORY, new SubProgressMonitor(
-                            subMonitor, 0));
-                }
-                subMonitor.worked(1);
-                if (subMonitor.isCanceled()) {
-                    throw new OperationCanceledException();
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns the message for querying deep copy/move of a linked 
-     * resource.
-     *
-     * @param source resource the query is made for
-     * @return the deep query message
-     */
-    protected String getDeepCheckQuestion(IResource source) {
-        return IDEWorkbenchMessages.format(
-                "CopyFilesAndFoldersOperation.deepMoveQuestion", //$NON-NLS-1$
-                new Object[] { source.getFullPath().makeRelative() });
-    }
-
-    /**
-     * Returns the task title for this operation's progress dialog.
-     *
-     * @return the task title
-     */
-    protected String getOperationTitle() {
-        return IDEWorkbenchMessages
-                .getString("MoveFilesAndFoldersOperation.operationTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the message for this operation's problems dialog.
-     *
-     * @return the problems message
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("MoveFilesAndFoldersOperation.problemMessage"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the title for this operation's problems dialog.
-     *
-     * @return the problems dialog title
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages
-                .getString("MoveFilesAndFoldersOperation.moveFailedTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns whether the source file in a destination collision
-     * will be validateEdited together with the collision itself.
-     * Returns true.
-     * 
-     * @return boolean <code>true</code>, the source file in a  
-     * 	destination collision should be validateEdited.  
-     */
-    protected boolean getValidateConflictSource() {
-        return true;
-    }
-
-    /**
-     * Sets the content of the existing file to the source file content.
-     * Deletes the source file.
-     * 
-     * @param source source file to move
-     * @param existing existing file to set the source content in
-     * @param subMonitor a progress monitor for showing progress and for cancelation
-     * @throws CoreException setContents failed
-     */
-    private void moveExisting(IResource source, IResource existing,
-            IProgressMonitor subMonitor) throws CoreException {
-        IFile existingFile = getFile(existing);
-
-        if (existingFile != null) {
-            IFile sourceFile = getFile(source);
-
-            if (sourceFile != null) {
-                existingFile.setContents(sourceFile.getContents(),
-                        IResource.KEEP_HISTORY, new SubProgressMonitor(
-                                subMonitor, 0));
-                delete(sourceFile, subMonitor);
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Overrides method in CopyFilesAndFoldersOperation
-     *
-     * Note this method is for internal use only. It is not API.
-     *
-     */
-    public String validateDestination(IContainer destination,
-            IResource[] sourceResources) {
-        IPath destinationLocation = destination.getLocation();
-
-        for (int i = 0; i < sourceResources.length; i++) {
-            IResource sourceResource = sourceResources[i];
-
-            // is the source being copied onto itself?
-            if (sourceResource.getParent().equals(destination)) {
-                return IDEWorkbenchMessages.format(
-                        "MoveFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-                        new Object[] { sourceResource.getName() });
-            }
-            // test if linked source is copied onto itself. Fixes bug 29913.
-            if (destinationLocation != null) {
-                IPath sourceLocation = sourceResource.getLocation();
-                IPath destinationResource = destinationLocation
-                        .append(sourceResource.getName());
-                if (sourceLocation != null
-                        && sourceLocation.isPrefixOf(destinationResource)) {
-                    return IDEWorkbenchMessages.format(
-                            "MoveFilesAndFoldersOperation.sameSourceAndDest", //$NON-NLS-1$
-                            new Object[] { sourceResource.getName() });
-                }
-            }
-        }
-        return super.validateDestination(destination, sourceResources);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java
deleted file mode 100644
index 593bd72..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveProjectAction.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ProjectLocationMoveDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * The MoveProjectAction is the action designed to move projects specifically as
- * they have different semantics from other resources.
- */
-public class MoveProjectAction extends CopyProjectAction {
-	private static String MOVE_TOOL_TIP = IDEWorkbenchMessages
-			.getString("MoveProjectAction.toolTip"); //$NON-NLS-1$
-
-	private static String MOVE_TITLE = IDEWorkbenchMessages
-			.getString("MoveProjectAction.text"); //$NON-NLS-1$
-
-	private static String PROBLEMS_TITLE = IDEWorkbenchMessages
-			.getString("MoveProjectAction.dialogTitle"); //$NON-NLS-1$
-
-	private static String MOVE_PROGRESS_TITLE = IDEWorkbenchMessages
-			.getString("MoveProjectAction.progressMessage"); //$NON-NLS-1$
-
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".MoveProjectAction";//$NON-NLS-1$
-
-	/**
-	 * Creates a new project move action with the given text.
-	 * 
-	 * @param shell
-	 *            the shell for any dialogs
-	 */
-	public MoveProjectAction(Shell shell) {
-		super(shell, MOVE_TITLE);
-		setToolTipText(MOVE_TOOL_TIP);
-		setId(MoveProjectAction.ID);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.MOVE_PROJECT_ACTION);
-	}
-
-	/**
-	 * Return the title of the errors dialog.
-	 * 
-	 * @return java.lang.String
-	 */
-	protected String getErrorsTitle() {
-		return PROBLEMS_TITLE;
-	}
-
-	/**
-	 * Moves the project to the new values.
-	 * 
-	 * @param project
-	 *            the project to copy
-	 * @param projectName
-	 *            the name of the copy
-	 * @param newLocation
-	 *            IPath
-	 * @return <code>true</code> if the copy operation completed, and
-	 *         <code>false</code> if it was abandoned part way
-	 */
-	boolean performMove(final IProject project, final String projectName,
-			final IPath newLocation) {
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor monitor) {
-				try {
-					if (monitor.isCanceled())
-						throw new OperationCanceledException();
-					
-					monitor.setTaskName(MOVE_PROGRESS_TITLE);
-					//Get a copy of the current description and modify it
-					IProjectDescription newDescription = createDescription(
-							project, projectName, newLocation);
-
-					project.move(newDescription, IResource.FORCE
-							| IResource.SHALLOW, monitor);
-
-				} catch (CoreException e) {
-					recordError(e); // log error
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-
-		try {
-			new ProgressMonitorJobsDialog(shell).run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			// CoreExceptions are collected above, but unexpected runtime
-			// exceptions and errors may still occur.
-			IDEWorkbenchPlugin.log(getClass(),
-                    "performMove()", e.getTargetException()); //$NON-NLS-1$
-			displayError(IDEWorkbenchMessages
-					.format(
-							"MoveProjectAction.internalError", new Object[] { e.getTargetException().getMessage() })); //$NON-NLS-1$
-			return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * Query for a new project destination using the parameters in the existing
-	 * project.
-	 * 
-	 * @return Object[] or null if the selection is cancelled
-	 * @param project
-	 *            the project we are going to move.
-	 */
-	protected Object[] queryDestinationParameters(IProject project) {
-		ProjectLocationMoveDialog dialog = new ProjectLocationMoveDialog(shell,
-				project);
-		dialog.setTitle(IDEWorkbenchMessages
-				.getString("MoveProjectAction.moveTitle")); //$NON-NLS-1$
-		dialog.open();
-		return dialog.getResult();
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-
-		errorStatus = null;
-
-		IProject project = (IProject) getSelectedResources().get(0);
-
-		//Get the project name and location in a two element list
-		Object[] destinationPaths = queryDestinationParameters(project);
-		if (destinationPaths == null)
-			return;
-
-		String projectName = (String) destinationPaths[0];
-		IPath newLocation = new Path((String) destinationPaths[1]);
-
-		boolean completed = performMove(project, projectName, newLocation);
-
-		if (!completed) // ie.- canceled
-			return; // not appropriate to show errors
-
-		// If errors occurred, open an Error dialog
-		if (errorStatus != null) {
-			ErrorDialog
-					.openError(this.shell, PROBLEMS_TITLE, null, errorStatus);
-			errorStatus = null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.java
deleted file mode 100644
index 27066a8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/MoveResourceAction.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.ui.actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for moving the currently selected resources elsewhere
- * in the workspace. All resources being moved as a group must be siblings.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class MoveResourceAction extends CopyResourceAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".MoveResourceAction"; //$NON-NLS-1$
-
-    /**
-     * Keep a list of destinations so that any required update can be done after the
-     * move.
-     */
-    protected List destinations;
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public MoveResourceAction(Shell shell) {
-        super(shell, IDEWorkbenchMessages.getString("MoveResourceAction.text")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages
-                .getString("MoveResourceAction.toolTip")); //$NON-NLS-1$
-        setId(MoveResourceAction.ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.MOVE_RESOURCE_ACTION);
-    }
-
-    /* (non-Javadoc)
-     * Overrides method in CopyResourceAction
-     */
-    protected CopyFilesAndFoldersOperation createOperation() {
-        return new MoveFilesAndFoldersOperation(getShell());
-    }
-
-    /**
-     * Returns the destination resources for the resources that have been moved so far.
-     *
-     * @return list of destination <code>IResource</code>s
-     */
-    protected List getDestinations() {
-        return destinations;
-    }
-
-    /* (non-Javadoc)
-     * Overrides method in CopyResourceAction
-     */
-    protected IResource[] getResources(List resourceList) {
-        ReadOnlyStateChecker checker = new ReadOnlyStateChecker(getShell(),
-                IDEWorkbenchMessages.getString("MoveResourceAction.title"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("MoveResourceAction.checkMoveMessage"));//$NON-NLS-1$	
-        return checker.checkReadOnlyResources(super.getResources(resourceList));
-    }
-
-    /* (non-Javadoc)
-     * Overrides method in CopyResourceAction
-     */
-    protected void runOperation(IResource[] resources, IContainer destination) {
-        //Initialize the destinations
-        destinations = new ArrayList();
-        IResource[] copiedResources = operation.copyResources(resources,
-                destination);
-
-        for (int i = 0; i < copiedResources.length; i++) {
-            destinations.add(destination.getFullPath().append(
-                    copiedResources[i].getName()));
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java
deleted file mode 100644
index 2398eca..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewExampleAction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * Standard action for launching the create project selection
- * wizard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class NewExampleAction extends Action {
-
-    /**
-     * The wizard dialog width
-     */
-    private static final int SIZING_WIZARD_WIDTH = 500;
-
-    /**
-     * The wizard dialog height
-     */
-    private static final int SIZING_WIZARD_HEIGHT = 500;
-
-    /**
-     * The workbench window this action will run in
-     */
-    private IWorkbenchWindow window;
-
-    /**
-     * This default constructor allows the the action to be called from the welcome page.
-     */
-    public NewExampleAction() {
-        this(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-    }
-
-    /**
-     * Creates a new action for launching the new project
-     * selection wizard.
-     *
-     * @param window the workbench window to query the current
-     * 		selection and shell for opening the wizard.
-     */
-    public NewExampleAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("NewExampleAction.text")); //$NON-NLS-1$
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.window = window;
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-        setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-        setToolTipText(IDEWorkbenchMessages
-                .getString("NewExampleAction.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				org.eclipse.ui.internal.IWorkbenchHelpContextIds.NEW_ACTION);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        // Create wizard selection wizard.
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        NewWizard wizard = new NewWizard();
-        wizard
-                .setCategoryId(WizardsRegistryReader.FULL_EXAMPLES_WIZARD_CATEGORY);
-
-        ISelection selection = window.getSelectionService().getSelection();
-        IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-        if (selection instanceof IStructuredSelection)
-            selectionToPass = (IStructuredSelection) selection;
-        wizard.init(workbench, selectionToPass);
-        IDialogSettings workbenchSettings = IDEWorkbenchPlugin.getDefault()
-                .getDialogSettings();
-        IDialogSettings wizardSettings = workbenchSettings
-                .getSection("NewWizardAction"); //$NON-NLS-1$
-        if (wizardSettings == null)
-            wizardSettings = workbenchSettings.addNewSection("NewWizardAction"); //$NON-NLS-1$
-        wizard.setDialogSettings(wizardSettings);
-        wizard.setForcePreviousAndNextButtons(true);
-
-        // Create wizard dialog.
-        Shell parent = window.getShell();
-        WizardDialog dialog = new WizardDialog(parent, wizard);
-        dialog.create();
-        wizard.setWindowTitle(IDEWorkbenchMessages
-                .getString("NewExample.title")); //$NON-NLS-1$
-        dialog.getShell().setSize(
-                Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x),
-                SIZING_WIZARD_HEIGHT);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(),
-                IIDEHelpContextIds.NEW_PROJECT_WIZARD);
-
-        // Open wizard.
-        dialog.open();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java
deleted file mode 100644
index 1b56cfe..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewProjectAction.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.dialogs.NewWizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for launching the create project selection
- * wizard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class NewProjectAction extends Action {
-
-    /**
-     * The wizard dialog width
-     */
-    private static final int SIZING_WIZARD_WIDTH = 500;
-
-    /**
-     * The wizard dialog height
-     */
-    private static final int SIZING_WIZARD_HEIGHT = 500;
-
-    /**
-     * The workbench window this action will run in
-     */
-    private IWorkbenchWindow window;
-
-    /**
-     * This default constructor allows the the action to be called from the welcome page.
-     */
-    public NewProjectAction() {
-        this(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-    }
-
-    /**
-     * Creates a new action for launching the new project
-     * selection wizard.
-     *
-     * @param window the workbench window to query the current
-     * 		selection and shell for opening the wizard.
-     */
-    public NewProjectAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("NewProjectAction.text")); //$NON-NLS-1$
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.window = window;
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD));
-        setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD_DISABLED));
-        setToolTipText(IDEWorkbenchMessages
-                .getString("NewProjectAction.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				org.eclipse.ui.internal.IWorkbenchHelpContextIds.NEW_ACTION);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        // Create wizard selection wizard.
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        NewWizard wizard = new NewWizard();
-        wizard.setProjectsOnly(true);
-        ISelection selection = window.getSelectionService().getSelection();
-        IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
-        if (selection instanceof IStructuredSelection)
-            selectionToPass = (IStructuredSelection) selection;
-        wizard.init(workbench, selectionToPass);
-        IDialogSettings workbenchSettings = IDEWorkbenchPlugin.getDefault()
-                .getDialogSettings();
-        IDialogSettings wizardSettings = workbenchSettings
-                .getSection("NewWizardAction");//$NON-NLS-1$
-        if (wizardSettings == null)
-            wizardSettings = workbenchSettings.addNewSection("NewWizardAction");//$NON-NLS-1$
-        wizard.setDialogSettings(wizardSettings);
-        wizard.setForcePreviousAndNextButtons(true);
-
-        // Create wizard dialog.
-        Shell parent = window.getShell();
-        WizardDialog dialog = new WizardDialog(parent, wizard);
-        dialog.create();
-        dialog.getShell().setSize(
-                Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x),
-                SIZING_WIZARD_HEIGHT);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(),
-                IIDEHelpContextIds.NEW_PROJECT_WIZARD);
-
-        // Open wizard.
-        dialog.open();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
deleted file mode 100644
index ccf6192..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/NewWizardMenu.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.registry.WizardsRegistryReader;
-
-/**
- * A <code>NewWizardMenu</code> augments <code>BaseNewWizardMenu</code> with IDE-specific
- * actions: New Project... (always shown) and New Example... (shown only if there are example wizards installed).
- */
-public class NewWizardMenu extends BaseNewWizardMenu {
-
-    private final IAction newProjectAction;
-
-    private final IAction newExampleAction;
-
-    /**
-     * Creates a new wizard shortcut menu for the IDE.
-     * 
-     * @param window
-     *            the window containing the menu
-     */
-    public NewWizardMenu(IWorkbenchWindow window) {
-        this(window, null);
-        
-    }
-    
-    /**
-     * Creates a new wizard shortcut menu for the IDE.
-     * 
-     * @param window
-     *            the window containing the menu
-     * @param id
-     *            the identifier for this contribution item 
-     */
-    public NewWizardMenu(IWorkbenchWindow window, String id) {
-        super(window, id);
-        newProjectAction = new NewProjectAction(window);
-        newExampleAction = new NewExampleAction(window);
-    }
-
-    /**
-     * Create a new wizard shortcut menu.  
-     * <p>
-     * If the menu will appear on a semi-permanent basis, for instance within
-     * a toolbar or menubar, the value passed for <code>register</code> should be true.
-     * If set, the menu will listen to perspective activation and update itself
-     * to suit.  In this case clients are expected to call <code>deregister</code> 
-     * when the menu is no longer needed.  This will unhook any perspective
-     * listeners.
-     * </p>
-     *
-     * @param innerMgr the location for the shortcut menu contents
-     * @param window the window containing the menu
-     * @param register if <code>true</code> the menu listens to perspective changes in
-     *      the window
-     * @deprecated use NewWizardMenu(IWorkbenchWindow) instead
-     */
-    public NewWizardMenu(IMenuManager innerMgr, IWorkbenchWindow window,
-            boolean register) {
-        this(window, null);
-        fillMenu(innerMgr);
-        // Must be done after constructor to ensure field initialization.
-    }
-    
-    /* (non-Javadoc)
-     * Fills the menu with New Wizards.
-     */
-    private void fillMenu(IContributionManager innerMgr) {
-        // Remove all.
-        innerMgr.removeAll();
-
-        IContributionItem[] items = getContributionItems();
-        for (int i = 0; i < items.length; i++) {
-            innerMgr.add(items[i]);
-        }
-    }
-
-    /**
-     * Removes all listeners from the containing workbench window.
-     * <p>
-     * This method should only be called if the shortcut menu is created with
-     * <code>register = true</code>.
-     * </p>
-     * 
-     * @deprecated has no effect
-     */
-    public void deregisterListeners() {
-        // do nothing
-    }
-
-    /**
-     * Return whether or not any examples are in the current install.
-     * 
-     * @return boolean
-     */
-    private boolean hasExamples() {
-        return registryHasCategory(WizardsRegistryReader.FULL_EXAMPLES_WIZARD_CATEGORY);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.BaseNewWizardMenu#addItems(org.eclipse.jface.action.IContributionManager)
-     */
-    protected void addItems(List list) {
-        list.add(new ActionContributionItem(newProjectAction)); 
-        list.add(new Separator());
-        addShortcuts(list);
-        list.add(new Separator());
-        if (hasExamples()) {
-            list.add(new ActionContributionItem(newExampleAction));
-            list.add(new Separator());
-        }
-        list.add(new ActionContributionItem(getShowDialogAction()));
-    }
-    
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.java
deleted file mode 100644
index 9154e53..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenFileAction.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.ui.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Standard action for opening an editor on the currently selected file 
- * resource(s).
- * <p>
- * Note that there is a different action for opening closed projects:
- * <code>OpenResourceAction</code>.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenFileAction extends OpenSystemEditorAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".OpenFileAction";//$NON-NLS-1$
-
-    /**
-     * The editor to open.
-     */
-    private IEditorDescriptor editorDescriptor;
-
-    /**
-     * Creates a new action that will open editors on the then-selected file 
-     * resources. Equivalent to <code>OpenFileAction(page,null)</code>.
-     *
-     * @param page the workbench page in which to open the editor
-     */
-    public OpenFileAction(IWorkbenchPage page) {
-        this(page, null);
-    }
-
-    /**
-     * Creates a new action that will open instances of the specified editor on 
-     * the then-selected file resources.
-     *
-     * @param page the workbench page in which to open the editor
-     * @param descriptor the editor descriptor, or <code>null</code> if unspecified
-     */
-    public OpenFileAction(IWorkbenchPage page, IEditorDescriptor descriptor) {
-        super(page);
-        setText(descriptor == null ? IDEWorkbenchMessages
-                .getString("OpenFileAction.text") : descriptor.getLabel()); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.OPEN_FILE_ACTION);
-        setToolTipText(IDEWorkbenchMessages.getString("OpenFileAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-        this.editorDescriptor = descriptor;
-    }
-
-    /**
-     * Ensures that the contents of the given file resource are local.
-     *
-     * @param file the file resource
-     * @return <code>true</code> if the file is local, and <code>false</code> if
-     *   it could not be made local for some reason
-     */
-    boolean ensureFileLocal(final IFile file) {
-        //Currently fails due to Core PR.  Don't do it for now
-        //1G5I6PV: ITPCORE:WINNT - IResource.setLocal() attempts to modify immutable tree
-        //file.setLocal(true, IResource.DEPTH_ZERO);
-        return true;
-    }
-
-    /**
-     * Opens an editor on the given file resource.
-     *
-     * @param file the file resource
-     */
-    void openFile(IFile file) {
-        try {
-            boolean activate = OpenStrategy.activateOnOpen();
-            if (editorDescriptor == null) {
-                IDE.openEditor(getWorkbenchPage(), file, activate);
-            } else {
-                if (ensureFileLocal(file)) {
-                    getWorkbenchPage().openEditor(new FileEditorInput(file),
-                            editorDescriptor.getId(), activate);
-                }
-            }
-        } catch (PartInitException e) {
-            DialogUtil.openError(getWorkbenchPage().getWorkbenchWindow()
-                    .getShell(), IDEWorkbenchMessages
-                    .getString("OpenFileAction.openFileShellTitle"), //$NON-NLS-1$
-                    e.getMessage(), e);
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
deleted file mode 100644
index e40d548..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenResourceAction.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for opening the currently selected project(s).
- * <p>
- * Note that there is a different action for opening an editor on file resources:
- * <code>OpenFileAction</code>.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenResourceAction extends WorkspaceAction implements
-        IResourceChangeListener {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".OpenResourceAction"; //$NON-NLS-1$
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public OpenResourceAction(Shell shell) {
-        super(shell, IDEWorkbenchMessages.getString("OpenResourceAction.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.OPEN_RESOURCE_ACTION);
-        setToolTipText(IDEWorkbenchMessages
-                .getString("OpenResourceAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getOperationMessage() {
-        return IDEWorkbenchMessages
-        .getString("OpenResourceAction.operationMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("OpenResourceAction.problemMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages.getString("OpenResourceAction.dialogTitle"); //$NON-NLS-1$
-    }
-
-    protected void invokeOperation(IResource resource, IProgressMonitor monitor)
-	        throws CoreException {
-	    ((IProject) resource).open(monitor);
-	}
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected boolean shouldPerformResourcePruning() {
-        return false;
-    }
-
-    /**
-     * The <code>OpenResourceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * enabled only if one of the selections is a closed project.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        // don't call super since we want to enable if closed project is selected.
-
-        if (!selectionIsOfType(IResource.PROJECT))
-            return false;
-
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-            IProject currentResource = (IProject) resources.next();
-            if (!currentResource.isOpen()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Handles a resource changed event by updating the enablement
-     * if one of the selected projects is opened or closed.
-     */
-    public void resourceChanged(IResourceChangeEvent event) {
-        // Warning: code duplicated in CloseResourceAction
-        List sel = getSelectedResources();
-        // don't bother looking at delta if selection not applicable
-        if (selectionIsOfType(IResource.PROJECT)) {
-            IResourceDelta delta = event.getDelta();
-            if (delta != null) {
-                IResourceDelta[] projDeltas = delta
-                        .getAffectedChildren(IResourceDelta.CHANGED);
-                for (int i = 0; i < projDeltas.length; ++i) {
-                    IResourceDelta projDelta = projDeltas[i];
-                    if ((projDelta.getFlags() & IResourceDelta.OPEN) != 0) {
-                        if (sel.contains(projDelta.getResource())) {
-                            selectionChanged(getStructuredSelection());
-                            return;
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction; overrides method on WorkspaceAction.
-     */
-    public void run() {
-    	ISchedulingRule rule = null;
-        //be conservative and include all projects in the selection - projects
-        //can change state between now and when the job starts
-    	IResourceRuleFactory factory = ResourcesPlugin.getWorkspace().getRuleFactory();
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-            IProject project = (IProject) resources.next();
-       		rule = MultiRule.combine(rule, factory.modifyRule(project));
-        }
-        runInBackground(rule);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.java
deleted file mode 100644
index ba5efc2..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenSystemEditorAction.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.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Standard action for opening a system editor on the currently selected file 
- * resource.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenSystemEditorAction extends SelectionListenerAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".OpenSystemEditorAction";//$NON-NLS-1$
-
-    /**
-     * The workbench page to open the editor in.
-     */
-    private IWorkbenchPage workbenchPage;
-
-    /**
-     * Creates a new action that will open system editors on the then-selected file 
-     * resources.
-     *
-     * @param page the workbench page in which to open the editor
-     */
-    public OpenSystemEditorAction(IWorkbenchPage page) {
-        super(IDEWorkbenchMessages.getString("OpenSystemEditorAction.text")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages
-                .getString("OpenSystemEditorAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-        page.getWorkbenchWindow().getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.OPEN_SYSTEM_EDITOR_ACTION);
-        if (page == null) {
-            throw new IllegalArgumentException();
-        }
-        this.workbenchPage = page;
-    }
-
-    /**
-     * Return the workbench page to open the editor in.
-     *
-     * @return the workbench page to open the editor in
-     */
-    /* package */final IWorkbenchPage getWorkbenchPage() {
-        return workbenchPage;
-    }
-
-    /**
-     * Opens a system editor on the given file resource.
-     *
-     * @param file the file resource
-     */
-    /* package */void openFile(IFile file) {
-        try {
-            getWorkbenchPage().openEditor(new FileEditorInput(file),
-                    IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-        } catch (PartInitException e) {
-            DialogUtil.openError(getWorkbenchPage().getWorkbenchWindow()
-                    .getShell(), IDEWorkbenchMessages
-                    .getString("OpenSystemEditorAction.dialogTitle"), //$NON-NLS-1$
-                    e.getMessage(), e);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        Iterator itr = getSelectedResources().iterator();
-        while (itr.hasNext()) {
-            IResource resource = (IResource) itr.next();
-            if (resource instanceof IFile)
-                openFile((IFile) resource);
-        }
-    }
-
-    /**
-     * The <code>OpenSystemEditorAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables the action only
-     * if the selection contains just file resources.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        return super.updateSelection(selection)
-                && selectionIsOfType(IResource.FILE);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
deleted file mode 100644
index acc7783..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/OpenWithMenu.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Hashtable;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * A menu for opening files in the workbench.
- * <p>
- * An <code>OpenWithMenu</code> is used to populate a menu with
- * "Open With" actions.  One action is added for each editor which is applicable
- * to the selected file. If the user selects one of these items, the corresponding
- * editor is opened on the file.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class OpenWithMenu extends ContributionItem {
-    private IWorkbenchPage page;
-
-    private IAdaptable file;
-
-    private IEditorRegistry registry = PlatformUI.getWorkbench()
-            .getEditorRegistry();
-
-    private static Hashtable imageCache = new Hashtable(11);
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".OpenWithMenu";//$NON-NLS-1$
-
-    /*
-     * Compares the labels from two IEditorDescriptor objects 
-     */
-    private static final Comparator comparer = new Comparator() {
-        private Collator collator = Collator.getInstance();
-
-        public int compare(Object arg0, Object arg1) {
-            String s1 = ((IEditorDescriptor) arg0).getLabel();
-            String s2 = ((IEditorDescriptor) arg1).getLabel();
-            return collator.compare(s1, s2);
-        }
-    };
-
-    /**
-     * Constructs a new instance of <code>OpenWithMenu</code>. 
-     * <p>
-     * If this method is used be sure to set the selected file by invoking
-     * <code>setFile</code>.  The file input is required when the user
-     * selects an item in the menu.  At that point the menu will attempt to
-     * open an editor with the file as its input.
-     * </p>
-     *
-     * @param page the page where the editor is opened if an item within
-     *		the menu is selected
-     */
-    public OpenWithMenu(IWorkbenchPage page) {
-        this(page, null);
-    }
-
-    /**
-     * Constructs a new instance of <code>OpenWithMenu</code>.  
-     *
-     * @param page the page where the editor is opened if an item within
-     *		the menu is selected
-     * @param file the selected file
-     */
-    public OpenWithMenu(IWorkbenchPage page, IAdaptable file) {
-        super(ID);
-        this.page = page;
-        this.file = file;
-    }
-
-    /**
-     * Returns an image to show for the corresponding editor descriptor.
-     *
-     * @param editorDesc the editor descriptor, or null for the system editor
-     * @return the image or null
-     */
-    private Image getImage(IEditorDescriptor editorDesc) {
-        ImageDescriptor imageDesc = getImageDescriptor(editorDesc);
-        if (imageDesc == null) {
-            return null;
-        }
-        Image image = (Image) imageCache.get(imageDesc);
-        if (image == null) {
-            image = imageDesc.createImage();
-            imageCache.put(imageDesc, image);
-        }
-        return image;
-    }
-
-    /**
-     * Returns the image descriptor for the given editor descriptor,
-     * or null if it has no image.
-     */
-    private ImageDescriptor getImageDescriptor(IEditorDescriptor editorDesc) {
-        ImageDescriptor imageDesc = null;
-        if (editorDesc == null) {
-            imageDesc = registry
-                    .getImageDescriptor(getFileResource().getName());
-        } else {
-            imageDesc = editorDesc.getImageDescriptor();
-        }
-        if (imageDesc == null) {
-            if (editorDesc.getId().equals(
-                    IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID))
-                imageDesc = registry
-                        .getSystemExternalEditorImageDescriptor(getFileResource()
-                                .getName());
-        }
-        return imageDesc;
-    }
-
-    /**
-     * Creates the menu item for the editor descriptor.
-     *
-     * @param menu the menu to add the item to
-     * @param descriptor the editor descriptor, or null for the system editor
-     * @param preferredEditor the descriptor of the preferred editor, or <code>null</code>
-     */
-    private void createMenuItem(Menu menu, final IEditorDescriptor descriptor,
-            final IEditorDescriptor preferredEditor) {
-        // XXX: Would be better to use bold here, but SWT does not support it.
-        final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
-        boolean isPreferred = preferredEditor != null
-                && descriptor.getId().equals(preferredEditor.getId());
-        menuItem.setSelection(isPreferred);
-        menuItem.setText(descriptor.getLabel());
-        Image image = getImage(descriptor);
-        if (image != null) {
-            menuItem.setImage(image);
-        }
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                switch (event.type) {
-                case SWT.Selection:
-                    if (menuItem.getSelection())
-                        openEditor(descriptor);
-                    break;
-                }
-            }
-        };
-        menuItem.addListener(SWT.Selection, listener);
-    }
-
-    /* (non-Javadoc)
-     * Fills the menu with perspective items.
-     */
-    public void fill(Menu menu, int index) {
-        IFile file = getFileResource();
-        if (file == null) {
-            return;
-        }
-
-        IEditorDescriptor defaultEditor = registry
-                .findEditor(IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID); // may be null
-        IEditorDescriptor preferredEditor = IDE.getDefaultEditor(file); // may be null
-
-        Object[] editors = registry.getEditors(file.getName());
-        Collections.sort(Arrays.asList(editors), comparer);
-
-        boolean defaultFound = false;
-
-        //Check that we don't add it twice. This is possible
-        //if the same editor goes to two mappings.
-        ArrayList alreadyMapped = new ArrayList();
-
-        for (int i = 0; i < editors.length; i++) {
-            IEditorDescriptor editor = (IEditorDescriptor) editors[i];
-            if (!alreadyMapped.contains(editor)) {
-                createMenuItem(menu, editor, preferredEditor);
-                if (defaultEditor != null
-                        && editor.getId().equals(defaultEditor.getId()))
-                    defaultFound = true;
-                alreadyMapped.add(editor);
-            }
-        }
-
-        // Only add a separator if there is something to separate
-        if (editors.length > 0)
-            new MenuItem(menu, SWT.SEPARATOR);
-
-        // Add default editor. Check it if it is saved as the preference.
-        if (!defaultFound && defaultEditor != null) {
-            createMenuItem(menu, defaultEditor, preferredEditor);
-        }
-
-        // Add system editor (should never be null)
-        IEditorDescriptor descriptor = registry
-                .findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-        createMenuItem(menu, descriptor, preferredEditor);
-
-        // Add system in-place editor (can be null)
-        descriptor = registry
-                .findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
-        if (descriptor != null) {
-            createMenuItem(menu, descriptor, preferredEditor);
-        }
-        createDefaultMenuItem(menu, file);
-    }
-
-    /**
-     * Converts the IAdaptable file to IFile or null.
-     */
-    private IFile getFileResource() {
-        if (this.file instanceof IFile) {
-            return (IFile) this.file;
-        } else {
-            IResource resource = (IResource) this.file
-                    .getAdapter(IResource.class);
-            if (resource instanceof IFile) {
-                return (IFile) resource;
-            }
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Returns whether this menu is dynamic.
-     */
-    public boolean isDynamic() {
-        return true;
-    }
-
-    /**
-     * Opens the given editor on the selected file.
-     *
-     * @param editor the editor descriptor, or null for the system editor
-     */
-    private void openEditor(IEditorDescriptor editor) {
-        IFile file = getFileResource();
-        if (file == null) {
-            return;
-        }
-        try {
-            String editorId = editor == null ? IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID
-                    : editor.getId();
-            page.openEditor(new FileEditorInput(file), editorId);
-            // only remember the default editor if the open succeeds
-            IDE.setDefaultEditor(file, editorId);
-        } catch (PartInitException e) {
-            DialogUtil.openError(page.getWorkbenchWindow().getShell(),
-                    IDEWorkbenchMessages.getString("OpenWithMenu.dialogTitle"), //$NON-NLS-1$
-                    e.getMessage(), e);
-        }
-    }
-
-    /**
-     * Creates the menu item for clearing the current selection.
-     *
-     * @param menu the menu to add the item to
-     * @param file the file bing edited
-     * @param registry the editor registry
-     */
-    private void createDefaultMenuItem(Menu menu, final IFile file) {
-        final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
-        menuItem.setSelection(IDE.getDefaultEditor(file) == null);
-        menuItem.setText(IDEWorkbenchMessages
-                .getString("DefaultEditorDescription.name")); //$NON-NLS-1$
-
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                switch (event.type) {
-                case SWT.Selection:
-                    if (menuItem.getSelection()) {
-                        IDE.setDefaultEditor(file, null);
-                        try {
-                            IDE.openEditor(page, file, true);
-                        } catch (PartInitException e) {
-                            DialogUtil.openError(page.getWorkbenchWindow()
-                                    .getShell(), IDEWorkbenchMessages
-                                    .getString("OpenWithMenu.dialogTitle"), //$NON-NLS-1$
-                                    e.getMessage(), e);
-                        }
-                    }
-                    break;
-                }
-            }
-        };
-
-        menuItem.addListener(SWT.Selection, listener);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
deleted file mode 100644
index 1bf982c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/QuickStartAction.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.ProductProperties;
-import org.eclipse.ui.internal.ide.AboutInfo;
-import org.eclipse.ui.internal.ide.FeatureSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.WelcomeEditorInput;
-
-/**
- * The quick start (Welcome...) action.
- * 
- * @deprecated the IDE now uses the new intro mechanism
- */
-public class QuickStartAction extends Action implements
-        ActionFactory.IWorkbenchAction {
-
-    private static final String EDITOR_ID = "org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"; //$NON-NLS-1$
-
-    /**
-     * The workbench window; or <code>null</code> if this
-     * action has been <code>dispose</code>d.
-     */
-    private IWorkbenchWindow workbenchWindow;
-
-    /**
-     * Create an instance of this class.
-     * <p>
-     * This consructor added to support calling the action from the welcome
-     * page.
-     * </p>
-     */
-    public QuickStartAction() {
-        this(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-    }
-
-    /**
-     * Creates an instance of this action, for use in the given window.
-     * @param window the window
-     */
-    public QuickStartAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("QuickStart.text")); //$NON-NLS-1$
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.workbenchWindow = window;
-        setToolTipText(IDEWorkbenchMessages.getString("QuickStart.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.QUICK_START_ACTION);
-        setActionDefinitionId("org.eclipse.ui.help.quickStartAction"); //$NON-NLS-1$
-    }
-
-    /**
-     * The user has invoked this action.  Prompts for a feature with a welcome page, 
-     * then opens the corresponding welcome page.
-     */
-    public void run() {
-        if (workbenchWindow == null) {
-            // action has been disposed
-            return;
-        }
-        try {
-            AboutInfo feature = promptForFeature();
-            if (feature != null) {
-                openWelcomePage(feature);
-            }
-        } catch (WorkbenchException e) {
-            ErrorDialog.openError(workbenchWindow.getShell(),
-                    IDEWorkbenchMessages
-                            .getString("QuickStartAction.errorDialogTitle"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("QuickStartAction.infoReadError"), //$NON-NLS-1$
-                    e.getStatus());
-        }
-    }
-
-    /**
-     * Prompts the user for a feature that has a welcome page.
-     * 
-     * @return the chosen feature, or <code>null</code> if none was chosen
-     */
-    private AboutInfo promptForFeature() throws WorkbenchException {
-        // Ask the user to select a feature
-        ArrayList welcomeFeatures = new ArrayList();
-
-        URL productUrl = null;
-        IProduct product = Platform.getProduct();
-        if (product != null) {
-            productUrl = ProductProperties.getWelcomePageUrl(product);
-            welcomeFeatures.add(new AboutInfo(product));
-        }
-
-        AboutInfo[] features = IDEWorkbenchPlugin.getDefault()
-                .getFeatureInfos();
-        for (int i = 0; i < features.length; i++) {
-            URL url = features[i].getWelcomePageURL();
-            if (url != null && !url.equals(productUrl))
-                welcomeFeatures.add(features[i]);
-        }
-
-        Shell shell = workbenchWindow.getShell();
-
-        if (welcomeFeatures.size() == 0) {
-            MessageDialog.openInformation(shell, IDEWorkbenchMessages
-                    .getString("QuickStartMessageDialog.title"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("QuickStartMessageDialog.message")); //$NON-NLS-1$
-            return null;
-        }
-
-        features = new AboutInfo[welcomeFeatures.size()];
-        welcomeFeatures.toArray(features);
-
-        FeatureSelectionDialog d = new FeatureSelectionDialog(shell, features,
-                product == null ? null : product.getId(), IDEWorkbenchMessages
-                        .getString("WelcomePageSelectionDialog.title"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("WelcomePageSelectionDialog.message"), //$NON-NLS-1$
-                IIDEHelpContextIds.WELCOME_PAGE_SELECTION_DIALOG);
-        if (d.open() != Window.OK || d.getResult().length != 1)
-            return null;
-        return (AboutInfo) d.getResult()[0];
-    }
-
-    /**
-     * Opens the welcome page for the given feature.
-     * 
-     * @param featureId the about info for the feature
-     * @return <code>true</code> if successful, <code>false</code> otherwise
-     * @throws WorkbenchException 
-     */
-    public boolean openWelcomePage(String featureId) throws WorkbenchException {
-        AboutInfo feature = findFeature(featureId);
-        if (feature == null || feature.getWelcomePageURL() == null) {
-            return false;
-        }
-        return openWelcomePage(feature);
-    }
-
-    /**
-     * Returns the about info for the feature with the given id, or <code>null</code>
-     * if there is no such feature.
-     * 
-     * @return the about info for the feature with the given id, or <code>null</code>
-     *   if there is no such feature.
-     */
-    private AboutInfo findFeature(String featureId) throws WorkbenchException {
-        AboutInfo[] features = IDEWorkbenchPlugin.getDefault()
-                .getFeatureInfos();
-        for (int i = 0; i < features.length; i++) {
-            AboutInfo info = features[i];
-            if (info.getFeatureId().equals(featureId)) {
-                return info;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Opens the welcome page for a feature.
-     * 
-     * @param feature the about info for the feature
-     * @return <code>true</code> if successful, <code>false</code> otherwise
-     */
-    private boolean openWelcomePage(AboutInfo feature) {
-        IWorkbenchPage page = null;
-
-        // See if the feature wants a specific perspective
-        String perspectiveId = feature.getWelcomePerspectiveId();
-
-        if (perspectiveId == null) {
-            // Just use the current perspective unless one is not open 
-            // in which case use the default
-            page = workbenchWindow.getActivePage();
-
-            if (page == null || page.getPerspective() == null) {
-                perspectiveId = PlatformUI.getWorkbench()
-                        .getPerspectiveRegistry().getDefaultPerspective();
-            }
-        }
-
-        if (perspectiveId != null) {
-            try {
-                page = PlatformUI.getWorkbench().showPerspective(perspectiveId,
-                        workbenchWindow);
-            } catch (WorkbenchException e) {
-                IDEWorkbenchPlugin
-						.log("Error opening perspective: " + perspectiveId, e.getStatus()); //$NON-NLS-1$
-                return false;
-            }
-        }
-
-        if (page == null) {
-        	return false;
-        }
-        
-        page.setEditorAreaVisible(true);
-
-        // create input
-        WelcomeEditorInput input = new WelcomeEditorInput(feature);
-
-        // see if we already have a welcome editorz
-        IEditorPart editor = page.findEditor(input);
-        if (editor != null) {
-            page.activate(editor);
-            return true;
-        }
-
-        try {
-            page.openEditor(input, EDITOR_ID);
-        } catch (PartInitException e) {
-            IDEWorkbenchPlugin
-                    .log("Error opening welcome editor for feature: " + feature.getFeatureId(), e); //$NON-NLS-1$
-            IStatus status = new Status(
-                    IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH,
-                    1,
-                    IDEWorkbenchMessages
-                            .getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-            ErrorDialog
-                    .openError(
-                            workbenchWindow.getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("Workbench.openEditorErrorDialogTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-                            status);
-            return false;
-        }
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ActionFactory.IWorkbenchAction.
-     * @since 3.0
-     */
-    public void dispose() {
-        if (workbenchWindow == null) {
-            // action has already been disposed
-            return;
-        }
-        workbenchWindow = null;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.java
deleted file mode 100644
index 28195f9..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ReadOnlyStateChecker.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.ui.actions;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * The ReadOnlyStateChecker is a helper class that takes a set of resource
- * some of which may be read only and queries the user as to whether or
- * not they wish to continue the operation on it.
- */
-public class ReadOnlyStateChecker {
-    private Shell shell;
-
-    private String titleMessage;
-
-    private String mainMessage;
-
-    private boolean yesToAllSelected = false;
-
-    private boolean cancelSelected = false;
-
-    private boolean ignoreLinkedResources = false;
-    
-    private String READ_ONLY_EXCEPTION_MESSAGE = IDEWorkbenchMessages
-            .getString("ReadOnlyCheck.problems"); //$NON-NLS-1$
-
-    /**
-     * Create a new checker that parents the dialog off of parent using the supplied
-     * title and message.
-     * @param parent the shell used for dialogs
-     * @param title the title for dialogs
-     * @param message the message for a dialog - this will be prefaced with the name of the resource.
-     */
-    public ReadOnlyStateChecker(Shell parent, String title, String message) {
-        this.shell = parent;
-        this.titleMessage = title;
-        this.mainMessage = message;
-    }
-
-    /**
-     * Check an individual resource to see if it passed the read only query. If it is a file
-     * just add it, otherwise it is a container and the children need to be checked too.
-     * Return true if all items are selected and false if any are skipped.
-     */
-    private boolean checkAcceptedResource(IResource resourceToCheck,
-            List selectedChildren) throws CoreException {
-
-        if (resourceToCheck.getType() == IResource.FILE)
-            selectedChildren.add(resourceToCheck);
-        else if (getIgnoreLinkedResources() && resourceToCheck.isLinked()) {
-            selectedChildren.add(resourceToCheck);
-        }
-        else {
-            //Now check below
-            int childCheck = checkReadOnlyResources(
-                    ((IContainer) resourceToCheck).members(), selectedChildren);
-            //Add in the resource only if nothing was left out
-            if (childCheck == IDialogConstants.YES_TO_ALL_ID)
-                selectedChildren.add(resourceToCheck);
-            else
-                //Something was left out - return false
-                return false;
-        }
-        return true;
-
-    }
-
-    /**
-     * Check the supplied resources to see if they are read only. If so then prompt
-     * the user to see if they can be deleted.Return those that were accepted.
-     * @return the resulting selected resources
-     */
-    /*package*/
-    public IResource[] checkReadOnlyResources(IResource[] itemsToCheck) {
-
-        List selections = new ArrayList();
-        int result = IDialogConstants.CANCEL_ID;
-        try {
-            result = checkReadOnlyResources(itemsToCheck, selections);
-        } catch (final CoreException exception) {
-            shell.getDisplay().syncExec(new Runnable() {
-                public void run() {
-                    ErrorDialog.openError(shell, READ_ONLY_EXCEPTION_MESSAGE,
-                            null, exception.getStatus());
-                }
-            });
-        }
-
-        if (result == IDialogConstants.CANCEL_ID)
-            return new IResource[0];
-
-        //All were selected so return the original items
-        if (result == IDialogConstants.YES_TO_ALL_ID)
-            return itemsToCheck;
-
-        IResource[] returnValue = new IResource[selections.size()];
-        selections.toArray(returnValue);
-        return returnValue;
-    }
-
-    /**
-     * Check the children of the container to see if they are read only.
-     * @return int
-     * one of
-     * 	YES_TO_ALL_ID - all elements were selected
-     * 	NO_ID - No was hit at some point
-     * 	CANCEL_ID - cancel was hit
-     * @param itemsToCheck IResource[]
-     * @param allSelected the List of currently selected resources to add to.
-     */
-    private int checkReadOnlyResources(IResource[] itemsToCheck,
-            List allSelected) throws CoreException {
-
-        //Shortcut. If the user has already selected yes to all then just return it
-        if (yesToAllSelected)
-            return IDialogConstants.YES_TO_ALL_ID;
-
-        boolean noneSkipped = true;
-        List selectedChildren = new ArrayList();
-
-        for (int i = 0; i < itemsToCheck.length; i++) {
-            IResource resourceToCheck = itemsToCheck[i];
-            if (!yesToAllSelected && shouldCheck(resourceToCheck) && resourceToCheck.isReadOnly()) {
-                int action = queryYesToAllNoCancel(resourceToCheck);
-                if (action == IDialogConstants.YES_ID) {
-                    boolean childResult = checkAcceptedResource(
-                            resourceToCheck, selectedChildren);
-                    if (!childResult)
-                        noneSkipped = false;
-                }
-                if (action == IDialogConstants.NO_ID)
-                    noneSkipped = false;
-                if (action == IDialogConstants.CANCEL_ID) {
-                    cancelSelected = true;
-                    return IDialogConstants.CANCEL_ID;
-                }
-                if (action == IDialogConstants.YES_TO_ALL_ID) {
-                    yesToAllSelected = true;
-                    selectedChildren.add(resourceToCheck);
-                }
-            } else {
-                boolean childResult = checkAcceptedResource(resourceToCheck,
-                        selectedChildren);
-                if (cancelSelected)
-                    return IDialogConstants.CANCEL_ID;
-                if (!childResult)
-                    noneSkipped = false;
-            }
-
-        }
-
-        if (noneSkipped)
-            return IDialogConstants.YES_TO_ALL_ID;
-        else {
-            allSelected.addAll(selectedChildren);
-            return IDialogConstants.NO_ID;
-        }
-
-    }
-
-    /**
-	 * Returns whether the given resource should be checked for read-only state.
-	 * 
-	 * @param resourceToCheck the resource to check
-	 * @return <code>true</code> to check it, <code>false</code> to skip it
-	 */
-	private boolean shouldCheck(IResource resourceToCheck) {
-        if (ignoreLinkedResources) {
-        	if (resourceToCheck.isLinked())
-        		return false;
-        }
-        return true;
-    }
-
-	/**
-     * Open a message dialog with Yes No, Yes To All and Cancel buttons. Return the
-     * code that indicates the selection.
-     * @return int 
-     *	one of
-     *		YES_TO_ALL_ID
-     *		YES_ID
-     *		NO_ID
-     *		CANCEL_ID
-     * 		
-     * @param resource - the resource being queried.
-     */
-    private int queryYesToAllNoCancel(IResource resource) {
-
-        final MessageDialog dialog = new MessageDialog(this.shell,
-                this.titleMessage, null, MessageFormat.format(this.mainMessage,
-                        new Object[] { resource.getName() }),
-                MessageDialog.QUESTION, new String[] {
-                        IDialogConstants.YES_LABEL,
-                        IDialogConstants.YES_TO_ALL_LABEL,
-                        IDialogConstants.NO_LABEL,
-                        IDialogConstants.CANCEL_LABEL }, 0);
-        shell.getDisplay().syncExec(new Runnable() {
-            public void run() {
-                dialog.open();
-            }
-        });
-        int result = dialog.getReturnCode();
-        if (result == 0)
-            return IDialogConstants.YES_ID;
-        if (result == 1)
-            return IDialogConstants.YES_TO_ALL_ID;
-        if (result == 2)
-            return IDialogConstants.NO_ID;
-        return IDialogConstants.CANCEL_ID;
-    }
-    
-    /**
-     * Returns whether to ignore linked resources.
-     * 
-     * @return <code>true</code> to ignore linked resources, <code>false</code> to consider them
-     * @since 3.1
-     */
-    public boolean getIgnoreLinkedResources() {
-    	return ignoreLinkedResources;
-    }
-
-    /**
-     * Sets whether to ignore linked resources.
-     * The default is <code>false</code>.
-     * 
-     * @param ignore <code>true</code> to ignore linked resources, <code>false</code> to consider them
-     * @since 3.1
-     */
-    public void setIgnoreLinkedResources(boolean ignore) {
-    	ignoreLinkedResources = ignore;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
deleted file mode 100644
index 628f4af..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RefreshAction.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for refreshing the workspace from the local file system for
- * the selected resources and all of their descendents.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class RefreshAction extends WorkspaceAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".RefreshAction";//$NON-NLS-1$
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public RefreshAction(Shell shell) {
-        super(shell, IDEWorkbenchMessages.getString("RefreshAction.text")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages.getString("RefreshAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.REFRESH_ACTION);
-    }
-
-    /**
-     * Checks whether the given project's location has been deleted.
-     * If so, prompts the user with whether to delete the project or not.
-     */
-    void checkLocationDeleted(IProject project) throws CoreException {
-        if (!project.exists())
-            return;
-        File location = project.getLocation().toFile();
-        if (!location.exists()) {
-            String message = IDEWorkbenchMessages
-                    .format(
-                            "RefreshAction.locationDeletedMessage", new Object[] { project.getName(), location.getAbsolutePath() });//$NON-NLS-1$
-
-            final MessageDialog dialog = new MessageDialog(
-                    getShell(),
-                    IDEWorkbenchMessages.getString("RefreshAction.dialogTitle"), // dialog title //$NON-NLS-1$
-                    null, // use default window icon
-                    message, MessageDialog.QUESTION, new String[] {
-                            IDialogConstants.YES_LABEL,
-                            IDialogConstants.NO_LABEL }, 0); // yes is the default
-
-            // Must prompt user in UI thread (we're in the operation thread here).
-            getShell().getDisplay().syncExec(new Runnable() {
-                public void run() {
-                    dialog.open();
-                }
-            });
-
-            // Do the deletion back in the operation thread
-            if (dialog.getReturnCode() == 0) { // yes was chosen
-                project.delete(true, true, null);
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getOperationMessage() {
-        return IDEWorkbenchMessages.getString("RefreshAction.progressMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages.getString("RefreshAction.problemMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages.getString("RefreshAction.problemTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns a list containing the workspace root if the selection would otherwise be empty.
-     */
-    protected List getSelectedResources() {
-        List resources = super.getSelectedResources();
-        if (resources.isEmpty()) {
-            resources = new ArrayList();
-            resources.add(ResourcesPlugin.getWorkspace().getRoot());
-        }
-        return resources;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected void invokeOperation(IResource resource, IProgressMonitor monitor)
-            throws CoreException {
-        // Check if project's location has been deleted, 
-        // as per 1G83UCE: ITPUI:WINNT - Refresh from local doesn't detect new or deleted projects
-        // and also for bug report #18283
-        if (resource.getType() == IResource.PROJECT) {
-            checkLocationDeleted((IProject) resource);
-        } else if (resource.getType() == IResource.ROOT) {
-            IProject[] projects = ((IWorkspaceRoot) resource).getProjects();
-            for (int i = 0; i < projects.length; i++) {
-                checkLocationDeleted(projects[i]);
-            }
-        }
-        resource.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-    }
-
-    /**
-     * The <code>RefreshAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * enabled if the selection is empty, but is disabled if any of the selected 
-     * elements are not resources.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        return (super.updateSelection(s) || s.isEmpty())
-                && getSelectedNonResources().size() == 0;
-    }
-
-    /**
-     * Handle the key release.
-     * @param event the event
-     */
-    public void handleKeyReleased(KeyEvent event) {
-
-        if (event.keyCode == SWT.F5 && event.stateMask == 0) {
-            refreshAll();
-        }
-    }
-
-    /**
-     * Refreshes the entire workspace.
-     */
-    public void refreshAll() {
-        IStructuredSelection currentSelection = getStructuredSelection();
-        selectionChanged(StructuredSelection.EMPTY);
-        run();
-        selectionChanged(currentSelection);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction; overrides method on WorkspaceAction.
-     */
-    public void run() {
-    	ISchedulingRule rule = null;
-    	IResourceRuleFactory factory = ResourcesPlugin.getWorkspace().getRuleFactory();
-        Iterator resources = getSelectedResources().iterator();
-        while (resources.hasNext()) {
-       		rule = MultiRule.combine(rule, factory.refreshRule((IResource)resources.next()));
-        }
-        runInBackground(rule);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java
deleted file mode 100644
index 26bc2d0..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/RenameResourceAction.java
+++ /dev/null
@@ -1,602 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TreeEditor;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for renaming the selected resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class RenameResourceAction extends WorkspaceAction {
-
-    /*The tree editing widgets. If treeEditor is null then edit using the
-     dialog. We keep the editorText around so that we can close it if
-     a new selection is made. */
-    private TreeEditor treeEditor;
-
-    private Tree navigatorTree;
-
-    private Text textEditor;
-
-    private Composite textEditorParent;
-
-    private TextActionHandler textActionHandler;
-
-    //The resource being edited if this is being done inline
-    private IResource inlinedResource;
-
-    private boolean saving = false;
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID
-            + ".RenameResourceAction";//$NON-NLS-1$
-
-    /**
-     * The new path.
-     */
-    private IPath newPath;
-
-    private static final String CHECK_RENAME_TITLE = IDEWorkbenchMessages
-            .getString("RenameResourceAction.checkTitle"); //$NON-NLS-1$
-
-    private static final String CHECK_RENAME_MESSAGE = IDEWorkbenchMessages
-            .getString("RenameResourceAction.readOnlyCheck"); //$NON-NLS-1$
-
-    private static String RESOURCE_EXISTS_TITLE = IDEWorkbenchMessages
-            .getString("RenameResourceAction.resourceExists"); //$NON-NLS-1$
-
-    private static String RESOURCE_EXISTS_MESSAGE = IDEWorkbenchMessages
-            .getString("RenameResourceAction.overwriteQuestion"); //$NON-NLS-1$
-
-    private static String RENAMING_MESSAGE = IDEWorkbenchMessages
-            .getString("RenameResourceAction.progressMessage"); //$NON-NLS-1$
-
-    /**
-     * Creates a new action. Using this constructor directly will rename using a
-     * dialog rather than the inline editor of a ResourceNavigator.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public RenameResourceAction(Shell shell) {
-        super(shell, IDEWorkbenchMessages
-                .getString("RenameResourceAction.text")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages
-                .getString("RenameResourceAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.RENAME_RESOURCE_ACTION);
-    }
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     * @param tree the tree
-     */
-    public RenameResourceAction(Shell shell, Tree tree) {
-        this(shell);
-        this.navigatorTree = tree;
-        this.treeEditor = new TreeEditor(tree);
-    }
-
-    /**
-     * Check if the user wishes to overwrite the supplied resource
-     * @returns true if there is no collision or delete was successful
-     * @param shell the shell to create the dialog in 
-     * @param destination - the resource to be overwritten
-     */
-    private boolean checkOverwrite(final Shell shell,
-            final IResource destination) {
-
-        final boolean[] result = new boolean[1];
-
-        //Run it inside of a runnable to make sure we get to parent off of the shell as we are not
-        //in the UI thread.
-
-        Runnable query = new Runnable() {
-            public void run() {
-                String pathName = destination.getFullPath().makeRelative()
-                        .toString();
-                result[0] = MessageDialog.openQuestion(shell,
-                        RESOURCE_EXISTS_TITLE, MessageFormat.format(
-                                RESOURCE_EXISTS_MESSAGE,
-                                new Object[] { pathName }));
-            }
-
-        };
-
-        shell.getDisplay().syncExec(query);
-        return result[0];
-    }
-
-    /**
-     * Check if the supplied resource is read only or null. If it is then ask the user if they want
-     * to continue. Return true if the resource is not read only or if the user has given
-     * permission.
-     * @return boolean
-     */
-    private boolean checkReadOnlyAndNull(IResource currentResource) {
-        //Do a quick read only and null check
-        if (currentResource == null)
-            return false;
-
-        //Do a quick read only check
-        if (currentResource.isReadOnly())
-            return MessageDialog.openQuestion(getShell(), CHECK_RENAME_TITLE,
-                    MessageFormat.format(CHECK_RENAME_MESSAGE,
-                            new Object[] { currentResource.getName() }));
-        
-        return true;
-    }
-
-    Composite createParent() {
-        Tree tree = getTree();
-        Composite result = new Composite(tree, SWT.NONE);
-        TreeItem[] selectedItems = tree.getSelection();
-        treeEditor.horizontalAlignment = SWT.LEFT;
-        treeEditor.grabHorizontal = true;
-        treeEditor.setEditor(result, selectedItems[0]);
-        return result;
-    }
-
-    /**
-     * On Mac the text widget already provides a border when it has focus, so there is no need to draw another one.
-     * The value of returned by this method is usd to control the inset we apply to the text field bound's in order to get space for drawing a border.
-     * A value of 1 means a one-pixel wide border around the text field. A negative value supresses the border.
-     * However, in M9 the system property "org.eclipse.swt.internal.carbon.noFocusRing" has been introduced
-     * as a temporary workaround for bug #28842. The existence of the property turns the native focus ring off
-     * if the widget is contained in a main window (not dialog).
-     * The check for the property should be removed after a final fix for #28842 has been provided.
-     */
-    private static int getCellEditorInset(Control c) {
-        if ("carbon".equals(SWT.getPlatform())) { // special case for MacOS X //$NON-NLS-1$
-            if (System
-                    .getProperty("org.eclipse.swt.internal.carbon.noFocusRing") == null || c.getShell().getParent() != null) //$NON-NLS-1$
-                return -2; // native border
-        }
-        return 1; //  one pixel wide black border
-    }
-
-    /**
-     * Create the text editor widget.
-     * 
-     * @param resource the resource to rename
-     */
-    private void createTextEditor(final IResource resource) {
-        // Create text editor parent.  This draws a nice bounding rect.
-        textEditorParent = createParent();
-        textEditorParent.setVisible(false);
-        final int inset = getCellEditorInset(textEditorParent);
-        if (inset > 0) // only register for paint events if we have a border
-            textEditorParent.addListener(SWT.Paint, new Listener() {
-                public void handleEvent(Event e) {
-                    Point textSize = textEditor.getSize();
-                    Point parentSize = textEditorParent.getSize();
-                    e.gc.drawRectangle(0, 0, Math.min(textSize.x + 4,
-                            parentSize.x - 1), parentSize.y - 1);
-                }
-            });
-        // Create inner text editor.
-        textEditor = new Text(textEditorParent, SWT.NONE);
-        textEditor.setFont(navigatorTree.getFont());
-        textEditorParent.setBackground(textEditor.getBackground());
-        textEditor.addListener(SWT.Modify, new Listener() {
-            public void handleEvent(Event e) {
-                Point textSize = textEditor.computeSize(SWT.DEFAULT,
-                        SWT.DEFAULT);
-                textSize.x += textSize.y; // Add extra space for new characters.
-                Point parentSize = textEditorParent.getSize();
-                textEditor.setBounds(2, inset, Math.min(textSize.x,
-                        parentSize.x - 4), parentSize.y - 2 * inset);
-                textEditorParent.redraw();
-            }
-        });
-        textEditor.addListener(SWT.Traverse, new Listener() {
-            public void handleEvent(Event event) {
-
-                //Workaround for Bug 20214 due to extra
-                //traverse events
-                switch (event.detail) {
-                case SWT.TRAVERSE_ESCAPE:
-                    //Do nothing in this case
-                    disposeTextWidget();
-                    event.doit = true;
-                    event.detail = SWT.TRAVERSE_NONE;
-                    break;
-                case SWT.TRAVERSE_RETURN:
-                    saveChangesAndDispose(resource);
-                    event.doit = true;
-                    event.detail = SWT.TRAVERSE_NONE;
-                    break;
-                }
-            }
-        });
-        textEditor.addFocusListener(new FocusAdapter() {
-            public void focusLost(FocusEvent fe) {
-                saveChangesAndDispose(resource);
-            }
-        });
-
-        if (textActionHandler != null)
-            textActionHandler.addText(textEditor);
-    }
-
-    /**
-     * Close the text widget and reset the editorText field.
-     */
-    private void disposeTextWidget() {
-        if (textActionHandler != null)
-            textActionHandler.removeText(textEditor);
-
-        if (textEditorParent != null) {
-            textEditorParent.dispose();
-            textEditorParent = null;
-            textEditor = null;
-            treeEditor.setEditor(null, null);
-        }
-    }
-
-    /**
-     * Returns the elements that the action is to be performed on.
-     * Return the resource cached by the action as we cannot rely
-     * on the selection being correct for inlined text.
-     *
-     * @return list of resource elements (element type: <code>IResource</code>)
-     */
-    protected List getActionResources() {
-        if (inlinedResource == null)
-            return super.getActionResources();
-
-        List actionResources = new ArrayList();
-        actionResources.add(inlinedResource);
-        return actionResources;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getOperationMessage() {
-        return IDEWorkbenchMessages.getString("RenameResourceAction.progress"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("RenameResourceAction.problemMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages
-                .getString("RenameResourceAction.problemTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Get the Tree being edited.
-     * @returnTree
-     */
-    private Tree getTree() {
-        return this.navigatorTree;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected void invokeOperation(IResource resource, IProgressMonitor monitor)
-            throws CoreException {
-
-        monitor.beginTask(RENAMING_MESSAGE, 100);
-        IWorkspaceRoot workspaceRoot = resource.getWorkspace().getRoot();
-
-        IResource newResource = workspaceRoot.findMember(newPath);
-        if (newResource != null) {
-            if (checkOverwrite(getShell(), newResource)) {
-                if (resource.getType() == IResource.FILE
-                        && newResource.getType() == IResource.FILE) {
-                    IFile file = (IFile) resource;
-                    IFile newFile = (IFile) newResource;
-                    if (validateEdit(file, newFile, getShell())) {
-                        IProgressMonitor subMonitor = new SubProgressMonitor(
-                                monitor, 50);
-                        newFile.setContents(file.getContents(),
-                                IResource.KEEP_HISTORY, subMonitor);
-                        file.delete(IResource.KEEP_HISTORY, subMonitor);
-                    }
-                    monitor.worked(100);
-                    return;
-                } 
-                newResource.delete(IResource.KEEP_HISTORY,
-                        new SubProgressMonitor(monitor, 50));
-            } else {
-                monitor.worked(100);
-                return;
-            }
-        }
-        if (resource.getType() == IResource.PROJECT) {
-            IProject project = (IProject) resource;
-            IProjectDescription description = project.getDescription();
-            description.setName(newPath.segment(0));
-            project.move(description, IResource.FORCE | IResource.SHALLOW,
-                    monitor);
-        } else
-            resource.move(newPath, IResource.KEEP_HISTORY | IResource.SHALLOW,
-                    new SubProgressMonitor(monitor, 50));
-    }
-
-    /**
-     * Return the new name to be given to the target resource.
-     *
-     * @return java.lang.String
-     * @param resource the resource to query status on
-     */
-    protected String queryNewResourceName(final IResource resource) {
-        final IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        final IPath prefix = resource.getFullPath().removeLastSegments(1);
-        IInputValidator validator = new IInputValidator() {
-            public String isValid(String string) {
-                if (resource.getName().equals(string)) {
-                    return IDEWorkbenchMessages
-                            .getString("RenameResourceAction.nameMustBeDifferent"); //$NON-NLS-1$
-                }
-                IStatus status = workspace.validateName(string, resource
-                        .getType());
-                if (!status.isOK()) {
-                    return status.getMessage();
-                }
-                if (workspace.getRoot().exists(prefix.append(string))) {
-                    return IDEWorkbenchMessages
-                            .getString("RenameResourceAction.nameExists"); //$NON-NLS-1$
-                }
-                return null;
-            }
-        };
-
-        InputDialog dialog = new InputDialog(getShell(), IDEWorkbenchMessages
-                .getString("RenameResourceAction.inputDialogTitle"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("RenameResourceAction.inputDialogMessage"), //$NON-NLS-1$
-                resource.getName(), validator);
-        dialog.setBlockOnOpen(true);
-        dialog.open();
-        return dialog.getValue();
-    }
-
-    /**
-     * Return the new name to be given to the target resource or <code>null<code>
-     * if the query was canceled. Rename the currently selected resource using the table editor. 
-     * Continue the action when the user is done.
-     *
-     * @param resource the resource to rename
-     */
-    private void queryNewResourceNameInline(final IResource resource) {
-        // Make sure text editor is created only once. Simply reset text 
-        // editor when action is executed more than once. Fixes bug 22269.
-        if (textEditorParent == null) {
-            createTextEditor(resource);
-        }
-        textEditor.setText(resource.getName());
-
-        // Open text editor with initial size.
-        textEditorParent.setVisible(true);
-        Point textSize = textEditor.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        textSize.x += textSize.y; // Add extra space for new characters.
-        Point parentSize = textEditorParent.getSize();
-        int inset = getCellEditorInset(textEditorParent);
-        textEditor.setBounds(2, inset, Math.min(textSize.x, parentSize.x - 4),
-                parentSize.y - 2 * inset);
-        textEditorParent.redraw();
-        textEditor.selectAll();
-        textEditor.setFocus();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction; overrides method on WorkspaceAction.
-     */
-    public void run() {
-
-        if (this.navigatorTree == null) {
-            List resources = getSelectedResources();
-            if (resources.size() == 0)
-                return;
-            IResource currentResource = (IResource) resources.get(0);
-            if (!currentResource.exists())
-                return;
-            //Do a quick read only and null check
-            if (!checkReadOnlyAndNull(currentResource))
-                return;
-            String newName = queryNewResourceName(currentResource);
-            if (newName == null || newName.equals(""))//$NON-NLS-1$
-                return;
-            newPath = currentResource.getFullPath().removeLastSegments(1)
-                    .append(newName);
-            super.run();
-        } else
-            runWithInlineEditor();
-    }
-
-    /* 
-     * Run the receiver using an inline editor from the supplied navigator. The
-     * navigator will tell the action when the path is ready to run.
-     */
-    private void runWithInlineEditor() {
-        IResource currentResource = (IResource) getStructuredSelection()
-                .getFirstElement();
-        if (!checkReadOnlyAndNull(currentResource))
-            return;
-
-        queryNewResourceNameInline(currentResource);
-
-    }
-
-    /**
-     * @param path the path
-     * @param resource the resource
-     */
-    protected void runWithNewPath(IPath path, IResource resource) {
-        this.newPath = path;
-        super.run();
-    }
-
-    /**
-     * Save the changes and dispose of the text widget.
-     * @param resource - the resource to move.
-     */
-    private void saveChangesAndDispose(IResource resource) {
-        if (saving == true)
-            return;
-
-        saving = true;
-        // Cache the resource to avoid selection loss since a selection of
-        // another item can trigger this method
-        inlinedResource = resource;
-        final String newName = textEditor.getText();
-        // Run this in an async to make sure that the operation that triggered
-        // this action is completed.  Otherwise this leads to problems when the
-        // icon of the item being renamed is clicked (i.e., which causes the rename
-        // text widget to lose focus and trigger this method).
-        Runnable query = new Runnable() {
-            public void run() {
-                try {
-                    if (!newName.equals(inlinedResource.getName())) {
-                        IWorkspace workspace = IDEWorkbenchPlugin
-                                .getPluginWorkspace();
-                        IStatus status = workspace.validateName(newName,
-                                inlinedResource.getType());
-                        if (!status.isOK()) {
-                            displayError(status.getMessage());
-                        } else {
-                            IPath newPath = inlinedResource.getFullPath()
-                                    .removeLastSegments(1).append(newName);
-                            runWithNewPath(newPath, inlinedResource);
-                        }
-                    }
-                    inlinedResource = null;
-                    //Dispose the text widget regardless
-                    disposeTextWidget();
-                    // Ensure the Navigator tree has focus, which it may not if the
-                    // text widget previously had focus.
-                    if (navigatorTree != null && !navigatorTree.isDisposed()) {
-                        navigatorTree.setFocus();
-                    }
-                } finally {
-                    saving = false;
-                }
-            }
-        };
-        getTree().getShell().getDisplay().asyncExec(query);
-    }
-
-    /**
-     * The <code>RenameResourceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * disabled if any of the selections are not resources or resources that are
-     * not local.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        disposeTextWidget();
-
-        if (selection.size() > 1)
-            return false;
-        if (!super.updateSelection(selection))
-            return false;
-
-        List resources = getSelectedResources();
-        if (resources.size() != 1)
-            return false;
-
-        IResource currentResource = (IResource) resources.get(0);
-        if (!currentResource.exists())
-            return false;
-
-        return true;
-    }
-
-    /**
-     * Set the text action handler.
-     * 
-     * @param actionHandler the action handler
-     */
-    public void setTextActionHandler(TextActionHandler actionHandler) {
-        textActionHandler = actionHandler;
-    }
-
-    /**
-     * Validates the destination file if it is read-only and additionally 
-     * the source file if both are read-only.
-     * Returns true if both files could be made writeable.
-     * 
-     * @param source source file
-     * @param destination destination file
-     * @param shell ui context for the validation
-     * @return boolean <code>true</code> both files could be made writeable.
-     * 	<code>false</code> either one or both files were not made writeable  
-     */
-    boolean validateEdit(IFile source, IFile destination, Shell shell) {
-        if (destination.isReadOnly()) {
-            IWorkspace workspace = ResourcesPlugin.getWorkspace();
-            IStatus status;
-            if (source.isReadOnly())
-                status = workspace.validateEdit(new IFile[] { source,
-                        destination }, shell);
-            else
-                status = workspace.validateEdit(new IFile[] { destination },
-                        shell);
-            return status.isOK();
-        }
-        return true;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java
deleted file mode 100644
index f570df5..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/ScrubLocalAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard action for scrubbing the local content in the local file system of
- * the selected resources and all of their descendents.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ScrubLocalAction extends WorkspaceAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = "org.eclipse.ui.ScrubLocalAction";//$NON-NLS-1$
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     */
-    public ScrubLocalAction(Shell shell) {
-        super(shell, IDEWorkbenchMessages.getString("ScrubLocalAction.text")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages
-                .getString("ScrubLocalAction.toolTip")); //$NON-NLS-1$
-        setId(ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.SCRUB_LOCAL_ACTION);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getOperationMessage() {
-        return IDEWorkbenchMessages.getString("ScrubLocalAction.progress"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("ScrubLocalAction.problemsMessage"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages.getString("ScrubLocalAction.problemsTitle"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkspaceAction.
-     */
-    protected void invokeOperation(IResource resource, IProgressMonitor monitor)
-            throws CoreException {
-        resource.setLocal(false, IResource.DEPTH_INFINITE, monitor);
-    }
-
-    /**
-     * The <code>ScrubLocalAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * disabled if any of the selections are not resources.
-     */
-    protected boolean updateSelection(IStructuredSelection s) {
-        return super.updateSelection(s)
-                && getSelectedNonResources().size() == 0;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.java
deleted file mode 100644
index 2846b3c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/SelectionListenerAction.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.ui.actions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * The abstract superclass for resource-based actions that listen to selection
- * change events. This implementation tracks the current selection (see 
- * <code>getStructuredSelection</code>) and provides a convenient place to 
- * monitor selection changes that could affect the availability of the action.
- * <p>
- * Subclasses must implement the following <code>IAction</code> method:
- * <ul>
- *   <li><code>run</code> - to do the action's work</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend the <code>updateSelection</code> method to update
- * the action determine its availability based on the current selection.
- * </p>
- * <p>
- * The object instantiating the subclass is responsible for registering
- * the instance with a selection provider. Alternatively, the object can
- * notify the subclass instance directly of a selection change using the
- * methods:
- * <ul>
- *   <li><code>selectionChanged(IStructuredSelection)</code> - passing the selection</li>
- *   <li><code>selectionChanged(ISelectionChangedEvent)</code> - passing the selection change event</li>
- * </ul>
- * </p>
- */
-public abstract class SelectionListenerAction extends
-        BaseSelectionListenerAction {
-    /**
-     * Empty list that is immutable.
-     */
-    private static final List EMPTY_LIST = Arrays.asList(new Object[0]);
-
-    /**
-     * Indicates whether the selection has changes since <code>resources</code>
-     * and <code>nonResources</code> were computed.
-     */
-    private boolean selectionDirty = true;
-
-    /**
-     * The list of resource elements in the current selection
-     * (element type: <code>IResource</code>); meaningful only when
-     * <code>selectionDirty == false</code>.
-     */
-    private List resources;
-
-    /**
-     * The list of non-resource elements in the current selection
-     * (element type: <code>Object</code>); meaningful only when
-     * <code>selectionDirty == false</code>.
-     */
-    private List nonResources;
-
-    /**
-     * Creates a new action with the given text.
-     *
-     * @param text the string used as the text for the action, 
-     *   or <code>null</code> if there is no text
-     */
-    protected SelectionListenerAction(String text) {
-        super(text);
-    }
-
-    /**
-     * The <code>SelectionListenerAction</code> implementation of this 
-     * <code>BaseSelectionListenerAction</code> method clears the cached
-     * resources and non-resources. 
-     */
-    protected void clearCache() {
-        selectionDirty = true;
-        // clear out the lists in case computeResources does not get called immediately
-        resources = null;
-        nonResources = null;
-    }
-
-    /**
-     * Extracts <code>IResource</code>s from the current selection and adds them to
-     * the resources list, and the rest into the non-resources list.
-     */
-    private final void computeResources() {
-        resources = null;
-        nonResources = null;
-
-        for (Iterator e = getStructuredSelection().iterator(); e.hasNext();) {
-            Object next = e.next();
-            if (next instanceof IResource) {
-                if (resources == null) {
-                    // assume selection contains mostly resources most times
-                    resources = new ArrayList(getStructuredSelection().size());
-                }
-                resources.add(next);
-                continue;
-            }
-            if (next instanceof IAdaptable) {
-                Object resource = ((IAdaptable) next)
-                        .getAdapter(IResource.class);
-                if (resource != null) {
-                    if (resources == null) {
-                        // assume selection contains mostly resources most times
-                        resources = new ArrayList(getStructuredSelection()
-                                .size());
-                    }
-                    resources.add(resource);
-                    continue;
-                }
-            }
-
-            if (nonResources == null) {
-                // assume selection contains mostly resources most times
-                nonResources = new ArrayList(1);
-            }
-            nonResources.add(next);
-        }
-    }
-
-    /**
-     * Returns the elements in the current selection that are not 
-     * <code>IResource</code>s.
-     *
-     * @return list of elements (element type: <code>Object</code>)
-     */
-    protected List getSelectedNonResources() {
-        //recompute if selection has changed.
-        if (selectionDirty) {
-            computeResources();
-            selectionDirty = false;
-        }
-
-        if (nonResources == null)
-            return EMPTY_LIST;
-        else
-            return nonResources;
-    }
-
-    /**
-     * Returns the elements in the current selection that are 
-     * <code>IResource</code>s.
-     *
-     * @return list of resource elements (element type: <code>IResource</code>)
-     */
-    protected List getSelectedResources() {
-        //recompute if selection has changed.
-        if (selectionDirty) {
-            computeResources();
-            selectionDirty = false;
-        }
-
-        if (resources == null)
-            return EMPTY_LIST;
-        else
-            return resources;
-    }
-
-    /**
-     * Returns whether the type of the given resource is among those in the given
-     * resource type mask.
-     * 
-     * @param resource the resource
-     * @param resourceMask a bitwise OR of resource types: 
-     *   <code>IResource</code>.{<code>FILE</code>, <code>FOLDER</code>,
-     *   <code>PROJECT</code>, <code>ROOT</code>}
-     * @return <code>true</code> if the resource type matches, and <code>false</code>
-     *   otherwise
-     * @see IResource
-     */
-    protected boolean resourceIsType(IResource resource, int resourceMask) {
-        return (resource.getType() & resourceMask) != 0;
-    }
-
-    /**
-     * Returns whether the current selection consists entirely of resources whose
-     * types are among those in the given resource type mask.
-     * 
-     * @param resourceMask a bitwise OR of resource types: 
-     *   <code>IResource</code>.{<code>FILE</code>, <code>FOLDER</code>,
-     *   <code>PROJECT</code>, <code>ROOT</code>}
-     * @return <code>true</code> if all resources in the current selection are of the
-     *   specified types or if the current selection is empty, and <code>false</code> if some
-     *   elements are resources of a different type or not resources
-     * @see IResource
-     */
-    protected boolean selectionIsOfType(int resourceMask) {
-        if (getSelectedNonResources().size() > 0)
-            return false;
-
-        for (Iterator e = getSelectedResources().iterator(); e.hasNext();) {
-            IResource next = (IResource) e.next();
-            if (!resourceIsType(next, resourceMask))
-                return false;
-        }
-        return true;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
deleted file mode 100644
index ef6c0cd..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/TextActionHandler.java
+++ /dev/null
@@ -1,520 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Handles the redirection of the global Cut, Copy, Paste, and
- * Select All actions to either the current inline text control
- * or the part's supplied action handler.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p><p>
- * Example usage:
- * <pre>
- * textActionHandler = new TextActionHandler(this.getViewSite().getActionBars());
- * textActionHandler.addText((Text)textCellEditor1.getControl());
- * textActionHandler.addText((Text)textCellEditor2.getControl());
- * textActionHandler.setSelectAllAction(selectAllAction);
- * </pre>
- * </p>
- */
-public class TextActionHandler {
-    private DeleteActionHandler textDeleteAction = new DeleteActionHandler();
-
-    private CutActionHandler textCutAction = new CutActionHandler();
-
-    private CopyActionHandler textCopyAction = new CopyActionHandler();
-
-    private PasteActionHandler textPasteAction = new PasteActionHandler();
-
-    private SelectAllActionHandler textSelectAllAction = new SelectAllActionHandler();
-
-    private IAction deleteAction;
-
-    private IAction cutAction;
-
-    private IAction copyAction;
-
-    private IAction pasteAction;
-
-    private IAction selectAllAction;
-
-    private IPropertyChangeListener deleteActionListener = new PropertyChangeListener(
-            textDeleteAction);
-
-    private IPropertyChangeListener cutActionListener = new PropertyChangeListener(
-            textCutAction);
-
-    private IPropertyChangeListener copyActionListener = new PropertyChangeListener(
-            textCopyAction);
-
-    private IPropertyChangeListener pasteActionListener = new PropertyChangeListener(
-            textPasteAction);
-
-    private IPropertyChangeListener selectAllActionListener = new PropertyChangeListener(
-            textSelectAllAction);
-
-    private Listener textControlListener = new TextControlListener();
-
-    private Text activeTextControl;
-
-    private MouseAdapter mouseAdapter = new MouseAdapter() {
-        public void mouseUp(MouseEvent e) {
-            updateActionsEnableState();
-        }
-    };
-
-    private KeyAdapter keyAdapter = new KeyAdapter() {
-        public void keyReleased(KeyEvent e) {
-            updateActionsEnableState();
-        }
-    };
-
-    private class TextControlListener implements Listener {
-        public void handleEvent(Event event) {
-            switch (event.type) {
-            case SWT.Activate:
-                activeTextControl = (Text) event.widget;
-                updateActionsEnableState();
-                break;
-            case SWT.Deactivate:
-                activeTextControl = null;
-                updateActionsEnableState();
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-    private class PropertyChangeListener implements IPropertyChangeListener {
-        private IAction actionHandler;
-
-        protected PropertyChangeListener(IAction actionHandler) {
-            super();
-            this.actionHandler = actionHandler;
-        }
-
-        public void propertyChange(PropertyChangeEvent event) {
-            if (activeTextControl != null)
-                return;
-            if (event.getProperty().equals(IAction.ENABLED)) {
-                Boolean bool = (Boolean) event.getNewValue();
-                actionHandler.setEnabled(bool.booleanValue());
-            }
-        }
-    }
-
-    private class DeleteActionHandler extends Action {
-        protected DeleteActionHandler() {
-            super(IDEWorkbenchMessages.getString("Delete")); //$NON-NLS-1$
-            setId("TextDeleteActionHandler");//$NON-NLS-1$
-            setEnabled(false);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-					IIDEHelpContextIds.TEXT_DELETE_ACTION);
-        }
-
-        public void runWithEvent(Event event) {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                activeTextControl.clearSelection();
-                return;
-            }
-            if (deleteAction != null) {
-                deleteAction.runWithEvent(event);
-                return;
-            }
-        }
-
-        /**
-         * Update state.
-         */
-        public void updateEnabledState() {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                setEnabled(activeTextControl.getSelectionCount() > 0
-                        || activeTextControl.getCaretPosition() < activeTextControl
-                                .getCharCount());
-                return;
-            }
-            if (deleteAction != null) {
-                setEnabled(deleteAction.isEnabled());
-                return;
-            }
-            setEnabled(false);
-        }
-    }
-
-    private class CutActionHandler extends Action {
-        protected CutActionHandler() {
-            super(IDEWorkbenchMessages.getString("Cut")); //$NON-NLS-1$
-            setId("TextCutActionHandler");//$NON-NLS-1$
-            setEnabled(false);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-					IIDEHelpContextIds.TEXT_CUT_ACTION);
-        }
-
-        public void runWithEvent(Event event) {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                activeTextControl.cut();
-                return;
-            }
-            if (cutAction != null) {
-                cutAction.runWithEvent(event);
-                return;
-            }
-        }
-
-        /**
-         * Update state.
-         */
-        public void updateEnabledState() {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                setEnabled(activeTextControl.getSelectionCount() > 0);
-                return;
-            }
-            if (cutAction != null) {
-                setEnabled(cutAction.isEnabled());
-                return;
-            }
-            setEnabled(false);
-        }
-    }
-
-    private class CopyActionHandler extends Action {
-        protected CopyActionHandler() {
-            super(IDEWorkbenchMessages.getString("Copy")); //$NON-NLS-1$
-            setId("TextCopyActionHandler");//$NON-NLS-1$
-            setEnabled(false);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-					IIDEHelpContextIds.TEXT_COPY_ACTION);
-        }
-
-        public void runWithEvent(Event event) {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                activeTextControl.copy();
-                return;
-            }
-            if (copyAction != null) {
-                copyAction.runWithEvent(event);
-                return;
-            }
-        }
-
-        /**
-         * Update the state.
-         */
-        public void updateEnabledState() {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                setEnabled(activeTextControl.getSelectionCount() > 0);
-                return;
-            }
-            if (copyAction != null) {
-                setEnabled(copyAction.isEnabled());
-                return;
-            }
-            setEnabled(false);
-        }
-    }
-
-    private class PasteActionHandler extends Action {
-        protected PasteActionHandler() {
-            super(IDEWorkbenchMessages.getString("Paste")); //$NON-NLS-1$
-            setId("TextPasteActionHandler");//$NON-NLS-1$
-            setEnabled(false);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-					IIDEHelpContextIds.TEXT_PASTE_ACTION);
-        }
-
-        public void runWithEvent(Event event) {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                activeTextControl.paste();
-                return;
-            }
-            if (pasteAction != null) {
-                pasteAction.runWithEvent(event);
-                return;
-            }
-        }
-
-        /**
-         * Update the state
-         */
-        public void updateEnabledState() {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                setEnabled(true);
-                return;
-            }
-            if (pasteAction != null) {
-                setEnabled(pasteAction.isEnabled());
-                return;
-            }
-            setEnabled(false);
-        }
-    }
-
-    private class SelectAllActionHandler extends Action {
-        protected SelectAllActionHandler() {
-            super(IDEWorkbenchMessages.getString("TextAction.selectAll")); //$NON-NLS-1$
-            setId("TextSelectAllActionHandler");//$NON-NLS-1$
-            setEnabled(false);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-					IIDEHelpContextIds.TEXT_SELECT_ALL_ACTION);
-        }
-
-        public void runWithEvent(Event event) {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                activeTextControl.selectAll();
-                return;
-            }
-            if (selectAllAction != null) {
-                selectAllAction.runWithEvent(event);
-                return;
-            }
-        }
-
-        /**
-         * Update the state.
-         */
-        public void updateEnabledState() {
-            if (activeTextControl != null && !activeTextControl.isDisposed()) {
-                setEnabled(true);
-                return;
-            }
-            if (selectAllAction != null) {
-                setEnabled(selectAllAction.isEnabled());
-                return;
-            }
-            setEnabled(false);
-        }
-    }
-
-    /**
-     * Creates a <code>Text</code> control action handler
-     * for the global Cut, Copy, Paste, Delete, and Select All 
-     * of the action bar.
-     *
-     * @param actionBar the action bar to register global
-     *    action handlers for Cut, Copy, Paste, Delete, 
-     * 	  and Select All
-     */
-    public TextActionHandler(IActionBars actionBar) {
-        super();
-        actionBar.setGlobalActionHandler(ActionFactory.CUT.getId(),
-                textCutAction);
-        actionBar.setGlobalActionHandler(ActionFactory.COPY.getId(),
-                textCopyAction);
-        actionBar.setGlobalActionHandler(ActionFactory.PASTE.getId(),
-                textPasteAction);
-        actionBar.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(),
-                textSelectAllAction);
-        actionBar.setGlobalActionHandler(ActionFactory.DELETE.getId(),
-                textDeleteAction);
-    }
-
-    /**
-     * Add a <code>Text</code> control to the handler
-     * so that the Cut, Copy, Paste, Delete, and Select All 
-     * actions are redirected to it when active.
-     *
-     * @param textControl the inline <code>Text</code> control
-     */
-    public void addText(Text textControl) {
-        if (textControl == null)
-            return;
-
-        activeTextControl = textControl;
-        textControl.addListener(SWT.Activate, textControlListener);
-        textControl.addListener(SWT.Deactivate, textControlListener);
-
-        // We really want a selection listener but it is not supported so we
-        // use a key listener and a mouse listener to know when selection changes
-        // may have occured
-        textControl.addKeyListener(keyAdapter);
-        textControl.addMouseListener(mouseAdapter);
-
-    }
-
-    /**
-     * Dispose of this action handler
-     */
-    public void dispose() {
-        setCutAction(null);
-        setCopyAction(null);
-        setPasteAction(null);
-        setSelectAllAction(null);
-        setDeleteAction(null);
-    }
-
-    /**
-     * Removes a <code>Text</code> control from the handler
-     * so that the Cut, Copy, Paste, Delete, and Select All 
-     * actions are no longer redirected to it when active.
-     *
-     * @param textControl the inline <code>Text</code> control
-     */
-    public void removeText(Text textControl) {
-        if (textControl == null)
-            return;
-
-        textControl.removeListener(SWT.Activate, textControlListener);
-        textControl.removeListener(SWT.Deactivate, textControlListener);
-
-        textControl.removeMouseListener(mouseAdapter);
-        textControl.removeKeyListener(keyAdapter);
-
-        activeTextControl = null;
-        updateActionsEnableState();
-    }
-
-    /**
-     * Set the default <code>IAction</code> handler for the Copy
-     * action. This <code>IAction</code> is run only if no active
-     * inline text control.
-     *
-     * @param action the <code>IAction</code> to run for the
-     *    Copy action, or <code>null</null> if not interested.
-     */
-    public void setCopyAction(IAction action) {
-        if (copyAction == action)
-            return;
-
-        if (copyAction != null)
-            copyAction.removePropertyChangeListener(copyActionListener);
-
-        copyAction = action;
-
-        if (copyAction != null)
-            copyAction.addPropertyChangeListener(copyActionListener);
-
-        textCopyAction.updateEnabledState();
-    }
-
-    /**
-     * Set the default <code>IAction</code> handler for the Cut
-     * action. This <code>IAction</code> is run only if no active
-     * inline text control.
-     *
-     * @param action the <code>IAction</code> to run for the
-     *    Cut action, or <code>null</null> if not interested.
-     */
-    public void setCutAction(IAction action) {
-        if (cutAction == action)
-            return;
-
-        if (cutAction != null)
-            cutAction.removePropertyChangeListener(cutActionListener);
-
-        cutAction = action;
-
-        if (cutAction != null)
-            cutAction.addPropertyChangeListener(cutActionListener);
-
-        textCutAction.updateEnabledState();
-    }
-
-    /**
-     * Set the default <code>IAction</code> handler for the Paste
-     * action. This <code>IAction</code> is run only if no active
-     * inline text control.
-     *
-     * @param action the <code>IAction</code> to run for the
-     *    Paste action, or <code>null</null> if not interested.
-     */
-    public void setPasteAction(IAction action) {
-        if (pasteAction == action)
-            return;
-
-        if (pasteAction != null)
-            pasteAction.removePropertyChangeListener(pasteActionListener);
-
-        pasteAction = action;
-
-        if (pasteAction != null)
-            pasteAction.addPropertyChangeListener(pasteActionListener);
-
-        textPasteAction.updateEnabledState();
-    }
-
-    /**
-     * Set the default <code>IAction</code> handler for the Select All
-     * action. This <code>IAction</code> is run only if no active
-     * inline text control.
-     *
-     * @param action the <code>IAction</code> to run for the
-     *    Select All action, or <code>null</null> if not interested.
-     */
-    public void setSelectAllAction(IAction action) {
-        if (selectAllAction == action)
-            return;
-
-        if (selectAllAction != null)
-            selectAllAction
-                    .removePropertyChangeListener(selectAllActionListener);
-
-        selectAllAction = action;
-
-        if (selectAllAction != null)
-            selectAllAction.addPropertyChangeListener(selectAllActionListener);
-
-        textSelectAllAction.updateEnabledState();
-    }
-
-    /**
-     * Set the default <code>IAction</code> handler for the Delete
-     * action. This <code>IAction</code> is run only if no active
-     * inline text control.
-     *
-     * @param action the <code>IAction</code> to run for the
-     *    Delete action, or <code>null</null> if not interested.
-     */
-    public void setDeleteAction(IAction action) {
-        if (deleteAction == action)
-            return;
-
-        if (deleteAction != null)
-            deleteAction.removePropertyChangeListener(deleteActionListener);
-
-        deleteAction = action;
-
-        if (deleteAction != null)
-            deleteAction.addPropertyChangeListener(deleteActionListener);
-
-        textDeleteAction.updateEnabledState();
-    }
-
-    /**
-     * Update the enable state of the Cut, Copy,
-     * Paste, Delete, and Select All action handlers
-     */
-    private void updateActionsEnableState() {
-        textCutAction.updateEnabledState();
-        textCopyAction.updateEnabledState();
-        textPasteAction.updateEnabledState();
-        textSelectAllAction.updateEnabledState();
-        textDeleteAction.updateEnabledState();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
deleted file mode 100644
index 529b6b0..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceAction.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.StatusUtil;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * The abstract superclass for actions which invoke commands 
- * implemented in org.eclipse.core.* on a set of selected resources.
- * 
- * It iterates over all selected resources; errors are collected and
- * displayed to the user via a problems dialog at the end of the operation.
- * User requests to cancel the operation are passed along to the core.
- * <p>
- * Subclasses must implement the following methods:
- * <ul>
- *   <li><code>invokeOperation</code> - to perform the operation on one of the 
- *      selected resources</li>
- *   <li><code>getOperationMessage</code> - to furnish a title for the progress
- *      dialog</li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override the following methods:
- * <ul>
- *   <li><code>shouldPerformResourcePruning</code> - reimplement to turn off</li>
- *   <li><code>updateSelection</code> - extend to refine enablement criteria</li>
- *   <li><code>getProblemsTitle</code> - reimplement to furnish a title for the
- *      problems dialog</li>
- *   <li><code>getProblemsMessage</code> - reimplement to furnish a message for 
- *      the problems dialog</li>
- *   <li><code>run</code> - extend to </li>
- * </ul>
- * </p>
- */
-public abstract class WorkspaceAction extends SelectionListenerAction {
-    /**
-     * The shell in which to show the progress and problems dialog.
-     */
-    private final Shell shell;
-
-    /**
-     * Creates a new action with the given text.
-     *
-     * @param shell the shell (for the modal progress dialog and error messages)
-     * @param text the string used as the text for the action, 
-     *   or <code>null</code> if there is no text
-     */
-    protected WorkspaceAction(Shell shell, String text) {
-        super(text);
-        if (shell == null) {
-            throw new IllegalArgumentException();
-        }
-        this.shell = shell;
-    }
-
-    /**
-     * Opens an error dialog to display the given message.
-     * <p>
-     * Note that this method must be called from UI thread.
-     * </p>
-     *
-     * @param message the message
-     */
-    void displayError(String message) {
-        if (message == null) {
-            message = IDEWorkbenchMessages
-                    .getString("WorkbenchAction.internalError"); //$NON-NLS-1$
-        }
-        MessageDialog.openError(shell, getProblemsTitle(), message);
-    }
-
-    /**
-     * Runs <code>invokeOperation</code> on each of the selected resources, reporting
-     * progress and fielding cancel requests from the given progress monitor.
-     * <p>
-     * Note that if an action is running in the background, the same action instance
-     * can be executed multiple times concurrently.  This method must not access
-     * or modify any mutable state on action class.
-     *
-     * @param monitor a progress monitor
-     * @return The result of the execution
-     */
-    final IStatus execute(List resources, IProgressMonitor monitor) {
-    	MultiStatus errors = null;
-        //1FTIMQN: ITPCORE:WIN - clients required to do too much iteration work
-        if (shouldPerformResourcePruning()) {
-            resources = pruneResources(resources);
-        }
-        // 1FV0B3Y: ITPUI:ALL - sub progress monitors granularity issues
-        monitor.beginTask("", resources.size() * 1000); //$NON-NLS-1$
-        // Fix for bug 31768 - Don't provide a task name in beginTask
-        // as it will be appended to each subTask message. Need to
-        // call setTaskName as its the only was to assure the task name is
-        // set in the monitor (see bug 31824)
-        monitor.setTaskName(getOperationMessage());
-        Iterator resourcesEnum = resources.iterator();
-        try {
-            while (resourcesEnum.hasNext()) {
-                IResource resource = (IResource) resourcesEnum.next();
-                try {
-                    // 1FV0B3Y: ITPUI:ALL - sub progress monitors granularity issues
-                    invokeOperation(resource, new SubProgressMonitor(monitor,
-                            1000));
-                } catch (CoreException e) {
-                    errors = recordError(errors, e);
-                }
-                if (monitor.isCanceled())
-                    throw new OperationCanceledException();
-            }
-            return errors == null ? Status.OK_STATUS : errors;
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     * Returns the string to display for this action's operation.
-     * <p>
-     * Note that this hook method is invoked in a non-UI thread.
-     * </p>
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @return the message
-     */
-    protected abstract String getOperationMessage();
-
-    /**
-     * Returns the string to display for this action's problems dialog.
-     * <p>
-     * The <code>WorkspaceAction</code> implementation of this method returns a
-     * vague message (localized counterpart of something like "The following 
-     * problems occurred."). Subclasses may reimplement to provide something more
-     * suited to the particular action.
-     * </p>
-     *
-     * @return the problems message
-     */
-    protected String getProblemsMessage() {
-        return IDEWorkbenchMessages
-                .getString("WorkbenchAction.problemsMessage"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the title for this action's problems dialog.
-     * <p>
-     * The <code>WorkspaceAction</code> implementation of this method returns a
-     * generic title (localized counterpart of "Problems"). Subclasses may 
-     * reimplement to provide something more suited to the particular action.
-     * </p>
-     *
-     * @return the problems dialog title
-     */
-    protected String getProblemsTitle() {
-        return IDEWorkbenchMessages.getString("WorkspaceAction.problemsTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the shell for this action. This shell is used for the modal progress
-     * and error dialogs.
-     *
-     * @return the shell
-     */
-    Shell getShell() {
-        return shell;
-    }
-
-    /**
-     * Performs this action's operation on each of the selected resources, reporting
-     * progress to, and fielding cancel requests from, the given progress monitor.
-     * <p>
-     * Note that this method is invoked in a non-UI thread.
-     * </p>
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @param resource one of the selected resources
-     * @param monitor a progress monitor
-     * @exception CoreException if the operation fails
-     */
-    protected abstract void invokeOperation(IResource resource, IProgressMonitor monitor)
-            throws CoreException;
-
-    /**
-     * Returns whether the given resource is a descendent of any of the resources
-     * in the given list.
-     *
-     * @param resources the list of resources (element type: <code>IResource</code>)
-     * @param child the resource to check
-     * @return <code>true</code> if <code>child</code> is a descendent of any of the
-     *   elements of <code>resources</code>
-     */
-    boolean isDescendent(List resources, IResource child) {
-        IResource parent = child.getParent();
-        return parent != null
-                && (resources.contains(parent) || isDescendent(resources,
-                        parent));
-    }
-
-    /**
-     * Performs pruning on the given list of resources, as described in 
-     * <code>shouldPerformResourcePruning</code>.
-     *
-     * @param resourceCollection the list of resources (element type: 
-     *    <code>IResource</code>)
-     * @return the list of resources (element type: <code>IResource</code>)
-     *		after pruning. 
-     * @see #shouldPerformResourcePruning
-     */
-    List pruneResources(List resourceCollection) {
-        List prunedList = new ArrayList(resourceCollection);
-        Iterator elementsEnum = prunedList.iterator();
-        while (elementsEnum.hasNext()) {
-            IResource currentResource = (IResource) elementsEnum.next();
-            if (isDescendent(prunedList, currentResource))
-                elementsEnum.remove(); //Removes currentResource
-        }
-        return prunedList;
-    }
-
-    /**
-     * Records the core exception to be displayed to the user
-     * once the action is finished.
-     *
-     * @param error a <code>CoreException</code>
-     */
-    MultiStatus recordError(MultiStatus errors, CoreException error) {
-        if (errors == null)
-        	errors = new MultiStatus(IDEWorkbenchPlugin.IDE_WORKBENCH,
-                    IStatus.ERROR, getProblemsMessage(), error);
-        errors.merge(error.getStatus());
-        return errors;
-    }
-
-    /**
-     * The <code>CoreWrapperAction</code> implementation of this <code>IAction</code>
-     * method uses a <code>ProgressMonitorDialog</code> to run the operation. The
-     * operation calls <code>execute</code> (which, in turn, calls 
-     * <code>invokeOperation</code>). Afterwards, any <code>CoreException</code>s
-     * encountered while running the operation are reported to the user via a
-     * problems dialog.
-     * <p>
-     * Subclasses may extend this method.
-     * </p>
-     */
-    public void run() {
-    	final IStatus[] errorStatus = new IStatus[1];
-        try {
-            WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-                public void execute(IProgressMonitor monitor) {
-                    errorStatus[0] = WorkspaceAction.this.execute(getActionResources(), monitor);
-                }
-            };
-            new ProgressMonitorJobsDialog(shell).run(true, true, op);
-        } catch (InterruptedException e) {
-            return;
-        } catch (InvocationTargetException e) {
-            // we catch CoreException in execute(), but unexpected runtime exceptions or errors may still occur
-            String msg = IDEWorkbenchMessages.format(
-                    "WorkspaceAction.logTitle", new Object[] {//$NON-NLS-1$
-                    getClass().getName(), e.getTargetException() });
-            IDEWorkbenchPlugin.log(msg, StatusUtil.newStatus(IStatus.ERROR,
-                    msg, e.getTargetException()));
-            displayError(e.getTargetException().getMessage());
-        }
-        // If errors occurred, open an Error dialog & build a multi status error for it
-        if (errorStatus[0] != null && !errorStatus[0].isOK()) {
-            ErrorDialog.openError(shell, getProblemsTitle(), null, // no special message
-                    errorStatus[0]);
-        }
-    }
-
-    /**
-     * Returns whether this action should attempt to optimize the resources being
-     * operated on. This kind of pruning makes sense when the operation has depth
-     * infinity semantics (when the operation is applied explicitly to a resource
-     * then it is also applied implicitly to all the resource's descendents).
-     * <p>
-     * The <code>WorkspaceAction</code> implementation of this method returns
-     * <code>true</code>. Subclasses should reimplement to return <code>false</code>
-     * if pruning is not required.
-     * </p>
-     *
-     * @return <code>true</code> if pruning should be performed, 
-     *   and <code>false</code> if pruning is not desired
-     */
-    protected boolean shouldPerformResourcePruning() {
-        return true;
-    }
-
-    /**
-     * The <code>WorkspaceAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method ensures that this action is
-     * disabled if any of the selected resources are inaccessible. Subclasses may
-     * extend to react to selection changes; however, if the super method returns
-     * <code>false</code>, the overriding method should also return <code>false</code>.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (!super.updateSelection(selection) || selection.isEmpty()) {
-            return false;
-        }
-        for (Iterator i = getSelectedResources().iterator(); i.hasNext();) {
-            IResource r = (IResource) i.next();
-            if (!r.isAccessible()) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    /**
-     * Returns the elements that the action is to be performed on.
-     * By default return the selected resources.
-     * <p>
-     * Subclasses may override this method.
-     *
-     * @return list of resource elements (element type: <code>IResource</code>)
-     */
-    protected List getActionResources() {
-        return getSelectedResources();
-    }
-
-    /**
-     * Run the action in the background rather than with the
-     * progress dialog.
-     * @param rule The rule to apply to the background job or
-     * <code>null</code> if there isn't one.
-     */
-    public void runInBackground(ISchedulingRule rule) {
-    	runInBackground(rule, (Object []) null);
-    }
- 
-    /**
-     * Run the action in the background rather than with the
-     * progress dialog.
-     * @param rule The rule to apply to the background job or
-     * <code>null</code> if there isn't one.
-     * @param jobFamily a single family that the job should 
-     * belong to or <code>null</code> if none.
-     * 
-     * @since 3.1
-     */
-    public void runInBackground(ISchedulingRule rule, Object jobFamily) {
-    	if (jobFamily == null) 
-    		runInBackground(rule, (Object []) null);
-    	else
-    		runInBackground(rule, new Object[] {jobFamily});
-    }
-    
-    /**
-     * Run the action in the background rather than with the
-     * progress dialog.
-     * @param rule The rule to apply to the background job or
-     * <code>null</code> if there isn't one.
-     * @param jobFamilies the families the job should belong 
-     * to or <code>null</code> if none.
-     * 
-     * @since 3.1
-     */
-    public void runInBackground(ISchedulingRule rule, final Object [] jobFamilies) {
-    	//obtain a copy of the selected resources before the job is forked
-    	final List resources = new ArrayList(getActionResources());
-        Job job = new WorkspaceJob(removeMnemonics(getText())) {
-        	
-        	/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#belongsTo(java.lang.Object)
-			 */
-			public boolean belongsTo(Object family) {
-				if (jobFamilies == null || family == null) {
-					return false;
-				}
-				for (int i = 0; i < jobFamilies.length; i++) {
-					if (family.equals(jobFamilies[i])) {
-						return true;
-					}
-				}
-				return false;
-			}
-			
-            /* (non-Javadoc)
-             * @see org.eclipse.core.resources.WorkspaceJob#runInWorkspace(org.eclipse.core.runtime.IProgressMonitor)
-             */
-            public IStatus runInWorkspace(IProgressMonitor monitor) {
-                return WorkspaceAction.this.execute(resources, monitor);
-            }
-        };
-        if (rule != null)
-            job.setRule(rule);
-        job.setUser(true);
-        job.schedule();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.java
deleted file mode 100644
index 503d1db..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyDelegatingOperation.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.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-/**
- * An operation which delegates its work to a runnable that modifies the
- * workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class WorkspaceModifyDelegatingOperation extends
-        WorkspaceModifyOperation {
-
-    /**
-     * The runnable to delegate work to at execution time.
-     */
-    private IRunnableWithProgress content;
-
-    /**
-     * Creates a new operation which will delegate its work to the given
-     * runnable using the provided scheduling rule.
-     * 
-     * @param content
-     *            the runnable to delegate to when this operation is executed
-     * @param rule
-     *            The ISchedulingRule to use or <code>null</code>.
-     */
-    public WorkspaceModifyDelegatingOperation(IRunnableWithProgress content,
-            ISchedulingRule rule) {
-        super(rule);
-        this.content = content;
-    }
-
-    /**
-     * Creates a new operation which will delegate its work to the given
-     * runnable. Schedule using the supplied s
-     * 
-     * @param content
-     *            the runnable to delegate to when this operation is executed
-     */
-    public WorkspaceModifyDelegatingOperation(IRunnableWithProgress content) {
-        super();
-        this.content = content;
-    }
-
-    /*
-     * (non-Javadoc) Method declared on WorkbenchModifyOperation.
-     */
-    protected void execute(IProgressMonitor monitor) throws CoreException,
-            InterruptedException {
-        try {
-            content.run(monitor);
-        } catch (InvocationTargetException e) {
-            if (e.getTargetException() instanceof CoreException)
-                throw (CoreException) e.getTargetException();
-            if (e.getTargetException() instanceof RuntimeException)
-                throw (RuntimeException) e.getTargetException();
-            if (e.getTargetException() instanceof Error)
-                throw (Error) e.getTargetException();
-            e.getTargetException().printStackTrace();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java
deleted file mode 100644
index 4454cee..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/WorkspaceModifyOperation.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.actions;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * An operation which potentially makes changes to the workspace. All resource 
- * modification should be performed using this operation. The primary 
- * consequence of using this operation is that events which typically occur as a
- * result of workspace changes (such as the firing of resource deltas, 
- * performance of autobuilds, etc.) are deferred until the outermost operation
- * has successfully completed.
- * <p>
- * If a scheduling rule is provided, the operation will obtain that scheduling
- * rule for the duration of its <code>execute</code> method.  If no scheduling
- * rule is provided, the operation will obtain a scheduling rule that locks
- * the entire workspace for the duration of the operation.
- * </p>
- * <p>
- * Subclasses must implement <code>execute</code> to do the work of the
- * operation.
- * </p>
- * @see ISchedulingRule
- * @see org.eclipse.core.resources.IWorkspace#run(IWorkspaceRunnable, IProgressMonitor)
- *  */
-public abstract class WorkspaceModifyOperation implements IRunnableWithProgress {
-    private ISchedulingRule rule;
-
-    /**
-     * Creates a new operation.
-     */
-    protected WorkspaceModifyOperation() {
-        this(IDEWorkbenchPlugin.getPluginWorkspace().getRoot());
-    }
-
-    /**
-     * Creates a new operation that will run using the provided
-     * scheduling rule.
-     * @param rule  The ISchedulingRule to use or <code>null</code>.
-     * @since 3.0
-     */
-    protected WorkspaceModifyOperation(ISchedulingRule rule) {
-        this.rule = rule;
-    }
-
-    /**
-     * Performs the steps that are to be treated as a single logical workspace
-     * change.
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @param monitor the progress monitor to use to display progress and field
-     *   user requests to cancel
-     * @exception CoreException if the operation fails due to a CoreException
-     * @exception InvocationTargetException if the operation fails due to an exception other than CoreException
-     * @exception InterruptedException if the operation detects a request to cancel, 
-     *  using <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing 
-     *  <code>InterruptedException</code>.  It is also possible to throw 
-     *  <code>OperationCanceledException</code>, which gets mapped to <code>InterruptedException</code>
-     *  by the <code>run</code> method.
-     */
-    protected abstract void execute(IProgressMonitor monitor)
-            throws CoreException, InvocationTargetException,
-            InterruptedException;
-
-    /**
-     * The <code>WorkspaceModifyOperation</code> implementation of this 
-     * <code>IRunnableWithProgress</code> method initiates a batch of changes by 
-     * invoking the <code>execute</code> method as a workspace runnable 
-     * (<code>IWorkspaceRunnable</code>).
-     */
-    public synchronized final void run(IProgressMonitor monitor)
-            throws InvocationTargetException, InterruptedException {
-        final InvocationTargetException[] iteHolder = new InvocationTargetException[1];
-        try {
-            IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
-                public void run(IProgressMonitor pm) throws CoreException {
-                    try {
-                        execute(pm);
-                    } catch (InvocationTargetException e) {
-                        // Pass it outside the workspace runnable
-                        iteHolder[0] = e;
-                    } catch (InterruptedException e) {
-                        // Re-throw as OperationCanceledException, which will be
-                        // caught and re-thrown as InterruptedException below.
-                        throw new OperationCanceledException(e.getMessage());
-                    }
-                    // CoreException and OperationCanceledException are propagated
-                }
-            };
-            IDEWorkbenchPlugin.getPluginWorkspace().run(workspaceRunnable,
-                    rule, IResource.NONE, monitor);
-        } catch (CoreException e) {
-            throw new InvocationTargetException(e);
-        } catch (OperationCanceledException e) {
-            throw new InterruptedException(e.getMessage());
-        }
-        // Re-throw the InvocationTargetException, if any occurred
-        if (iteHolder[0] != null) {
-            throw iteHolder[0];
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java
deleted file mode 100644
index a7a6ef4..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerGenerator.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * For creating folder resources that currently do not exist, 
- * along a given workspace path.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example usage:
- * <pre>
- * ContainerGenerator gen = new ContainerGenerator(new Path("/A/B"));
- * IContainer res = null;
- * try {
- *   res = gen.getContainer(monitor); // creates project A and folder B if required
- * } catch (CoreException e) {
- *   // handle failure
- * } catch (OperationCanceledException e) {
- *   // handle cancelation
- * }
- * </pre>
- * </p>
- */
-public class ContainerGenerator {
-    private IPath containerFullPath;
-
-    private IContainer container;
-
-    /**
-     * Creates a generator for the container resource (folder or project) at the
-     * given workspace path. Assumes the path has already been validated.
-     * <p>
-     * Call <code>getContainer</code> to create any missing resources along the
-     * path.
-     * </p>
-     *
-     * @param containerPath the workspace path of the container
-     */
-    public ContainerGenerator(IPath containerPath) {
-        super();
-        this.containerFullPath = containerPath;
-    }
-
-    /**
-     * Creates a folder resource for the given folder handle.
-     *
-     * @param folderHandle the handle to create a folder resource
-     * @param monitor the progress monitor to show visual progress
-     * @return the folder handle (<code>folderHandle</code>)
-     * @exception CoreException if the operation fails
-     * @exception OperationCanceledException if the operation is canceled
-     */
-    private IFolder createFolder(IFolder folderHandle, IProgressMonitor monitor)
-            throws CoreException {
-        folderHandle.create(false, true, monitor);
-
-        if (monitor.isCanceled())
-            throw new OperationCanceledException();
-
-        return folderHandle;
-    }
-
-    /**
-     * Creates a folder resource handle for the folder with the given name.
-     * This method does not create the folder resource; this is the responsibility
-     * of <code>createFolder</code>.
-     *
-     * @param container the resource container
-     * @param folderName the name of the folder
-     * @return the new folder resource handle
-     */
-    private IFolder createFolderHandle(IContainer container, String folderName) {
-        return container.getFolder(new Path(folderName));
-    }
-
-    /**
-     * Creates a project resource for the given project handle.
-     *
-     * @param projectHandle the handle to create a project resource
-     * @param monitor the progress monitor to show visual progress
-     * @return the project handle (<code>projectHandle</code>)
-     * @exception CoreException if the operation fails
-     * @exception OperationCanceledException if the operation is canceled
-     */
-    private IProject createProject(IProject projectHandle,
-            IProgressMonitor monitor) throws CoreException {
-        try {
-            monitor.beginTask("", 2000);//$NON-NLS-1$
-
-            projectHandle.create(new SubProgressMonitor(monitor, 1000));
-            if (monitor.isCanceled())
-                throw new OperationCanceledException();
-
-            projectHandle.open(new SubProgressMonitor(monitor, 1000));
-            if (monitor.isCanceled())
-                throw new OperationCanceledException();
-        } finally {
-            monitor.done();
-        }
-
-        return projectHandle;
-    }
-
-    /**
-     * Creates a project resource handle for the project with the given name.
-     * This method does not create the project resource; this is the responsibility
-     * of <code>createProject</code>.
-     *
-     * @param root the workspace root resource
-     * @param projectName the name of the project
-     * @return the new project resource handle
-     */
-    private IProject createProjectHandle(IWorkspaceRoot root, String projectName) {
-        return root.getProject(projectName);
-    }
-
-    /**
-     * Ensures that this generator's container resource exists. Creates any missing
-     * resource containers along the path; does nothing if the container resource
-     * already exists.
-     * <p>
-     * Note: This method should be called within a workspace modify operation since
-     * it may create resources.
-     * </p>
-     *
-     * @param monitor a progress monitor
-     * @return the container resource
-     * @exception CoreException if the operation fails
-     * @exception OperationCanceledException if the operation is canceled
-     */
-    public IContainer generateContainer(IProgressMonitor monitor)
-            throws CoreException {
-        IDEWorkbenchPlugin.getPluginWorkspace().run(new IWorkspaceRunnable() {
-            public void run(IProgressMonitor monitor) throws CoreException {
-                monitor
-                        .beginTask(
-                                IDEWorkbenchMessages
-                                        .getString("ContainerGenerator.progressMessage"), 1000 * containerFullPath.segmentCount()); //$NON-NLS-1$
-                if (container != null)
-                    return;
-
-                // Does the container exist already?
-                IWorkspaceRoot root = getWorkspaceRoot();
-                container = (IContainer) root.findMember(containerFullPath);
-                if (container != null)
-                    return;
-
-                // Create the container for the given path
-                container = root;
-                for (int i = 0; i < containerFullPath.segmentCount(); i++) {
-                    String currentSegment = containerFullPath.segment(i);
-                    IResource resource = container.findMember(currentSegment);
-                    if (resource != null) {
-                    	if (resource.getType() == IResource.FILE) {
-                    		String msg = IDEWorkbenchMessages.format("ContainerGenerator.pathOccupied", new Object[] {resource.getFullPath().makeRelative()}); //$NON-NLS-1$
-                    		throw new CoreException(new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, msg, null));
-                    	}
-                        container = (IContainer) resource;
-                        monitor.worked(1000);
-                    } else {
-                        if (i == 0) {
-                            IProject projectHandle = createProjectHandle(root,
-                                    currentSegment);
-                            container = createProject(projectHandle,
-                                    new SubProgressMonitor(monitor, 1000));
-                        } else {
-                            IFolder folderHandle = createFolderHandle(
-                                    container, currentSegment);
-                            container = createFolder(folderHandle,
-                                    new SubProgressMonitor(monitor, 1000));
-                        }
-                    }
-                }
-            }
-        }, null, IResource.NONE, monitor);
-        return container;
-    }
-
-    /**
-     * Returns the workspace root resource handle.
-     *
-     * @return the workspace root resource handle
-     */
-    private IWorkspaceRoot getWorkspaceRoot() {
-        return IDEWorkbenchPlugin.getPluginWorkspace().getRoot();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
deleted file mode 100644
index b471472..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ContainerSelectionDialog.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/cpl-v10.html 
- * 
- * Contributors: 
- *   IBM Corporation - initial API and implementation 
- *   Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog
- *     font should be activated and used by other components.
- *****************************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.JFaceColors;
-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.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.ContainerSelectionGroup;
-
-/**
- * A standard selection dialog which solicits a container resource from the user.
- * The <code>getResult</code> method returns the selected container resource.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * ContainerSelectionDialog dialog =
- *    new ContainerSelectionDialog(getShell(), initialSelection, allowNewContainerName(), msg);
- *	dialog.open();
- *	Object[] result = dialog.getResult();
- * </pre> 	
- * </p>
- */
-public class ContainerSelectionDialog extends SelectionDialog {
-    // the widget group;
-    ContainerSelectionGroup group;
-
-    // the root resource to populate the viewer with
-    private IContainer initialSelection;
-
-    // allow the user to type in a new container name
-    private boolean allowNewContainerName = true;
-
-    // the validation message
-    Label statusMessage;
-
-    //for validating the selection
-    ISelectionValidator validator;
-
-    // show closed projects by default
-    private boolean showClosedProjects = true;
-
-    /**
-     * Creates a resource container selection dialog rooted at the given resource.
-     * All selections are considered valid. 
-     *
-     * @param parentShell the parent shell
-     * @param initialRoot the initial selection in the tree
-     * @param allowNewContainerName <code>true</code> to enable the user to type in
-     *  a new container name, and <code>false</code> to restrict the user to just
-     *  selecting from existing ones
-     * @param message the message to be displayed at the top of this dialog, or
-     *    <code>null</code> to display a default message
-     */
-    public ContainerSelectionDialog(Shell parentShell, IContainer initialRoot,
-            boolean allowNewContainerName, String message) {
-        super(parentShell);
-        setTitle(IDEWorkbenchMessages
-                .getString("ContainerSelectionDialog.title")); //$NON-NLS-1$
-        this.initialSelection = initialRoot;
-        this.allowNewContainerName = allowNewContainerName;
-        if (message != null)
-            setMessage(message);
-        else
-            setMessage(IDEWorkbenchMessages
-                    .getString("ContainerSelectionDialog.message")); //$NON-NLS-1$
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem()
-                .setHelp(shell, IIDEHelpContextIds.CONTAINER_SELECTION_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // create composite 
-        Composite area = (Composite) super.createDialogArea(parent);
-
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                if (statusMessage != null && validator != null) {
-                    String errorMsg = validator.isValid(group
-                            .getContainerFullPath());
-                    if (errorMsg == null || errorMsg.equals("")) { //$NON-NLS-1$
-                        statusMessage.setText(""); //$NON-NLS-1$
-                        getOkButton().setEnabled(true);
-                    } else {
-                        statusMessage.setForeground(JFaceColors
-                                .getErrorText(statusMessage.getDisplay()));
-                        statusMessage.setText(errorMsg);
-                        getOkButton().setEnabled(false);
-                    }
-                }
-            }
-        };
-
-        // container selection group
-        group = new ContainerSelectionGroup(area, listener,
-                allowNewContainerName, getMessage(), showClosedProjects);
-        if (initialSelection != null) {
-            group.setSelectedContainer(initialSelection);
-        }
-
-        statusMessage = new Label(parent, SWT.NONE);
-        statusMessage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        statusMessage.setFont(parent.getFont());
-
-        return dialogArea;
-    }
-
-    /**
-     * The <code>ContainerSelectionDialog</code> implementation of this 
-     * <code>Dialog</code> method builds a list of the selected resource containers
-     * for later retrieval by the client and closes this dialog.
-     */
-    protected void okPressed() {
-
-        List chosenContainerPathList = new ArrayList();
-        IPath returnValue = group.getContainerFullPath();
-        if (returnValue != null)
-            chosenContainerPathList.add(returnValue);
-        setResult(chosenContainerPathList);
-        super.okPressed();
-    }
-
-    /**
-     * Sets the validator to use.  
-     * 
-     * @param validator A selection validator
-     */
-    public void setValidator(ISelectionValidator validator) {
-        this.validator = validator;
-    }
-
-    /**
-     * Set whether or not closed projects should be shown
-     * in the selection dialog.
-     * 
-     * @param show Whether or not to show closed projects.
-     */
-    public void showClosedProjects(boolean show) {
-        this.showClosedProjects = show;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java
deleted file mode 100644
index 9096a83..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/FileSelectionDialog.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog
- *      font should be activated and used by other components.
- ******************************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.CheckboxTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * A standard file selection dialog which solicits a list of files from the user.
- * The <code>getResult</code> method returns the selected files.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- *	FileSelectionDialog dialog = 
- *		new FileSelectionDialog(getShell(), rootElement, msg);
- *	dialog.setInitialSelections(selectedResources);
- *	dialog.open();
- *	return dialog.getResult();
- * </pre>
- * </p>
- * @deprecated Use org.eclipse.swt.widgets.FileDialog,
- */
-public class FileSelectionDialog extends SelectionDialog {
-    // the root file representative to populate the viewer with
-    private FileSystemElement root;
-
-    // the visual selection widget group
-    CheckboxTreeAndListGroup selectionGroup;
-
-    // expand all items in the tree view on dialog open
-    private boolean expandAllOnOpen = false;
-
-    // sizing constants
-    private static final int SIZING_SELECTION_WIDGET_WIDTH = 500;
-
-    private static final int SIZING_SELECTION_WIDGET_HEIGHT = 250;
-
-    /**
-     * Creates a file selection dialog rooted at the given file system element.
-     *
-     * @param parentShell the parent shell
-     * @param fileSystemElement the root element to populate this dialog with
-     * @param message the message to be displayed at the top of this dialog, or
-     *    <code>null</code> to display a default message
-     */
-    public FileSelectionDialog(Shell parentShell,
-            FileSystemElement fileSystemElement, String message) {
-        super(parentShell);
-        setTitle(IDEWorkbenchMessages.getString("FileSelectionDialog.title")); //$NON-NLS-1$
-        root = fileSystemElement;
-        if (message != null)
-            setMessage(message);
-        else
-            setMessage(IDEWorkbenchMessages
-                    .getString("FileSelectionDialog.message")); //$NON-NLS-1$
-    }
-
-    /**
-     * Add the selection and deselection buttons to the dialog.
-     * @param composite org.eclipse.swt.widgets.Composite
-     */
-    private void addSelectionButtons(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);
-        composite.setData(data);
-
-        Button selectButton = new Button(buttonComposite, SWT.PUSH);
-        selectButton.setText(SELECT_ALL_TITLE);
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                selectionGroup.setAllSelections(true);
-            }
-        };
-        selectButton.addSelectionListener(listener);
-
-        Button deselectButton = new Button(buttonComposite, SWT.PUSH);
-        deselectButton.setText(DESELECT_ALL_TITLE);
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                selectionGroup.setAllSelections(false);
-
-            }
-        };
-        deselectButton.addSelectionListener(listener);
-
-    }
-
-    /**
-     * Visually checks the previously-specified elements in the container (left)
-     * portion of this dialog's file selection viewer.
-     */
-    private void checkInitialSelections() {
-        Iterator itemsToCheck = getInitialElementSelections().iterator();
-
-        while (itemsToCheck.hasNext()) {
-            FileSystemElement currentElement = (FileSystemElement) itemsToCheck
-                    .next();
-
-            if (currentElement.isDirectory())
-                selectionGroup.initialCheckTreeItem(currentElement);
-            else
-                selectionGroup.initialCheckListItem(currentElement);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-				IIDEHelpContextIds.FILE_SELECTION_DIALOG);
-    }
-
-    public void create() {
-        super.create();
-        initializeDialog();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // page group
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        createMessageArea(composite);
-
-        // Create a fake parent of the root to be the dialog input element.
-        // Use an empty label so that display of the element's full name
-        // doesn't include a confusing label
-        FileSystemElement input = new FileSystemElement("", null, true);//$NON-NLS-1$
-        input.addChild(root);
-        root.setParent(input);
-
-        selectionGroup = new CheckboxTreeAndListGroup(composite, input,
-                getFolderProvider(), new WorkbenchLabelProvider(),
-                getFileProvider(), new WorkbenchLabelProvider(), SWT.NONE,
-                SIZING_SELECTION_WIDGET_WIDTH, // since this page has no other significantly-sized
-                SIZING_SELECTION_WIDGET_HEIGHT); // widgets we need to hardcode the combined widget's
-        // size, otherwise it will open too small
-
-        ICheckStateListener listener = new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                getOkButton().setEnabled(
-                        selectionGroup.getCheckedElementCount() > 0);
-            }
-        };
-
-        WorkbenchViewerSorter sorter = new WorkbenchViewerSorter();
-        selectionGroup.setTreeSorter(sorter);
-        selectionGroup.setListSorter(sorter);
-        selectionGroup.addCheckStateListener(listener);
-
-        addSelectionButtons(composite);
-
-        return composite;
-    }
-
-    /**
-     * Returns whether the tree view of the file system element
-     * will be fully expanded when the dialog is opened.
-     *
-     * @return true to expand all on dialog open, false otherwise.
-     */
-    public boolean getExpandAllOnOpen() {
-        return expandAllOnOpen;
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only files as children.
-     */
-    private ITreeContentProvider getFileProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof FileSystemElement) {
-                    return ((FileSystemElement) o).getFiles().getChildren(o);
-                }
-                return new Object[0];
-            }
-        };
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only folders as children.
-     */
-    private ITreeContentProvider getFolderProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof FileSystemElement) {
-                    return ((FileSystemElement) o).getFolders().getChildren(o);
-                }
-                return new Object[0];
-            }
-        };
-    }
-
-    /**
-     * Initializes this dialog's controls.
-     */
-    private void initializeDialog() {
-        // initialize page	
-        if (getInitialElementSelections().isEmpty())
-            getOkButton().setEnabled(false);
-        else
-            checkInitialSelections();
-        selectionGroup.aboutToOpen();
-        if (expandAllOnOpen)
-            selectionGroup.expandAll();
-    }
-
-    /**
-     * The <code>FileSelectionDialog</code> implementation of this
-     * <code>Dialog</code> method builds a list of the selected files for later 
-     * retrieval by the client and closes this dialog.
-     */
-    protected void okPressed() {
-        Iterator resultEnum = selectionGroup.getAllCheckedListItems();
-        ArrayList list = new ArrayList();
-        while (resultEnum.hasNext())
-            list.add(resultEnum.next());
-        setResult(list);
-        super.okPressed();
-    }
-
-    /**
-     * Set whether the tree view of the file system element
-     * will be fully expanded when the dialog is opened.
-     *
-     * @param expandAll true to expand all on dialog open, false otherwise.
-     */
-    public void setExpandAllOnOpen(boolean expandAll) {
-        expandAllOnOpen = expandAll;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.java
deleted file mode 100644
index 737f4a7..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/MarkerResolutionSelectionDialog.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 
- *   Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be activated and used by other components.
- *********************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.Shell;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider;
-
-/**
- * Dialog to allow the user to select from a list of marker
- * resolutions.
- * <p>
- * This dialog may be instantiated, it is not intented to 
- * be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-public class MarkerResolutionSelectionDialog extends SelectionDialog {
-    /**
-     * List width in characters.
-     */
-    private final static int LIST_WIDTH = 60;
-
-    /**
-     * List height in characters.
-     */
-    private final static int LIST_HEIGHT = 10;
-
-    /**
-     * The marker resolutions.
-     */
-    private IMarkerResolution[] resolutions;
-
-    /**
-     * List to display the resolutions.
-     */
-    private ListViewer listViewer;
-
-    /**
-     * Creates an instance of this dialog to display
-     * the given resolutions.
-     * <p>
-     * There must be at least one resolution.
-     * </p>
-     * 
-     * @param shell the parent shell
-     * @param markerResolutions the resolutions to display
-     */
-    public MarkerResolutionSelectionDialog(Shell shell,
-            IMarkerResolution[] markerResolutions) {
-        super(shell);
-        if (markerResolutions == null || markerResolutions.length == 0) {
-            throw new IllegalArgumentException();
-        }
-        resolutions = markerResolutions;
-        setTitle(IDEWorkbenchMessages
-                .getString("MarkerResolutionSelectionDialog.title")); //$NON-NLS-1$
-        setMessage(IDEWorkbenchMessages
-                .getString("MarkerResolutionSelectionDialog.messageLabel")); //$NON-NLS-1$
-        setInitialSelections(new Object[] { markerResolutions[0] });
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-                IIDEHelpContextIds.MARKER_RESOLUTION_SELECTION_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        // Create label
-        createMessageArea(composite);
-        // Create list viewer	
-        listViewer = new ListViewer(composite, SWT.SINGLE | SWT.H_SCROLL
-                | SWT.V_SCROLL | SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.heightHint = convertHeightInCharsToPixels(LIST_HEIGHT);
-        data.widthHint = convertWidthInCharsToPixels(LIST_WIDTH);
-        listViewer.getList().setLayoutData(data);
-        listViewer.getList().setFont(parent.getFont());
-        // Set the label provider		
-        listViewer.setLabelProvider(new LabelProvider() {
-            public String getText(Object element) {
-                // Return the resolution's label.
-                return element == null ? "" : ((IMarkerResolution) element).getLabel(); //$NON-NLS-1$
-            }
-        });
-
-        // Set the content provider
-        SimpleListContentProvider cp = new SimpleListContentProvider();
-        cp.setElements(resolutions);
-        listViewer.setContentProvider(cp);
-        listViewer.setInput(new Object()); // it is ignored but must be non-null
-
-        // Set the initial selection
-        listViewer.setSelection(new StructuredSelection(
-                getInitialElementSelections()), true);
-
-        // Add a selection change listener
-        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                // Update OK button enablement
-                getOkButton().setEnabled(!event.getSelection().isEmpty());
-            }
-        });
-
-        // Add double-click listener
-        listViewer.addDoubleClickListener(new IDoubleClickListener() {
-            public void doubleClick(DoubleClickEvent event) {
-                okPressed();
-            }
-        });
-        return composite;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void okPressed() {
-        IStructuredSelection selection = (IStructuredSelection) listViewer
-                .getSelection();
-        setResult(selection.toList());
-        super.okPressed();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
deleted file mode 100644
index f248f59..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/NewFolderDialog.java
+++ /dev/null
@@ -1,467 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog
- *     font should be activated and used by other components.
- *******************************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.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.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-
-/**
- * The NewFolderDialog is used to create a new folder.
- * The folder can optionally be linked to a file system folder.
- * <p>
- * NOTE: 
- * A linked folder can only be created at the project 
- * level. The widgets used to specify a link target are disabled 
- * if the supplied container is not a project.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class NewFolderDialog extends SelectionStatusDialog {
-    // widgets
-    private Text folderNameField;
-
-    private Button advancedButton;
-
-    private CreateLinkedResourceGroup linkedResourceGroup;
-
-    private IContainer container;
-
-    private boolean firstLinkCheck = true;
-
-    /**
-     * Parent composite of the advanced widget group for creating 
-     * linked resources.
-     */
-    private Composite linkedResourceParent;
-
-    /**
-     * Linked resources widget group. Null if advanced section is not visible.
-     */
-    private Composite linkedResourceComposite;
-
-    /**
-     * Height of the dialog without the "advanced" linked resource group. 
-     * Set when the advanced group is first made visible. 
-     */
-    private int basicShellHeight = -1;
-
-    /**
-     * Creates a NewFolderDialog
-     * 
-     * @param parentShell parent of the new dialog
-     * @param container parent of the new folder
-     */
-    public NewFolderDialog(Shell parentShell, IContainer container) {
-        super(parentShell);
-        this.container = container;
-        setTitle(IDEWorkbenchMessages.getString("NewFolderDialog.title")); //$NON-NLS-1$
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-        setStatusLineAboveButtons(true);
-    }
-
-    /**
-     * Creates the folder using the name and link target entered
-     * by the user.
-     * Sets the dialog result to the created folder.  
-     */
-    protected void computeResult() {
-        //Do nothing here as we 
-    	//need to know the result
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-				IIDEHelpContextIds.NEW_FOLDER_DIALOG);
-    }
-
-    /**
-     * @see org.eclipse.jface.window.Window#create()
-     */
-    public void create() {
-        super.create();
-        // initially disable the ok button since we don't preset the
-        // folder name field
-        getButton(IDialogConstants.OK_ID).setEnabled(false);
-    }
-
-    /**
-     * Creates the widget for advanced options.
-     *  
-     * @param parent the parent composite
-     */
-    protected void createAdvancedControls(Composite parent) {
-        Preferences preferences = ResourcesPlugin.getPlugin()
-                .getPluginPreferences();
-
-        if (preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING) == false
-                && isValidContainer()) {
-            linkedResourceParent = new Composite(parent, SWT.NONE);
-            linkedResourceParent.setFont(parent.getFont());
-            linkedResourceParent.setLayoutData(new GridData(
-                    GridData.FILL_HORIZONTAL));
-            GridLayout layout = new GridLayout();
-            layout.marginHeight = 0;
-            layout.marginWidth = 0;
-            linkedResourceParent.setLayout(layout);
-
-            advancedButton = new Button(linkedResourceParent, SWT.PUSH);
-            advancedButton.setFont(linkedResourceParent.getFont());
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("showAdvanced")); //$NON-NLS-1$
-            setButtonLayoutData(advancedButton);
-            GridData data = (GridData) advancedButton.getLayoutData();
-            data.horizontalAlignment = GridData.BEGINNING;
-            advancedButton.setLayoutData(data);
-            advancedButton.addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    handleAdvancedButtonSelect();
-                }
-            });
-        }
-        linkedResourceGroup = new CreateLinkedResourceGroup(IResource.FOLDER,
-                new Listener() {
-                    public void handleEvent(Event e) {
-                        validateLinkedResource();
-                        firstLinkCheck = false;
-                    }
-                });
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        createFolderNameGroup(composite);
-        createAdvancedControls(composite);
-        return composite;
-    }
-
-    /**
-     * Creates the folder name specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private void createFolderNameGroup(Composite parent) {
-        Font font = parent.getFont();
-        // project specification group
-        Composite folderGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        folderGroup.setLayout(layout);
-        folderGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        // new project label
-        Label folderLabel = new Label(folderGroup, SWT.NONE);
-        folderLabel.setFont(font);
-        folderLabel.setText(IDEWorkbenchMessages
-                .getString("NewFolderDialog.nameLabel")); //$NON-NLS-1$
-
-        // new project name entry field
-        folderNameField = new Text(folderGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-        folderNameField.setLayoutData(data);
-        folderNameField.setFont(font);
-        folderNameField.addListener(SWT.Modify, new Listener() {
-            public void handleEvent(Event event) {
-                validateLinkedResource();
-            }
-        });
-    }
-
-    /**
-     * Creates a folder resource handle for the folder with the given name.
-     * The folder handle is created relative to the container specified during 
-     * object creation. 
-     *
-     * @param folderName the name of the folder resource to create a handle for
-     * @return the new folder resource handle
-     */
-    private IFolder createFolderHandle(String folderName) {
-        IWorkspaceRoot workspaceRoot = container.getWorkspace().getRoot();
-        IPath folderPath = container.getFullPath().append(folderName);
-        IFolder folderHandle = workspaceRoot.getFolder(folderPath);
-
-        return folderHandle;
-    }
-
-    /**
-     * Creates a new folder with the given name and optionally linking to
-     * the specified link target.
-     * 
-     * @param folderName name of the new folder
-     * @param linkTargetName name of the link target folder. may be null.
-     * @return IFolder the new folder
-     */
-    private IFolder createNewFolder(String folderName,
-            final String linkTargetName) {
-        final IFolder folderHandle = createFolderHandle(folderName);
-
-        WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-            public void execute(IProgressMonitor monitor) throws CoreException {
-                try {
-                    monitor.beginTask(IDEWorkbenchMessages
-                            .getString("NewFolderDialog.progress"), 2000); //$NON-NLS-1$
-                    if (monitor.isCanceled())
-                        throw new OperationCanceledException();
-                    if (linkTargetName == null)
-                        folderHandle.create(false, true, monitor);
-                    else
-                        folderHandle.createLink(new Path(linkTargetName),
-                                IResource.ALLOW_MISSING_LOCAL, monitor);
-                    if (monitor.isCanceled())
-                        throw new OperationCanceledException();
-                } finally {
-                    monitor.done();
-                }
-            }
-        };
-
-        try {
-            new ProgressMonitorJobsDialog(getShell())
-                    .run(true, true, operation);
-        } catch (InterruptedException exception) {
-            return null;
-        } catch (InvocationTargetException exception) {
-            if (exception.getTargetException() instanceof CoreException) {
-                ErrorDialog.openError(getShell(), IDEWorkbenchMessages
-                        .getString("NewFolderDialog.errorTitle"), //$NON-NLS-1$
-                        null, // no special message
-                        ((CoreException) exception.getTargetException())
-                                .getStatus());
-            } else {
-                // CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-                IDEWorkbenchPlugin.log(getClass(),
-                        "createNewFolder", exception.getTargetException()); //$NON-NLS-1$
-                MessageDialog.openError(getShell(), IDEWorkbenchMessages
-                        .getString("NewFolderDialog.errorTitle"), //$NON-NLS-1$
-                        IDEWorkbenchMessages.format(
-                                "NewFolderDialog.internalError", //$NON-NLS-1$
-                                new Object[] { exception.getTargetException()
-                                        .getMessage() }));
-            }
-            return null;
-        }
-        return folderHandle;
-    }
-
-    /**
-     * Shows/hides the advanced option widgets. 
-     */
-    protected void handleAdvancedButtonSelect() {
-        Shell shell = getShell();
-        Point shellSize = shell.getSize();
-        Composite composite = (Composite) getDialogArea();
-
-        if (linkedResourceComposite != null) {
-            linkedResourceComposite.dispose();
-            linkedResourceComposite = null;
-            composite.layout();
-            shell.setSize(shellSize.x, basicShellHeight);
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("showAdvanced")); //$NON-NLS-1$
-        } else {
-            if (basicShellHeight == -1) {
-                basicShellHeight = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-                        true).y;
-            }
-            linkedResourceComposite = linkedResourceGroup
-                    .createContents(linkedResourceParent);
-            shellSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-            shell.setSize(shellSize);
-            composite.layout();
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("hideAdvanced")); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Returns whether the container specified in the constructor is
-     * a valid parent for creating linked resources.
-     * 
-     * @return boolean <code>true</code> if the container specified in 
-     * 	the constructor is a valid parent for creating linked resources.
-     * 	<code>false</code> if no linked resources may be created with the
-     * 	specified container as a parent. 
-     */
-    private boolean isValidContainer() {
-        if (container.getType() != IResource.PROJECT)
-            return false;
-
-        try {
-            IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-            IProject project = (IProject) container;
-            String[] natureIds = project.getDescription().getNatureIds();
-
-            for (int i = 0; i < natureIds.length; i++) {
-                IProjectNatureDescriptor descriptor = workspace
-                        .getNatureDescriptor(natureIds[i]);
-                if (descriptor != null
-                        && descriptor.isLinkingAllowed() == false)
-                    return false;
-            }
-        } catch (CoreException exception) {
-            // project does not exist or is closed
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Update the dialog's status line to reflect the given status. It is safe to call
-     * this method before the dialog has been opened.
-     */
-    protected void updateStatus(IStatus status) {
-        if (firstLinkCheck && status != null) {
-            // don't show the first validation result as an error.
-            // fixes bug 29659
-            Status newStatus = new Status(IStatus.OK, status.getPlugin(),
-                    status.getCode(), status.getMessage(), status
-                            .getException());
-            super.updateStatus(newStatus);
-        } else {
-            super.updateStatus(status);
-        }
-    }
-
-    /**
-     * Update the dialog's status line to reflect the given status. It is safe to call
-     * this method before the dialog has been opened.
-     * @param severity
-     * @param message
-     */
-    private void updateStatus(int severity, String message) {
-        updateStatus(new Status(severity, IDEWorkbenchPlugin.IDE_WORKBENCH, severity, message, null));
-    }
-
-    /**
-     * Checks whether the folder name and link location are valid.
-     * Disable the OK button if the folder name and link location are valid.
-     * a message that indicates the problem otherwise.
-     */
-    private void validateLinkedResource() {
-        boolean valid = validateFolderName();
-
-        if (valid) {
-            IFolder linkHandle = createFolderHandle(folderNameField.getText());
-            IStatus status = linkedResourceGroup
-                    .validateLinkLocation(linkHandle);
-
-            if (status.getSeverity() != IStatus.ERROR)
-                getOkButton().setEnabled(true);
-            else
-                getOkButton().setEnabled(false);
-
-            if (status.isOK() == false)
-                updateStatus(status);
-        } else
-            getOkButton().setEnabled(false);
-    }
-
-    /**
-     * Checks if the folder name is valid.
-     *
-     * @return null if the new folder name is valid.
-     * 	a message that indicates the problem otherwise.
-     */
-    private boolean validateFolderName() {
-        String name = folderNameField.getText();
-        IWorkspace workspace = container.getWorkspace();
-        IStatus nameStatus = workspace.validateName(name, IResource.FOLDER);
-
-        if ("".equals(name)) { //$NON-NLS-1$
-            updateStatus(IStatus.ERROR, IDEWorkbenchMessages
-                    .getString("NewFolderDialog.folderNameEmpty")); //$NON-NLS-1$
-            return false;
-        }
-        if (nameStatus.isOK() == false) {
-            updateStatus(nameStatus);
-            return false;
-        }
-        IPath path = new Path(name);
-        if (container.getFolder(path).exists()
-                || container.getFile(path).exists()) {
-            updateStatus(IStatus.ERROR, IDEWorkbenchMessages.format(
-                    "NewFolderDialog.alreadyExists", new Object[] { name })); //$NON-NLS-1$
-            return false;
-        }
-        updateStatus(IStatus.OK, ""); //$NON-NLS-1$
-        return true;
-    }
-    
-    /* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.SelectionStatusDialog#okPressed()
-	 */
-	protected void okPressed() {
-		String linkTarget = linkedResourceGroup.getLinkTarget();
-        IFolder folder = createNewFolder(folderNameField.getText(), linkTarget);
-        if (folder == null)
-            return;
-
-        setSelectionResult(new IFolder[] { folder });
-        
-		super.okPressed();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
deleted file mode 100644
index 74a7826..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationMoveDialog.java
+++ /dev/null
@@ -1,365 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog
- *        font should be activated and used by other components.
- ******************************************************************************/
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * The ProjectLocationMoveDialog is the dialog used to select the
- * location of a project for moving.
- */
-public class ProjectLocationMoveDialog extends SelectionDialog {
-    private IProject project;
-
-    private IPath originalPath;
-
-    // widgets
-    private Text locationPathField;
-
-    private Label locationLabel;
-
-    private Label statusMessageLabel;
-
-    private Button browseButton;
-
-    private static String LOCATION_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.locationLabel"); //$NON-NLS-1$
-
-    private static String BROWSE_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.browseLabel"); //$NON-NLS-1$
-
-    private static String DIRECTORY_DIALOG_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.directoryLabel"); //$NON-NLS-1$
-
-    private static String INVALID_LOCATION_MESSAGE = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.locationError"); //$NON-NLS-1$
-
-    private static String PROJECT_LOCATION_SELECTION_TITLE = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.selectionTitle"); //$NON-NLS-1$
-
-    // constants
-    private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    private boolean useDefaults = true;
-
-    /**
-     * Create a ProjectLocationMoveDialog on the supplied project parented by the parentShell.
-     * @param parentShell
-     * @param existingProject
-     */
-    public ProjectLocationMoveDialog(Shell parentShell, IProject existingProject) {
-        super(parentShell);
-        setTitle(PROJECT_LOCATION_SELECTION_TITLE);
-        this.project = existingProject;
-        try {
-            this.originalPath = this.getProject().getDescription()
-                    .getLocation();
-            this.useDefaults = this.originalPath == null;
-        } catch (CoreException exception) {
-            // Leave it as the default.
-        }
-    }
-
-    /**
-     * Check the message. If it is null then continue otherwise inform the user via the
-     * status value and disable the OK.
-     * @param errorMsg the error message to show if it is not null.
-     */
-    private void applyValidationResult(String errorMsg) {
-
-        if (errorMsg == null) {
-            statusMessageLabel.setText("");//$NON-NLS-1$
-            statusMessageLabel.setToolTipText("");//$NON-NLS-1$
-            getOkButton().setEnabled(true);
-        } else {
-            statusMessageLabel.setForeground(JFaceColors
-                    .getErrorText(statusMessageLabel.getDisplay()));
-            statusMessageLabel.setText(errorMsg);
-            statusMessageLabel.setToolTipText(errorMsg);
-            getOkButton().setEnabled(false);
-        }
-    }
-
-    /**
-     * Check whether the entries are valid. If so return null. Otherwise
-     * return a string that indicates the problem.
-     */
-    private String checkValid() {
-        return checkValidLocation();
-    }
-
-    /**
-     * Check if the entry in the widget location is valid. If it is valid return null.
-     * Otherwise return a string that indicates the problem.
-     */
-    private String checkValidLocation() {
-
-        if (useDefaults) {
-            if (this.originalPath == null)
-                return INVALID_LOCATION_MESSAGE;
-            return null;
-        }
-        String locationFieldContents = locationPathField.getText();
-        if (locationFieldContents.equals("")) {//$NON-NLS-1$
-            return (IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-        }
-        IPath path = new Path("");//$NON-NLS-1$
-        if (!path.isValidPath(locationFieldContents)) {
-            return INVALID_LOCATION_MESSAGE;
-        }
-
-        Path newPath = new Path(locationFieldContents);
-        IStatus locationStatus = this.project.getWorkspace()
-                .validateProjectLocation(this.project, newPath);
-
-        if (!locationStatus.isOK())
-            return locationStatus.getMessage();
-
-        if (originalPath != null && originalPath.equals(newPath)) {
-            return INVALID_LOCATION_MESSAGE;
-        }
-
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-                IIDEHelpContextIds.PROJECT_LOCATION_SELECTION_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createContents(Composite parent) {
-        Control content = super.createContents(parent);
-        getOkButton().setEnabled(false);
-        return content;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // page group
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        createProjectLocationGroup(composite);
-
-        //Add in a label for status messages if required
-        statusMessageLabel = new Label(composite, SWT.WRAP);
-        statusMessageLabel.setLayoutData(new GridData(GridData.FILL_BOTH));
-        statusMessageLabel.setFont(parent.getFont());
-        //Make it two lines.
-        statusMessageLabel.setText(" \n "); //$NON-NLS-1$
-
-        return composite;
-    }
-
-    /**
-     * Create the listener that is used to validate the location entered by the iser
-     */
-    private void createLocationListener() {
-
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                applyValidationResult(checkValid());
-            }
-        };
-
-        this.locationPathField.addListener(SWT.Modify, listener);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectLocationGroup(Composite parent) {
-        Font font = parent.getFont();
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        projectGroup.setFont(font);
-
-        final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK
-                | SWT.RIGHT);
-        useDefaultsButton.setFont(font);
-        useDefaultsButton.setText(IDEWorkbenchMessages
-                .getString("ProjectLocationSelectionDialog.useDefaultLabel")); //$NON-NLS-1$
-        useDefaultsButton.setSelection(this.useDefaults);
-        GridData buttonData = new GridData();
-        buttonData.horizontalSpan = 3;
-        useDefaultsButton.setLayoutData(buttonData);
-
-        createUserSpecifiedProjectLocationGroup(projectGroup, !this.useDefaults);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                useDefaults = useDefaultsButton.getSelection();
-                browseButton.setEnabled(!useDefaults);
-                locationPathField.setEnabled(!useDefaults);
-                locationLabel.setEnabled(!useDefaults);
-                setLocationForSelection();
-                if (!useDefaults) {
-                    if (originalPath != null)
-                        locationPathField.setText(originalPath.toOSString());
-                    else
-                        locationPathField.setText(""); //$NON-NLS-1$
-                }
-            }
-        };
-        useDefaultsButton.addSelectionListener(listener);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @return the parent of the widgets created
-     * @param projectGroup the parent composite
-     * @param enabled - sets the initial enabled state of the widgets
-     */
-    private Composite createUserSpecifiedProjectLocationGroup(
-            Composite projectGroup, boolean enabled) {
-        Font font = projectGroup.getFont();
-        // location label
-        locationLabel = new Label(projectGroup, SWT.NONE);
-        locationLabel.setFont(font);
-        locationLabel.setText(LOCATION_LABEL);
-        locationLabel.setEnabled(enabled);
-
-        // project location entry field
-        locationPathField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        locationPathField.setLayoutData(data);
-        locationPathField.setFont(font);
-        locationPathField.setEnabled(enabled);
-
-        // browse button
-        this.browseButton = new Button(projectGroup, SWT.PUSH);
-        this.browseButton.setFont(font);
-        this.browseButton.setText(BROWSE_LABEL);
-        this.browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLocationBrowseButtonPressed();
-            }
-        });
-        this.browseButton.setEnabled(enabled);
-        setButtonLayoutData(this.browseButton);
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        if (originalPath == null)
-            setLocationForSelection();
-        else
-            locationPathField.setText(originalPath.toOSString());
-
-        createLocationListener();
-        return projectGroup;
-
-    }
-
-    /**
-     * Get the project being manipulated.
-     */
-    private IProject getProject() {
-        return this.project;
-    }
-
-    /**
-     *	Open an appropriate directory browser
-     */
-    private void handleLocationBrowseButtonPressed() {
-        DirectoryDialog dialog = new DirectoryDialog(locationPathField
-                .getShell());
-        dialog.setMessage(DIRECTORY_DIALOG_LABEL);
-
-        String dirName = locationPathField.getText();
-        if (!dirName.equals("")) {//$NON-NLS-1$
-            File path = new File(dirName);
-            if (path.exists())
-                dialog.setFilterPath(dirName);
-        }
-
-        String selectedDirectory = dialog.open();
-        if (selectedDirectory != null)
-            locationPathField.setText(selectedDirectory);
-    }
-
-    /**
-     * The <code>ProjectLocationMoveDialog</code> implementation of this 
-     * <code>Dialog</code> method builds a two element list - the first element
-     * is the project name and the second one is the location.
-     */
-    protected void okPressed() {
-
-        ArrayList list = new ArrayList();
-        list.add(getProject().getName());
-        if (useDefaults)
-            list.add(Platform.getLocation().toString());
-        else
-            list.add(this.locationPathField.getText());
-        setResult(list);
-        super.okPressed();
-    }
-
-    /**
-     * Set the location to the default location if we are set to useDefaults.
-     */
-    private void setLocationForSelection() {
-        if (useDefaults) {
-            IPath defaultPath = Platform.getLocation().append(
-                    getProject().getName());
-            locationPathField.setText(defaultPath.toOSString());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
deleted file mode 100644
index af74d4d..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ProjectLocationSelectionDialog.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font
- *     should be activated and used by other components.
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * The ProjectLocationSelectionDialog is the dialog used to select the name
- * and location of a project for copying.
- */
-public class ProjectLocationSelectionDialog extends SelectionStatusDialog {
-    // widgets
-    private Text projectNameField;
-
-    private Text locationPathField;
-
-    private Label locationLabel;
-
-    private IProject project;
-
-    private Button browseButton;
-
-    private static String PROJECT_NAME_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.nameLabel"); //$NON-NLS-1$
-
-    private static String LOCATION_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.locationLabel"); //$NON-NLS-1$
-
-    private static String BROWSE_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.browseLabel"); //$NON-NLS-1$
-
-    private static String DIRECTORY_DIALOG_LABEL = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.directoryLabel"); //$NON-NLS-1$
-
-    private static String INVALID_LOCATION_MESSAGE = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.locationError"); //$NON-NLS-1$
-
-    private static String PROJECT_LOCATION_SELECTION_TITLE = IDEWorkbenchMessages
-            .getString("ProjectLocationSelectionDialog.selectionTitle"); //$NON-NLS-1$
-
-    // constants
-    private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    private boolean useDefaults = true;
-
-    private boolean firstLocationCheck;
-
-    /**
-     * Create a ProjectLocationSelectionDialog on the supplied project parented by the parentShell.
-     * @param parentShell
-     * @param existingProject
-     */
-    public ProjectLocationSelectionDialog(Shell parentShell,
-            IProject existingProject) {
-        super(parentShell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-        setTitle(PROJECT_LOCATION_SELECTION_TITLE);
-        setStatusLineAboveButtons(true);
-        this.project = existingProject;
-        try {
-            this.useDefaults = this.getProject().getDescription().getLocation() == null;
-        } catch (CoreException exception) {
-            //Leave it as the default if we get a selection.
-        }
-    }
-
-    /**
-     * Check the message. If it is null then continue otherwise inform the user via the
-     * status value and disable the OK.
-     * 
-     * @param errorMsg the error message to show if it is not <code>null</code>
-     */
-    private void applyValidationResult(String errorMsg) {
-        int code;
-        boolean allowFinish = false;
-
-        if (errorMsg == null) {
-            code = IStatus.OK;
-            errorMsg = ""; //$NON-NLS-1$
-            allowFinish = true;
-        } else if (firstLocationCheck)
-            code = IStatus.OK;
-        else
-            code = IStatus.ERROR;
-
-        updateStatus(new Status(code, IDEWorkbenchPlugin.getDefault()
-                .getDescriptor().getUniqueIdentifier(), code, errorMsg, null));
-        getOkButton().setEnabled(allowFinish);
-    }
-
-    /**
-     * Check whether the entries are valid. If so return null. Otherwise
-     * return a string that indicates the problem.
-     */
-    private String checkValid() {
-        String valid = checkValidName();
-        if (valid != null)
-            return valid;
-        return checkValidLocation();
-    }
-
-    /**
-     * Check if the entry in the widget location is valid. If it is valid return null. Otherwise
-     * return a string that indicates the problem.
-     */
-    private String checkValidLocation() {
-
-        if (useDefaults)
-            return null;
-        String locationFieldContents = locationPathField.getText();
-        if (locationFieldContents.equals("")) {//$NON-NLS-1$
-            return (IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-        }
-        IPath path = new Path("");//$NON-NLS-1$
-        if (!path.isValidPath(locationFieldContents)) {
-            return INVALID_LOCATION_MESSAGE;
-        }
-
-        IStatus locationStatus = this.project.getWorkspace()
-                .validateProjectLocation(this.project,
-                        new Path(locationFieldContents));
-
-        if (!locationStatus.isOK())
-            return locationStatus.getMessage();
-
-        return null;
-    }
-
-    /**
-     * Check if the entries in the widget are valid. If they are return null otherwise
-     * return a string that indicates the problem.
-     */
-    private String checkValidName() {
-
-        String name = this.projectNameField.getText();
-        IWorkspace workspace = getProject().getWorkspace();
-        IStatus nameStatus = workspace.validateName(name, IResource.PROJECT);
-        if (!nameStatus.isOK())
-            return nameStatus.getMessage();
-        IProject newProject = workspace.getRoot().getProject(name);
-        if (newProject.exists()) {
-            return IDEWorkbenchMessages.format(
-                    "CopyProjectAction.alreadyExists", new Object[] { name }); //$NON-NLS-1$
-        }
-
-        return null;
-    }
-
-    /**
-     * The <code>ProjectLocationSelectionDialog</code> implementation of this 
-     * <code>SelectionStatusDialog</code> method builds a two element list - 
-     * the first element is the project name and the second one is the location.
-     */
-    protected void computeResult() {
-
-        ArrayList list = new ArrayList();
-        list.add(this.projectNameField.getText());
-        if (useDefaults)
-            list.add(Platform.getLocation().toString());
-        else
-            list.add(this.locationPathField.getText());
-        setResult(list);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-                IIDEHelpContextIds.PROJECT_LOCATION_SELECTION_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // page group
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        createProjectNameGroup(composite);
-        createProjectLocationGroup(composite);
-
-        return composite;
-    }
-
-    /**
-     * Create the listener that is used to validate the location entered by the iser
-     */
-    private void createLocationListener() {
-
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                firstLocationCheck = false;
-                applyValidationResult(checkValid());
-            }
-        };
-
-        this.locationPathField.addListener(SWT.Modify, listener);
-    }
-
-    /**
-     * Create the listener that is used to validate the entries for the receiver
-     */
-    private void createNameListener() {
-
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                setLocationForSelection();
-                applyValidationResult(checkValid());
-            }
-        };
-
-        this.projectNameField.addListener(SWT.Modify, listener);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectLocationGroup(Composite parent) {
-        Font font = parent.getFont();
-
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        projectGroup.setFont(font);
-
-        final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK
-                | SWT.RIGHT);
-        useDefaultsButton.setText(IDEWorkbenchMessages
-                .getString("ProjectLocationSelectionDialog.useDefaultLabel")); //$NON-NLS-1$
-        useDefaultsButton.setSelection(this.useDefaults);
-        GridData buttonData = new GridData();
-        buttonData.horizontalSpan = 3;
-        useDefaultsButton.setLayoutData(buttonData);
-        useDefaultsButton.setFont(font);
-
-        createUserSpecifiedProjectLocationGroup(projectGroup, !this.useDefaults);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                useDefaults = useDefaultsButton.getSelection();
-                browseButton.setEnabled(!useDefaults);
-                locationPathField.setEnabled(!useDefaults);
-                locationLabel.setEnabled(!useDefaults);
-                setLocationForSelection();
-                if (!useDefaults) {
-                    firstLocationCheck = true;
-                    applyValidationResult(checkValid());
-                }
-            }
-        };
-        useDefaultsButton.addSelectionListener(listener);
-    }
-
-    /**
-     * Creates the project name specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private void createProjectNameGroup(Composite parent) {
-        Font font = parent.getFont();
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        // new project label
-        Label projectLabel = new Label(projectGroup, SWT.NONE);
-        projectLabel.setFont(font);
-        projectLabel.setText(PROJECT_NAME_LABEL);
-
-        // new project name entry field
-        projectNameField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        projectNameField.setLayoutData(data);
-        projectNameField.setFont(font);
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        projectNameField.setText(getCopyNameFor(getProject().getName()));
-        projectNameField.selectAll();
-
-        createNameListener();
-
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @return the parent of the widgets created
-     * @param projectGroup the parent composite
-     * @param enabled - sets the initial enabled state of the widgets
-     */
-    private Composite createUserSpecifiedProjectLocationGroup(
-            Composite projectGroup, boolean enabled) {
-
-        Font font = projectGroup.getFont();
-
-        // location label
-        locationLabel = new Label(projectGroup, SWT.NONE);
-        locationLabel.setFont(font);
-        locationLabel.setText(LOCATION_LABEL);
-        locationLabel.setEnabled(enabled);
-
-        // project location entry field
-        locationPathField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        locationPathField.setLayoutData(data);
-        locationPathField.setFont(font);
-        locationPathField.setEnabled(enabled);
-
-        // browse button
-        this.browseButton = new Button(projectGroup, SWT.PUSH);
-        this.browseButton.setFont(font);
-        this.browseButton.setText(BROWSE_LABEL);
-        this.browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLocationBrowseButtonPressed();
-            }
-        });
-        this.browseButton.setEnabled(enabled);
-        setButtonLayoutData(this.browseButton);
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        try {
-            IPath location = this.getProject().getDescription().getLocation();
-            if (location == null)
-                setLocationForSelection();
-            else
-                locationPathField.setText(location.toString());
-        } catch (CoreException exception) {
-            //Set it to the default if possible as there is no info yet
-            setLocationForSelection();
-        }
-
-        createLocationListener();
-        return projectGroup;
-
-    }
-
-    /**
-     * Generates a new name for the project that does not have any collisions.
-     */
-    private String getCopyNameFor(String projectName) {
-
-        IWorkspace workspace = getProject().getWorkspace();
-        if (!workspace.getRoot().getProject(projectName).exists())
-            return projectName;
-
-        int counter = 1;
-        while (true) {
-            String nameSegment;
-            if (counter > 1) {
-                nameSegment = IDEWorkbenchMessages
-                        .format(
-                                "CopyProjectAction.copyNameTwoArgs", new Object[] { new Integer(counter), projectName }); //$NON-NLS-1$
-            } else {
-                nameSegment = IDEWorkbenchMessages
-                        .format(
-                                "CopyProjectAction.copyNameOneArg", new Object[] { projectName }); //$NON-NLS-1$
-            }
-
-            if (!workspace.getRoot().getProject(nameSegment).exists())
-                return nameSegment;
-
-            counter++;
-        }
-
-    }
-
-    /**
-     * Get the project being manipulated.
-     */
-    private IProject getProject() {
-        return this.project;
-    }
-
-    /**
-     *	Open an appropriate directory browser
-     */
-    private void handleLocationBrowseButtonPressed() {
-        DirectoryDialog dialog = new DirectoryDialog(locationPathField
-                .getShell());
-        dialog.setMessage(DIRECTORY_DIALOG_LABEL);
-
-        String dirName = locationPathField.getText();
-        if (!dirName.equals("")) {//$NON-NLS-1$
-            File path = new File(dirName);
-            if (path.exists())
-                dialog.setFilterPath(dirName);
-        }
-
-        String selectedDirectory = dialog.open();
-        if (selectedDirectory != null)
-            locationPathField.setText(selectedDirectory);
-    }
-
-    /**
-     * Set the location to the default location if we are set to useDefaults.
-     */
-    private void setLocationForSelection() {
-        if (useDefaults) {
-            IPath defaultPath = Platform.getLocation().append(
-                    projectNameField.getText());
-            locationPathField.setText(defaultPath.toOSString());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
deleted file mode 100644
index f058aa9..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
+++ /dev/null
@@ -1,880 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font
- * 		should be activated and used by other components.
- *************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.StringMatcher;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Shows a list of resources to the user with a text entry field
- * for a string pattern used to filter the list of resources.
- * <p>
- * 
- * @since 2.1
- */
-public class ResourceListSelectionDialog extends SelectionDialog {
-    Text pattern;
-
-    Table resourceNames;
-
-    Table folderNames;
-
-    String patternString;
-
-    IContainer container;
-
-    int typeMask;
-
-    static Collator collator = Collator.getInstance();
-
-    boolean gatherResourcesDynamically = true;
-
-    StringMatcher stringMatcher;
-
-    UpdateFilterThread updateFilterThread;
-
-    UpdateGatherThread updateGatherThread;
-
-    ResourceDescriptor[] descriptors;
-
-    int descriptorsSize;
-
-    WorkbenchLabelProvider labelProvider = new WorkbenchLabelProvider();
-    
-    boolean okEnabled = false;
-
-    static class ResourceDescriptor implements Comparable {
-        String label;
-
-        ArrayList resources = new ArrayList();
-
-        boolean resourcesSorted = true;
-
-        public int compareTo(Object o) {
-            return collator.compare(label, ((ResourceDescriptor) o).label);
-        }
-    }
-
-    class UpdateFilterThread extends Thread {
-        boolean stop = false;
-
-        int firstMatch = 0;
-
-        int lastMatch = descriptorsSize - 1;
-
-        public void run() {
-            Display display = resourceNames.getDisplay();
-            final int itemIndex[] = { 0 };
-            final int itemCount[] = { 0 };
-            //Keep track of if the widget got disposed 
-            //so that we can abort if required
-            final boolean[] disposed = { false };
-            display.syncExec(new Runnable() {
-                public void run() {
-                    //Be sure the widget still exists
-                    if (resourceNames.isDisposed()) {
-                        disposed[0] = true;
-                        return;
-                    }
-                    itemCount[0] = resourceNames.getItemCount();
-                }
-            });
-
-            if (disposed[0])
-                return;
-
-            int last;
-            if ((patternString.indexOf('?') == -1)
-                    && (patternString.endsWith("*")) && //$NON-NLS-1$
-                    (patternString.indexOf('*') == patternString.length() - 1)) {
-                // Use a binary search to get first and last match when the pattern
-                // string ends with "*" and has no other embedded special characters.  
-                // For this case, we can be smarter about getting the first and last 
-                // match since the items are in sorted order.
-                firstMatch = getFirstMatch();
-                if (firstMatch == -1) {
-                    firstMatch = 0;
-                    lastMatch = -1;
-                } else {
-                    lastMatch = getLastMatch();
-                }
-                last = lastMatch;
-                for (int i = firstMatch; i <= lastMatch; i++) {
-                    if (i % 50 == 0) {
-                        try {
-                            Thread.sleep(10);
-                        } catch (InterruptedException e) {
-                            // ignore
-                        }
-                    }
-                    if (stop || resourceNames.isDisposed()) {
-                        disposed[0] = true;
-                        return;
-                    }
-                    final int index = i;
-                    display.syncExec(new Runnable() {
-                        public void run() {
-                            if (stop || resourceNames.isDisposed())
-                                return;
-                            updateItem(index, itemIndex[0], itemCount[0]);
-                            itemIndex[0]++;
-                        }
-                    });
-                }
-            } else {
-                last = lastMatch;
-                boolean setFirstMatch = true;
-                for (int i = firstMatch; i <= lastMatch; i++) {
-                    if (i % 50 == 0) {
-                        try {
-                            Thread.sleep(10);
-                        } catch (InterruptedException e) {
-                            // ignore
-                        }
-                    }
-                    if (stop || resourceNames.isDisposed()) {
-                        disposed[0] = true;
-                        return;
-                    }
-                    final int index = i;
-                    if (match(descriptors[index].label)) {
-                        if (setFirstMatch) {
-                            setFirstMatch = false;
-                            firstMatch = index;
-                        }
-                        last = index;
-                        display.syncExec(new Runnable() {
-                            public void run() {
-                                if (stop || resourceNames.isDisposed())
-                                    return;
-                                updateItem(index, itemIndex[0], itemCount[0]);
-                                itemIndex[0]++;
-                            }
-                        });
-                    }
-                }
-            }
-
-            if (disposed[0])
-                return;
-
-            lastMatch = last;
-            display.syncExec(new Runnable() {
-                public void run() {
-                    if (resourceNames.isDisposed())
-                        return;
-                    itemCount[0] = resourceNames.getItemCount();
-                    if (itemIndex[0] < itemCount[0]) {
-                        resourceNames.setRedraw(false);
-                        resourceNames.remove(itemIndex[0], itemCount[0] - 1);
-                        resourceNames.setRedraw(true);
-                    }
-                    // If no resources, remove remaining folder entries
-                    if (resourceNames.getItemCount() == 0) {
-                        folderNames.removeAll();
-                        updateOKState(false);
-                    }
-                }
-            });
-        }
-    };
-
-    class UpdateGatherThread extends Thread {
-        boolean stop = false;
-
-        int lastMatch = -1;
-
-        int firstMatch = 0;
-
-        boolean refilter = false;
-
-        public void run() {
-            Display display = resourceNames.getDisplay();
-            final int itemIndex[] = { 0 };
-            final int itemCount[] = { 0 };
-            //Keep track of if the widget got disposed 
-            //so that we can abort if required
-            final boolean[] disposed = { false };
-            display.syncExec(new Runnable() {
-                public void run() {
-                    //Be sure the widget still exists
-                    if (resourceNames.isDisposed()) {
-                        disposed[0] = true;
-                        return;
-                    }
-                    itemCount[0] = resourceNames.getItemCount();
-                }
-            });
-
-            if (disposed[0]) {
-                return;
-            }
-
-            if (!refilter) {
-                for (int i = 0; i <= lastMatch; i++) {
-                    if (i % 50 == 0) {
-                        try {
-                            Thread.sleep(10);
-                        } catch (InterruptedException e) {
-                            // ignore
-                        }
-                    }
-                    if (stop || resourceNames.isDisposed()) {
-                        disposed[0] = true;
-                        return;
-                    }
-                    final int index = i;
-                    display.syncExec(new Runnable() {
-                        public void run() {
-                            if (stop || resourceNames.isDisposed())
-                                return;
-                            updateItem(index, itemIndex[0], itemCount[0]);
-                            itemIndex[0]++;
-                        }
-                    });
-                }
-            } else {
-                // we're filtering the previous list
-                for (int i = firstMatch; i <= lastMatch; i++) {
-                    if (i % 50 == 0) {
-                        try {
-                            Thread.sleep(10);
-                        } catch (InterruptedException e) {
-                            // ignore
-                        }
-                    }
-                    if (stop || resourceNames.isDisposed()) {
-                        disposed[0] = true;
-                        return;
-                    }
-                    final int index = i;
-                    if (match(descriptors[index].label)) {
-                        display.syncExec(new Runnable() {
-                            public void run() {
-                                if (stop || resourceNames.isDisposed())
-                                    return;
-                                updateItem(index, itemIndex[0], itemCount[0]);
-                                itemIndex[0]++;
-                            }
-                        });
-                    }
-                }
-            }
-
-            if (disposed[0]) {
-                return;
-            }
-
-            display.syncExec(new Runnable() {
-                public void run() {
-                    if (resourceNames.isDisposed()) {
-                        return;
-                    }
-                    itemCount[0] = resourceNames.getItemCount();
-                    if (itemIndex[0] < itemCount[0]) {
-                        resourceNames.setRedraw(false);
-                        resourceNames.remove(itemIndex[0], itemCount[0] - 1);
-                        resourceNames.setRedraw(true);
-                    }
-                    // If no resources, remove remaining folder entries
-                    if (resourceNames.getItemCount() == 0) {
-                        folderNames.removeAll();
-                        updateOKState(false);
-                    }
-                }
-            });
-        }
-    };
-
-    /**
-     * Creates a new instance of the class.
-     * 
-     * @param parentShell shell to parent the dialog on
-     * @param resources resources to display in the dialog
-     */
-    public ResourceListSelectionDialog(Shell parentShell, IResource[] resources) {
-        super(parentShell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-        gatherResourcesDynamically = false;
-        initDescriptors(resources);
-    }
-
-    /**
-     * Creates a new instance of the class.  When this constructor is used to
-     * create the dialog, resources will be gathered dynamically as the pattern
-     * string is specified.  Only resources of the given types that match the 
-     * pattern string will be listed.  To further filter the matching resources,
-     * @see #select(IResource).
-     * 
-     * @param parentShell shell to parent the dialog on
-     * @param container container to get resources from
-     * @param typeMask mask containing IResource types to be considered
-     */
-    public ResourceListSelectionDialog(Shell parentShell, IContainer container,
-            int typeMask) {
-        super(parentShell);
-        this.container = container;
-        this.typeMask = typeMask;
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-
-    /**
-     * Adjust the pattern string for matching.
-     */
-    protected String adjustPattern() {
-        String text = pattern.getText().trim();
-        if (text.endsWith("<")) { //$NON-NLS-1$
-            // the < character indicates an exact match search
-            return text.substring(0, text.length() - 1);
-        }
-        if (!text.equals("") && !text.endsWith("*")) { //$NON-NLS-1$ //$NON-NLS-2$
-        	return text + "*"; //$NON-NLS-1$
-        }
-        return text;
-    }
-
-    /**
-     * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
-     */
-    protected void cancelPressed() {
-        setResult(null);
-        super.cancelPressed();
-    }
-
-    /**
-     * @see org.eclipse.jface.window.Window#close()
-     */
-    public boolean close() {
-        boolean result = super.close();
-        labelProvider.dispose();
-        return result;
-    }
-
-    /**
-     * @see org.eclipse.jface.window.Window#create()
-     */
-    public void create() {
-        super.create();
-        pattern.setFocus();
-        getButton(IDialogConstants.OK_ID).setEnabled(okEnabled);
-    }
-
-    /**
-     * Creates the contents of this dialog, initializes the
-     * listener and the update thread.
-     * 
-     * @param parent parent to create the dialog widgets in
-     */
-    protected Control createDialogArea(Composite parent) {
-
-        Composite dialogArea = (Composite) super.createDialogArea(parent);
-        Label l = new Label(dialogArea, SWT.NONE);
-        l.setText(IDEWorkbenchMessages
-                .getString("ResourceSelectionDialog.label")); //$NON-NLS-1$
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        l.setLayoutData(data);
-
-        pattern = new Text(dialogArea, SWT.SINGLE | SWT.BORDER);
-        pattern.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        l = new Label(dialogArea, SWT.NONE);
-        l.setText(IDEWorkbenchMessages
-                .getString("ResourceSelectionDialog.matching")); //$NON-NLS-1$
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        l.setLayoutData(data);
-        resourceNames = new Table(dialogArea, SWT.SINGLE | SWT.BORDER
-                | SWT.V_SCROLL);
-        data = new GridData(GridData.FILL_BOTH);
-        data.heightHint = 12 * resourceNames.getItemHeight();
-        resourceNames.setLayoutData(data);
-
-        l = new Label(dialogArea, SWT.NONE);
-        l.setText(IDEWorkbenchMessages
-                .getString("ResourceSelectionDialog.folders")); //$NON-NLS-1$
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        l.setLayoutData(data);
-
-        folderNames = new Table(dialogArea, SWT.SINGLE | SWT.BORDER
-                | SWT.V_SCROLL | SWT.H_SCROLL);
-        data = new GridData(GridData.FILL_BOTH);
-        data.widthHint = 300;
-        data.heightHint = 4 * folderNames.getItemHeight();
-        folderNames.setLayoutData(data);
-
-        if (gatherResourcesDynamically) {
-            updateGatherThread = new UpdateGatherThread();
-        } else {
-            updateFilterThread = new UpdateFilterThread();
-        }
-
-        pattern.addKeyListener(new KeyAdapter() {
-            public void keyReleased(KeyEvent e) {
-                if (e.keyCode == SWT.ARROW_DOWN)
-                    resourceNames.setFocus();
-            }
-        });
-
-        pattern.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                textChanged();
-            }
-        });
-
-        resourceNames.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                updateFolders((ResourceDescriptor) e.item.getData());
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-                okPressed();
-            }
-        });
-
-        folderNames.addSelectionListener(new SelectionAdapter() {
-            public void widgetDefaultSelected(SelectionEvent e) {
-                okPressed();
-            }
-        });
-
-        applyDialogFont(dialogArea);
-        return dialogArea;
-    }
-
-    /**
-     */
-    private void filterResources() {
-        String oldPattern = patternString;
-        patternString = adjustPattern();
-        if (patternString.equals(oldPattern))
-            return;
-
-        updateFilterThread.stop = true;
-        stringMatcher = new StringMatcher(patternString, true, false);
-        UpdateFilterThread oldThread = updateFilterThread;
-        updateFilterThread = new UpdateFilterThread();
-        if (patternString.equals("")) { //$NON-NLS-1$
-            updateFilterThread.firstMatch = 0;
-            updateFilterThread.lastMatch = -1;
-            updateFilterThread.start();
-            return;
-        }
-
-        if (oldPattern != null && (oldPattern.length() != 0)
-                && oldPattern.endsWith("*") && patternString.endsWith("*")) { //$NON-NLS-1$ //$NON-NLS-2$
-            int matchLength = oldPattern.length() - 1;
-            if (patternString.regionMatches(0, oldPattern, 0, matchLength)) {
-                // filter the previous list of items, this is done when the 
-                // new pattern is a derivative of the old pattern
-                updateFilterThread.firstMatch = oldThread.firstMatch;
-                updateFilterThread.lastMatch = oldThread.lastMatch;
-                updateFilterThread.start();
-                return;
-            }
-        }
-
-        // filter the entire list
-        updateFilterThread.firstMatch = 0;
-        updateFilterThread.lastMatch = descriptorsSize - 1;
-        updateFilterThread.start();
-    }
-
-    /**
-     * Use a binary search to get the first match for the patternString.
-     * This method assumes the patternString does not contain any '?' 
-     * characters and that it contains only one '*' character at the end
-     * of the string.
-     */
-    private int getFirstMatch() {
-        int high = descriptorsSize;
-        int low = -1;
-        boolean match = false;
-        ResourceDescriptor desc = new ResourceDescriptor();
-        desc.label = patternString.substring(0, patternString.length() - 1);
-        while (high - low > 1) {
-            int index = (high + low) / 2;
-            String label = descriptors[index].label;
-            if (match(label)) {
-                high = index;
-                match = true;
-            } else {
-                int compare = descriptors[index].compareTo(desc);
-                if (compare == -1) {
-                    low = index;
-                } else {
-                    high = index;
-                }
-            }
-        }
-        if (match)
-            return high;
-        else
-            return -1;
-    }
-
-    /**
-     */
-    private void gatherResources() {
-        String oldPattern = patternString;
-        patternString = adjustPattern();
-        if (patternString.equals(oldPattern))
-            return;
-
-        updateGatherThread.stop = true;
-        updateGatherThread = new UpdateGatherThread();
-
-        if (patternString.equals("")) { //$NON-NLS-1$
-            updateGatherThread.start();
-            return;
-        }
-        stringMatcher = new StringMatcher(patternString, true, false);
-
-        if (oldPattern != null && (oldPattern.length() != 0)
-                && oldPattern.endsWith("*") && patternString.endsWith("*")) { //$NON-NLS-1$ //$NON-NLS-2$
-            // see if the new pattern is a derivative of the old pattern
-            int matchLength = oldPattern.length() - 1;
-            if (patternString.regionMatches(0, oldPattern, 0, matchLength)) {
-                updateGatherThread.refilter = true;
-                updateGatherThread.firstMatch = 0;
-                updateGatherThread.lastMatch = descriptorsSize - 1;
-                updateGatherThread.start();
-                return;
-            }
-        }
-
-        final ArrayList resources = new ArrayList();
-        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-            public void run() {
-                getMatchingResources(resources);
-                IResource resourcesArray[] = new IResource[resources.size()];
-                resources.toArray(resourcesArray);
-                initDescriptors(resourcesArray);
-            }
-        });
-
-        updateGatherThread.firstMatch = 0;
-        updateGatherThread.lastMatch = descriptorsSize - 1;
-        updateGatherThread.start();
-    }
-
-    /**
-     * Return an image for a resource descriptor.
-     * 
-     * @param desc resource descriptor to return image for
-     * @return an image for a resource descriptor.
-     */
-    private Image getImage(ResourceDescriptor desc) {
-        IResource r = (IResource) desc.resources.get(0);
-        return labelProvider.getImage(r);
-    }
-
-    /**
-     * Use a binary search to get the last match for the patternString.
-     * This method assumes the patternString does not contain any '?' 
-     * characters and that it contains only one '*' character at the end
-     * of the string.
-     */
-    private int getLastMatch() {
-        int high = descriptorsSize;
-        int low = -1;
-        boolean match = false;
-        ResourceDescriptor desc = new ResourceDescriptor();
-        desc.label = patternString.substring(0, patternString.length() - 1);
-        while (high - low > 1) {
-            int index = (high + low) / 2;
-            String label = descriptors[index].label;
-            if (match(label)) {
-                low = index;
-                match = true;
-            } else {
-                int compare = descriptors[index].compareTo(desc);
-                if (compare == -1) {
-                    low = index;
-                } else {
-                    high = index;
-                }
-            }
-        }
-        if (match)
-            return low;
-        else
-            return -1;
-    }
-
-    /**
-     * Gather the resources of the specified type that match the current
-     * pattern string.  Gather the resources using the proxy visitor since
-     * this is quicker than getting the entire resource.
-     * 
-     * @param resources resources that match
-     */
-    private void getMatchingResources(final ArrayList resources) {
-        try {
-            container.accept(new IResourceProxyVisitor() {
-                public boolean visit(IResourceProxy proxy) {
-                    // exclude derived resources (bug 38085)
-                    if (proxy.isDerived()) {
-                        return false;
-                    }
-                    int type = proxy.getType();
-                    if ((typeMask & type) != 0) {
-                        if (match(proxy.getName())) {
-                            IResource res = proxy.requestResource();
-                            if (select(res)) {
-                                resources.add(res);
-                                return true;
-                            } else {
-                                return false;
-                            }
-                        }
-                    }
-                    if (type == IResource.FILE)
-                        return false;
-                    return true;
-                }
-            }, IResource.NONE);
-        } catch (CoreException e) {
-            // ignore
-        }
-    }
-
-    private Image getParentImage(IResource resource) {
-        IResource parent = resource.getParent();
-        return labelProvider.getImage(parent);
-    }
-
-    private String getParentLabel(IResource resource) {
-        IResource parent = resource.getParent();
-        String text;
-        if (parent.getType() == IResource.ROOT) {
-            // Get readable name for workspace root ("Workspace"), without duplicating language-specific string here.
-            text = labelProvider.getText(parent);
-        } else {
-            text = parent.getFullPath().makeRelative().toString();
-        }
-        if(text == null)
-        	return ""; //$NON-NLS-1$
-        return text;
-    }
-
-    /**
-     * Creates a ResourceDescriptor for each IResource,
-     * sorts them and removes the duplicated ones.
-     * 
-     * @param resources resources to create resource descriptors for
-     */
-    private void initDescriptors(final IResource resources[]) {
-        BusyIndicator.showWhile(null, new Runnable() {
-            public void run() {
-                descriptors = new ResourceDescriptor[resources.length];
-                for (int i = 0; i < resources.length; i++) {
-                    IResource r = resources[i];
-                    ResourceDescriptor d = new ResourceDescriptor();
-                    //TDB: Should use the label provider and compare performance.
-                    d.label = r.getName();
-                    d.resources.add(r);
-                    descriptors[i] = d;
-                }
-                Arrays.sort(descriptors);
-                descriptorsSize = descriptors.length;
-
-                //Merge the resource descriptor with the same label and type.
-                int index = 0;
-                if (descriptorsSize < 2)
-                    return;
-                ResourceDescriptor current = descriptors[index];
-                IResource currentResource = (IResource) current.resources
-                        .get(0);
-                for (int i = 1; i < descriptorsSize; i++) {
-                    ResourceDescriptor next = descriptors[i];
-                    IResource nextResource = (IResource) next.resources.get(0);
-                    if (nextResource.getType() == currentResource.getType()
-                            && next.label.equals(current.label)) {
-                        current.resources.add(nextResource);
-                    } else {
-                        if (current.resources.size() > 1) {
-                            current.resourcesSorted = false;
-                        }
-                        descriptors[index + 1] = descriptors[i];
-                        index++;
-                        current = descriptors[index];
-                        currentResource = (IResource) current.resources.get(0);
-                    }
-                }
-                descriptorsSize = index + 1;
-            }
-        });
-    }
-
-    /**
-     * Returns true if the label matches the chosen pattern.
-     * 
-     * @param label label to match with the current pattern
-     * @return true if the label matches the chosen pattern. 
-     * 	false otherwise.
-     */
-    private boolean match(String label) {
-        if ((patternString == null)
-                || (patternString.equals("")) || (patternString.equals("*")))//$NON-NLS-2$//$NON-NLS-1$
-            return true;
-        return stringMatcher.match(label);
-    }
-
-    /**
-     * The user has selected a resource and the dialog is closing.
-     * Set the selected resource as the dialog result.
-     */
-    protected void okPressed() {
-        TableItem items[] = folderNames.getSelection();
-        if (items.length == 1) {
-            ArrayList result = new ArrayList();
-            result.add(items[0].getData());
-            setResult(result);
-        }
-        super.okPressed();
-    }
-
-    /**
-     * Use this method to further filter resources.  As resources are gathered,
-     * if a resource matches the current pattern string, this method will be called.
-     * If this method answers false, the resource will not be included in the list
-     * of matches and the resource's children will NOT be considered for matching.
-     */
-    protected boolean select(IResource resource) {
-        return true;
-    }
-
-    /**
-     * The text in the pattern text entry has changed.
-     * Create a new string matcher and start a new update tread.
-     */
-    private void textChanged() {
-        if (gatherResourcesDynamically) {
-            gatherResources();
-        } else {
-            filterResources();
-        }
-    }
-
-    /**
-     * A new resource has been selected. Change the contents
-     * of the folder names list.
-     * 
-     * @desc resource descriptor of the selected resource
-     */
-    private void updateFolders(final ResourceDescriptor desc) {
-        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-            public void run() {
-                if (!desc.resourcesSorted) {
-                    // sort the folder names
-                    Collections.sort(desc.resources, new Comparator() {
-                        public int compare(Object o1, Object o2) {
-                            String s1 = getParentLabel((IResource) o1);
-                            String s2 = getParentLabel((IResource) o2);
-                            return collator.compare(s1, s2);
-                        }
-                    });
-                    desc.resourcesSorted = true;
-                }
-                folderNames.removeAll();
-                for (int i = 0; i < desc.resources.size(); i++) {
-                    TableItem newItem = new TableItem(folderNames, SWT.NONE);
-                    IResource r = (IResource) desc.resources.get(i);
-                    newItem.setText(getParentLabel(r));
-                    newItem.setImage(getParentImage(r));
-                    newItem.setData(r);
-                }
-                folderNames.setSelection(0);
-            }
-        });
-    }
-
-    /**
-     * Update the specified item with the new info from the resource 
-     * descriptor.
-     * Create a new table item if there is no item. 
-     * 
-     * @param index index of the resource descriptor
-     * @param itemPos position of the existing item to update
-     * @param itemCount number of items in the resources table widget
-     */
-    private void updateItem(int index, int itemPos, int itemCount) {
-        ResourceDescriptor desc = descriptors[index];
-        TableItem item;
-        if (itemPos < itemCount) {
-            item = resourceNames.getItem(itemPos);
-            if (item.getData() != desc) {
-                item.setText(desc.label);
-                item.setData(desc);
-                item.setImage(getImage(desc));
-                if (itemPos == 0) {
-                    resourceNames.setSelection(0);
-                    updateFolders(desc);
-                }
-            }
-        } else {
-            item = new TableItem(resourceNames, SWT.NONE);
-            item.setText(desc.label);
-            item.setData(desc);
-            item.setImage(getImage(desc));
-            if (itemPos == 0) {
-                resourceNames.setSelection(0);
-                updateFolders(desc);
-            }
-        }
-        updateOKState(true);
-    }
-    
-    /**
-     * Update the enabled state of the OK button.  To be called when
-     * the resource list is updated.
-     * @param state the new enabled state of the button
-     */
-    protected void updateOKState(boolean state) {
-    	Button okButton = getButton(IDialogConstants.OK_ID);
-    	if(okButton != null && !okButton.isDisposed() && state != okEnabled) {
-    		okButton.setEnabled(state);
-    		okEnabled = state;
-    	}
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
deleted file mode 100644
index 3b737b9..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceSelectionDialog.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.CheckboxTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A standard resource selection dialog which solicits a list of resources from
- * the user. The <code>getResult</code> method returns the selected resources.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * 	ResourceSelectionDialog dialog =
- *		new ResourceSelectionDialog(getShell(), rootResource, msg);
- *	dialog.setInitialSelections(selectedResources));
- *	dialog.open();
- *	return dialog.getResult();
- * </pre>
- * </p>
- */
-public class ResourceSelectionDialog extends SelectionDialog {
-    // the root element to populate the viewer with
-    private IAdaptable root;
-
-    // the visual selection widget group
-    private CheckboxTreeAndListGroup selectionGroup;
-
-    // constants
-    private final static int SIZING_SELECTION_WIDGET_WIDTH = 400;
-
-    private final static int SIZING_SELECTION_WIDGET_HEIGHT = 300;
-
-    /**
-     * Creates a resource selection dialog rooted at the given element.
-     *
-     * @param parentShell the parent shell
-     * @param rootElement the root element to populate this dialog with
-     * @param message the message to be displayed at the top of this dialog, or
-     *    <code>null</code> to display a default message
-     */
-    public ResourceSelectionDialog(Shell parentShell, IAdaptable rootElement,
-            String message) {
-        super(parentShell);
-        setTitle(IDEWorkbenchMessages
-                .getString("ResourceSelectionDialog.title")); //$NON-NLS-1$
-        root = rootElement;
-        if (message != null)
-            setMessage(message);
-        else
-            setMessage(IDEWorkbenchMessages
-                    .getString("ResourceSelectionDialog.message")); //$NON-NLS-1$
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-
-    /**
-     * Visually checks the previously-specified elements in the container (left)
-     * portion of this dialog's resource selection viewer.
-     */
-    private void checkInitialSelections() {
-        Iterator itemsToCheck = getInitialElementSelections().iterator();
-
-        while (itemsToCheck.hasNext()) {
-            IResource currentElement = (IResource) itemsToCheck.next();
-
-            if (currentElement.getType() == IResource.FILE)
-                selectionGroup.initialCheckListItem(currentElement);
-            else
-                selectionGroup.initialCheckTreeItem(currentElement);
-        }
-    }
-
-
-    /**
-     * @param event the event
-     */
-    public void checkStateChanged(CheckStateChangedEvent event) {
-        getOkButton().setEnabled(selectionGroup.getCheckedElementCount() > 0);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-				IIDEHelpContextIds.RESOURCE_SELECTION_DIALOG);
-    }
-
-    public void create() {
-        super.create();
-        initializeDialog();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // page group
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        //create the input element, which has the root resource
-        //as its only child
-        ArrayList input = new ArrayList();
-        input.add(root);
-
-        createMessageArea(composite);
-        selectionGroup = new CheckboxTreeAndListGroup(composite, input,
-                getResourceProvider(IResource.FOLDER | IResource.PROJECT
-                        | IResource.ROOT), WorkbenchLabelProvider
-                        .getDecoratingWorkbenchLabelProvider(),
-                getResourceProvider(IResource.FILE), WorkbenchLabelProvider
-                        .getDecoratingWorkbenchLabelProvider(), SWT.NONE,
-                // since this page has no other significantly-sized
-                // widgets we need to hardcode the combined widget's
-                // size, otherwise it will open too small
-                SIZING_SELECTION_WIDGET_WIDTH, SIZING_SELECTION_WIDGET_HEIGHT);
-
-        composite.addControlListener(new ControlListener() {
-            public void controlMoved(ControlEvent e) {
-            }
-
-            public void controlResized(ControlEvent e) {
-                //Also try and reset the size of the columns as appropriate
-                TableColumn[] columns = selectionGroup.getListTable()
-                        .getColumns();
-                for (int i = 0; i < columns.length; i++) {
-                    columns[i].pack();
-                }
-            }
-        });
-
-        return composite;
-    }
-
-    /**
-     * Returns a content provider for <code>IResource</code>s that returns 
-     * only children of the given resource type.
-     */
-    private ITreeContentProvider getResourceProvider(final int resourceType) {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof IContainer) {
-                    IResource[] members = null;
-                    try {
-                        members = ((IContainer) o).members();
-                    } catch (CoreException e) {
-                        //just return an empty set of children
-                        return new Object[0];
-                    }
-
-                    //filter out the desired resource types
-                    ArrayList results = new ArrayList();
-                    for (int i = 0; i < members.length; i++) {
-                        //And the test bits with the resource types to see if they are what we want
-                        if ((members[i].getType() & resourceType) > 0) {
-                            results.add(members[i]);
-                        }
-                    }
-                    return results.toArray();
-                }
-                //input element case
-                if (o instanceof ArrayList) {
-                    return ((ArrayList) o).toArray();
-                } 
-                return new Object[0];
-            }
-        };
-    }
-
-    /**
-     * Initializes this dialog's controls.
-     */
-    private void initializeDialog() {
-        selectionGroup.addCheckStateListener(new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                getOkButton().setEnabled(
-                        selectionGroup.getCheckedElementCount() > 0);
-            }
-        });
-
-        if (getInitialElementSelections().isEmpty())
-            getOkButton().setEnabled(false);
-        else
-            checkInitialSelections();
-    }
-
-    /**
-     * The <code>ResourceSelectionDialog</code> implementation of this 
-     * <code>Dialog</code> method builds a list of the selected resources for later 
-     * retrieval by the client and closes this dialog.
-     */
-    protected void okPressed() {
-        Iterator resultEnum = selectionGroup.getAllCheckedListItems();
-        ArrayList list = new ArrayList();
-        while (resultEnum.hasNext())
-            list.add(resultEnum.next());
-        setResult(list);
-        super.okPressed();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java
deleted file mode 100644
index 8fb3cb4..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/SaveAsDialog.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package org.eclipse.ui.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/cpl-v10.html 
- * 
- * Contributors: 
- *    IBM Corporation - initial API and implementation 
- *    Bob Foster <bob@objfac.com>
- *     - Fix for bug 23025 - SaveAsDialog should not assume what is being saved is an IFile
- **********************************************************************/
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup;
-
-/**
- * A standard "Save As" dialog which solicits a path from the user. The
- * <code>getResult</code> method returns the path. Note that the folder
- * at the specified path might not exist and might need to be created.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- *
- * @see org.eclipse.ui.dialogs.ContainerGenerator
- */
-public class SaveAsDialog extends TitleAreaDialog {
-    private IFile originalFile = null;
-
-    private String originalName = null;
-
-    private IPath result;
-
-    // widgets
-    private ResourceAndContainerGroup resourceGroup;
-
-    private Button okButton;
-
-    /**
-     * Image for title area
-     */
-    private Image dlgTitleImage = null;
-
-    /**
-     * Creates a new Save As dialog for no specific file.
-     *
-     * @param parentShell the parent shell
-     */
-    public SaveAsDialog(Shell parentShell) {
-        super(parentShell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        shell.setText(IDEWorkbenchMessages.getString("SaveAsDialog.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-				IIDEHelpContextIds.SAVE_AS_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected Control createContents(Composite parent) {
-
-        Control contents = super.createContents(parent);
-
-        initializeControls();
-        validatePage();
-        resourceGroup.setFocus();
-        setTitle(IDEWorkbenchMessages.getString("SaveAsDialog.title")); //$NON-NLS-1$
-        dlgTitleImage = WorkbenchImages.getImageDescriptor(
-                IWorkbenchGraphicConstants.IMG_DLGBAN_SAVEAS_DLG).createImage();
-        setTitleImage(dlgTitleImage);
-        setMessage(IDEWorkbenchMessages.getString("SaveAsDialog.message")); //$NON-NLS-1$
-
-        return contents;
-    }
-
-    /** 
-     * The <code>SaveAsDialog</code> implementation of this <code>Window</code>
-     * method disposes of the banner image when the dialog is closed.
-     */
-    public boolean close() {
-        if (dlgTitleImage != null)
-            dlgTitleImage.dispose();
-        return super.close();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        okButton = createButton(parent, IDialogConstants.OK_ID,
-                IDialogConstants.OK_LABEL, true);
-        createButton(parent, IDialogConstants.CANCEL_ID,
-                IDialogConstants.CANCEL_LABEL, false);
-    }
-
-    /* (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);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-        layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-        layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-        layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        composite.setFont(parentComposite.getFont());
-
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                setDialogComplete(validatePage());
-            }
-        };
-
-        resourceGroup = new ResourceAndContainerGroup(
-                composite,
-                listener,
-                IDEWorkbenchMessages.getString("SaveAsDialog.fileLabel"), IDEWorkbenchMessages.getString("SaveAsDialog.file")); //$NON-NLS-2$ //$NON-NLS-1$
-        resourceGroup.setAllowExistingResources(true);
-
-        return parentComposite;
-    }
-
-    /**
-     * Returns the full path entered by the user.
-     * <p>
-     * Note that the file and container might not exist and would need to be created.
-     * See the <code>IFile.create</code> method and the 
-     * <code>ContainerGenerator</code> class.
-     * </p>
-     *
-     * @return the path, or <code>null</code> if Cancel was pressed
-     */
-    public IPath getResult() {
-        return result;
-    }
-
-    /**
-     * Initializes the controls of this dialog.
-     */
-    private void initializeControls() {
-        if (originalFile != null) {
-            resourceGroup.setContainerFullPath(originalFile.getParent()
-                    .getFullPath());
-            resourceGroup.setResource(originalFile.getName());
-        } else if (originalName != null)
-            resourceGroup.setResource(originalName);
-        setDialogComplete(validatePage());
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void okPressed() {
-        // Get new path.
-        IPath path = resourceGroup.getContainerFullPath().append(
-                resourceGroup.getResource());
-
-        //If the user does not supply a file extension and if the save 
-        //as dialog was provided a default file name append the extension 
-        //of the default filename to the new name
-        if (path.getFileExtension() == null) {
-            if (originalFile != null && originalFile.getFileExtension() != null)
-                path = path.addFileExtension(originalFile.getFileExtension());
-            else if (originalName != null) {
-                int pos = originalName.lastIndexOf('.');
-                if (++pos > 0 && pos < originalName.length())
-                    path = path.addFileExtension(originalName.substring(pos));
-            }
-        }
-
-        // If the path already exists then confirm overwrite.
-        IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-        if (file.exists()) {
-            String[] buttons = new String[] { IDialogConstants.YES_LABEL,
-                    IDialogConstants.NO_LABEL, IDialogConstants.CANCEL_LABEL };
-            String question = IDEWorkbenchMessages.format(
-                    "SaveAsDialog.overwriteQuestion", //$NON-NLS-1$
-                    new Object[] { path.toOSString() });
-            MessageDialog d = new MessageDialog(getShell(),
-                    IDEWorkbenchMessages.getString("Question"), //$NON-NLS-1$
-                    null, question, MessageDialog.QUESTION, buttons, 0);
-            int overwrite = d.open();
-            switch (overwrite) {
-            case 0: // Yes
-                break;
-            case 1: // No
-                return;
-            case 2: // Cancel
-            default:
-                cancelPressed();
-                return;
-            }
-        }
-
-        // Store path and close.
-        result = path;
-        close();
-    }
-
-    /**
-     * Sets the completion state of this dialog and adjusts the enable state of
-     * the Ok button accordingly.
-     *
-     * @param value <code>true</code> if this dialog is compelete, and
-     *  <code>false</code> otherwise
-     */
-    protected void setDialogComplete(boolean value) {
-        okButton.setEnabled(value);
-    }
-
-    /**
-     * Sets the original file to use.
-     *
-     * @param originalFile the original file
-     */
-    public void setOriginalFile(IFile originalFile) {
-        this.originalFile = originalFile;
-    }
-
-    /**
-     * Set the original file name to use.
-     * Used instead of <code>setOriginalFile</code>
-     * when the original resource is not an IFile.
-     * Must be called before <code>create</code>.
-     * @param originalName default file name
-     */
-    public void setOriginalName(String originalName) {
-        this.originalName = originalName;
-    }
-
-    /**
-     * Returns whether this page's visual components all contain valid values.
-     *
-     * @return <code>true</code> if valid, and <code>false</code> otherwise
-     */
-    private boolean validatePage() {
-        setErrorMessage(null);
-
-        if (!resourceGroup.areAllValuesValid()) {
-            if (!resourceGroup.getResource().equals("")) // if blank name then fail silently//$NON-NLS-1$
-                setErrorMessage(resourceGroup.getProblemMessage());
-            return false;
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java
deleted file mode 100644
index 3a1774d..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardDataTransferPage.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * The common superclass for wizard import and export pages.
- * <p>
- * This class is not intended to be subclassed outside outside of the workbench.
- * </p>
- */
-public abstract class WizardDataTransferPage extends WizardPage implements
-        Listener, IOverwriteQuery {
-
-    // constants
-    protected static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    protected static final int COMBO_HISTORY_LENGTH = 5;
-
-    /**
-     * Creates a new wizard page.
-     *
-     * @param pageName the name of the page
-     */
-    protected WizardDataTransferPage(String pageName) {
-        super(pageName);
-    }
-
-    /**
-     * Adds an entry to a history, while taking care of duplicate history items
-     * and excessively long histories.  The assumption is made that all histories
-     * should be of length <code>WizardDataTransferPage.COMBO_HISTORY_LENGTH</code>.
-     *
-     * @param history the current history
-     * @param newEntry the entry to add to the history
-     */
-    protected String[] addToHistory(String[] history, String newEntry) {
-        java.util.ArrayList l = new java.util.ArrayList(Arrays.asList(history));
-        addToHistory(l, newEntry);
-        String[] r = new String[l.size()];
-        l.toArray(r);
-        return r;
-    }
-
-    /**
-     * Adds an entry to a history, while taking care of duplicate history items
-     * and excessively long histories.  The assumption is made that all histories
-     * should be of length <code>WizardDataTransferPage.COMBO_HISTORY_LENGTH</code>.
-     *
-     * @param history the current history
-     * @param newEntry the entry to add to the history
-     */
-    protected void addToHistory(List history, String newEntry) {
-        history.remove(newEntry);
-        history.add(0, newEntry);
-
-        // since only one new item was added, we can be over the limit
-        // by at most one item
-        if (history.size() > COMBO_HISTORY_LENGTH)
-            history.remove(COMBO_HISTORY_LENGTH);
-    }
-
-    /**
-     * Return whether the user is allowed to enter a new container name or just
-     * choose from existing ones.
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @return <code>true</code> if new ones are okay, and <code>false</code>
-     *  if only existing ones are allowed
-     */
-    protected abstract boolean allowNewContainerName();
-
-    /**
-     * Creates a new label with a bold font.
-     *
-     * @param parent the parent control
-     * @param text the label text
-     * @return the new label control
-     */
-    protected Label createBoldLabel(Composite parent, String text) {
-        Label label = new Label(parent, SWT.NONE);
-        label.setFont(JFaceResources.getBannerFont());
-        label.setText(text);
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        label.setLayoutData(data);
-        return label;
-    }
-
-    /**
-     * Creates the import/export options group controls.
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method does
-     * nothing. Subclasses wishing to define such components should reimplement
-     * this hook method.
-     * </p>
-     *
-     * @param optionsGroup the parent control
-     */
-    protected void createOptionsGroupButtons(Group optionsGroup) {
-    }
-
-    /**
-     * Creates a new label with a bold font.
-     *
-     * @param parent the parent control
-     * @param text the label text
-     * @return the new label control
-     */
-    protected Label createPlainLabel(Composite parent, String text) {
-        Label label = new Label(parent, SWT.NONE);
-        label.setText(text);
-        label.setFont(parent.getFont());
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        label.setLayoutData(data);
-        return label;
-    }
-
-    /**
-     * Creates a horizontal spacer line that fills the width of its container.
-     *
-     * @param parent the parent control
-     */
-    protected void createSpacer(Composite parent) {
-        Label spacer = new Label(parent, SWT.NONE);
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.verticalAlignment = GridData.BEGINNING;
-        spacer.setLayoutData(data);
-    }
-
-    /**
-     * Returns whether this page is complete. This determination is made based upon
-     * the current contents of this page's controls.  Subclasses wishing to include
-     * their controls in this determination should override the hook methods 
-     * <code>validateSourceGroup</code> and/or <code>validateOptionsGroup</code>.
-     *
-     * @return <code>true</code> if this page is complete, and <code>false</code> if
-     *   incomplete
-     * @see #validateSourceGroup
-     * @see #validateOptionsGroup
-     */
-    protected boolean determinePageCompletion() {
-        boolean complete = validateSourceGroup() && validateDestinationGroup()
-                && validateOptionsGroup();
-
-        // Avoid draw flicker by not clearing the error
-        // message unless all is valid.
-        if (complete)
-            setErrorMessage(null);
-
-        return complete;
-    }
-
-    /**
-     * Get a path from the supplied text widget.
-     * @return org.eclipse.core.runtime.IPath
-     */
-    protected IPath getPathFromText(Text textField) {
-        String text = textField.getText();
-        //Do not make an empty path absolute so as not to confuse with the root
-        if (text.length() == 0)
-            return new Path(text);
-        else
-            return (new Path(text)).makeAbsolute();
-    }
-
-    /**
-     * Queries the user to supply a container resource.
-     *
-     * @return the path to an existing or new container, or <code>null</code> if the
-     *    user cancelled the dialog
-     */
-    protected IPath queryForContainer(IContainer initialSelection, String msg) {
-        return queryForContainer(initialSelection, msg, null);
-    }
-
-    /**
-     * Queries the user to supply a container resource.
-     *
-     * @return the path to an existing or new container, or <code>null</code> if the
-     *    user cancelled the dialog
-     */
-    protected IPath queryForContainer(IContainer initialSelection, String msg,
-            String title) {
-        ContainerSelectionDialog dialog = new ContainerSelectionDialog(
-                getControl().getShell(), initialSelection,
-                allowNewContainerName(), msg);
-        if (title != null)
-            dialog.setTitle(title);
-        dialog.showClosedProjects(false);
-        dialog.open();
-        Object[] result = dialog.getResult();
-        if (result != null && result.length == 1) {
-            return (IPath) result[0];
-        }
-        return null;
-    }
-
-    /**
-     * The <code>WizardDataTransfer</code> implementation of this 
-     * <code>IOverwriteQuery</code> method asks the user whether the existing 
-     * resource at the given path should be overwritten.
-     *
-     * @param pathString 
-     * @return the user's reply: one of <code>"YES"</code>, <code>"NO"</code>, <code>"ALL"</code>, 
-     *   or <code>"CANCEL"</code>
-     */
-    public String queryOverwrite(String pathString) {
-
-        Path path = new Path(pathString);
-
-        String messageString;
-        //Break the message up if there is a file name and a directory
-        //and there are at least 2 segments.
-        if (path.getFileExtension() == null || path.segmentCount() < 2)
-            messageString = IDEWorkbenchMessages.format(
-                    "WizardDataTransfer.existsQuestion", //$NON-NLS-1$
-                    new String[] { pathString });
-
-        else
-            messageString = IDEWorkbenchMessages.format(
-                    "WizardDataTransfer.overwriteNameAndPathQuestion", //$NON-NLS-1$
-                    new String[] { path.lastSegment(),
-                            path.removeLastSegments(1).toOSString() });
-
-        final MessageDialog dialog = new MessageDialog(getContainer()
-                .getShell(), IDEWorkbenchMessages.getString("Question"), //$NON-NLS-1$
-                null, messageString, MessageDialog.QUESTION, new String[] {
-                        IDialogConstants.YES_LABEL,
-                        IDialogConstants.YES_TO_ALL_LABEL,
-                        IDialogConstants.NO_LABEL,
-                        IDialogConstants.NO_TO_ALL_LABEL,
-                        IDialogConstants.CANCEL_LABEL }, 0);
-        String[] response = new String[] { YES, ALL, NO, NO_ALL, CANCEL };
-        //run in syncExec because callback is from an operation,
-        //which is probably not running in the UI thread.
-        getControl().getDisplay().syncExec(new Runnable() {
-            public void run() {
-                dialog.open();
-            }
-        });
-        return dialog.getReturnCode() < 0 ? CANCEL : response[dialog
-                .getReturnCode()];
-    }
-
-    /**
-     * Displays a Yes/No question to the user with the specified message and returns
-     * the user's response.
-     *
-     * @param message the question to ask
-     * @return <code>true</code> for Yes, and <code>false</code> for No
-     */
-    protected boolean queryYesNoQuestion(String message) {
-        MessageDialog dialog = new MessageDialog(getContainer().getShell(),
-                IDEWorkbenchMessages.getString("Question"), //$NON-NLS-1$
-                (Image) null, message, MessageDialog.NONE,
-                new String[] { IDialogConstants.YES_LABEL,
-                        IDialogConstants.NO_LABEL }, 0);
-        // ensure yes is the default
-
-        return dialog.open() == 0;
-    }
-
-    /**
-     * Restores control settings that were saved in the previous instance of this
-     * page.  
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method does
-     * nothing. Subclasses may override this hook method.
-     * </p>
-     */
-    protected void restoreWidgetValues() {
-    }
-
-    /**
-     * Saves control settings that are to be restored in the next instance of
-     * this page.  
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method does
-     * nothing. Subclasses may override this hook method.
-     * </p>
-     */
-    protected void saveWidgetValues() {
-    }
-
-    /**
-     * Determine if the page is complete and update the page appropriately. 
-     */
-    protected void updatePageCompletion() {
-        boolean pageComplete = determinePageCompletion();
-        setPageComplete(pageComplete);
-        if (pageComplete) {
-            setMessage(null);
-        }
-    }
-
-    /**
-     * Updates the enable state of this page's controls.
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method does
-     * nothing. Subclasses may extend this hook method.
-     * </p>
-     */
-    protected void updateWidgetEnablements() {
-    }
-
-    /**
-     * Returns whether this page's destination specification controls currently all
-     * contain valid values.
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method returns
-     * <code>true</code>. Subclasses may reimplement this hook method.
-     * </p>
-     *
-     * @return <code>true</code> indicating validity of all controls in the 
-     *   destination specification group
-     */
-    protected boolean validateDestinationGroup() {
-        return true;
-    }
-
-    /**
-     * Returns whether this page's options group's controls currently all contain
-     * valid values.
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method returns
-     * <code>true</code>. Subclasses may reimplement this hook method.
-     * </p>
-     *
-     * @return <code>true</code> indicating validity of all controls in the options
-     *   group
-     */
-    protected boolean validateOptionsGroup() {
-        return true;
-    }
-
-    /**
-     * Returns whether this page's source specification controls currently all
-     * contain valid values.
-     * <p>
-     * The <code>WizardDataTransferPage</code> implementation of this method returns
-     * <code>true</code>. Subclasses may reimplement this hook method.
-     * </p>
-     *
-     * @return <code>true</code> indicating validity of all controls in the 
-     *   source specification group
-     */
-    protected boolean validateSourceGroup() {
-        return true;
-    }
-
-    /**
-     *	Create the options specification widgets.
-     *
-     *	@param parent org.eclipse.swt.widgets.Composite
-     */
-    protected void createOptionsGroup(Composite parent) {
-        // options group
-        Group optionsGroup = new Group(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        optionsGroup.setLayout(layout);
-        optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL));
-        optionsGroup.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.options")); //$NON-NLS-1$
-        optionsGroup.setFont(parent.getFont());
-
-        createOptionsGroupButtons(optionsGroup);
-
-    }
-
-    /**
-     * Display an error dialog with the specified message.
-     *
-     * @param message the error message
-     */
-    protected void displayErrorDialog(String message) {
-        MessageDialog.openError(getContainer().getShell(),
-                getErrorDialogTitle(), message); //$NON-NLS-1$
-    }
-
-    /**
-     * Display an error dislog with the information from the
-     * supplied exception.
-     * @param exception Throwable
-     */
-    protected void displayErrorDialog(Throwable exception) {
-        String message = exception.getMessage();
-        //Some system exceptions have no message
-        if (message == null)
-            message = IDEWorkbenchMessages.format(
-                    "WizardDataTransfer.exceptionMessage", //$NON-NLS-1$
-                    new String[] { exception.toString() });
-        displayErrorDialog(message);
-    }
-
-    /**
-     * Get the title for an error dialog. Subclasses should
-     * override.
-     */
-    protected String getErrorDialogTitle() {
-        return IDEWorkbenchMessages
-                .getString("WizardExportPage.internalErrorTitle"); //$NON-NLS-1$
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
deleted file mode 100644
index 69ed73c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportPage.java
+++ /dev/null
@@ -1,941 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IFileEditorMapping;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Abstract superclass for a typical export wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createDestinationGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- *   <li><code>internalSaveWidgetValues</code></li>
- *   <li><code>updateWidgetEnablements</code></li>
- * </ul>
- * </p>
- * @deprecated use WizardExportResourcePage
- */
-public abstract class WizardExportPage extends WizardDataTransferPage {
-    private IStructuredSelection currentResourceSelection;
-
-    private List selectedResources;
-
-    private List selectedTypes;
-
-    private boolean exportCurrentSelection = false;
-
-    private boolean exportAllResourcesPreSet = false;
-
-    // widgets
-    private Combo typesToExportField;
-
-    private Button typesToExportEditButton;
-
-    private Button exportAllTypesRadio;
-
-    private Button exportSpecifiedTypesRadio;
-
-    private Button resourceDetailsButton;
-
-    private Label resourceDetailsDescription;
-
-    private Text resourceNameField;
-
-    private Button resourceBrowseButton;
-
-    // initial value stores
-    private boolean initialExportAllTypesValue = true;
-
-    private String initialExportFieldValue;
-
-    private String initialTypesFieldValue;
-
-    // constants
-    private static final String CURRENT_SELECTION = "<current selection>";//$NON-NLS-1$
-
-    private static final String TYPE_DELIMITER = ",";//$NON-NLS-1$
-
-    // dialog store id constants
-    private static final String STORE_SELECTED_TYPES_ID = "WizardFileSystemExportPage1.STORE_SELECTED_TYPES_ID.";//$NON-NLS-1$
-
-    private static final String STORE_EXPORT_ALL_RESOURCES_ID = "WizardFileSystemExportPage1.STORE_EXPORT_ALL_RESOURCES_ID.";//$NON-NLS-1$
-
-    /**
-     * Creates an export wizard page. If the current resource selection 
-     * is not empty then it will be used as the initial collection of resources
-     * selected for export.
-     *
-     * @param pageName the name of the page
-     * @param selection the current resource selection
-     */
-    protected WizardExportPage(String pageName, IStructuredSelection selection) {
-        super(pageName);
-        this.currentResourceSelection = selection;
-    }
-
-    /**
-     * The <code>WizardExportPage</code> implementation of this 
-     * <code>WizardDataTransferPage</code> method returns <code>false</code>. 
-     * Subclasses may override this method.
-     */
-    protected boolean allowNewContainerName() {
-        return false;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-
-        createBoldLabel(composite, IDEWorkbenchMessages
-                .getString("WizardExportPage.whatLabel")); //$NON-NLS-1$
-        createSourceGroup(composite);
-
-        createSpacer(composite);
-
-        createBoldLabel(composite, IDEWorkbenchMessages
-                .getString("WizardExportPage.whereLabel")); //$NON-NLS-1$
-        createDestinationGroup(composite);
-
-        createSpacer(composite);
-
-        createBoldLabel(composite, IDEWorkbenchMessages
-                .getString("WizardExportPage.options")); //$NON-NLS-1$
-        createOptionsGroup(composite);
-
-        restoreResourceSpecificationWidgetValues(); // ie.- local
-        restoreWidgetValues(); // ie.- subclass hook
-        if (currentResourceSelection != null)
-            setupBasedOnInitialSelections();
-
-        updateWidgetEnablements();
-        setPageComplete(determinePageCompletion());
-
-        setControl(composite);
-    }
-
-    /**
-     * Creates the export destination specification visual components.
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @param parent the parent control
-     */
-    protected abstract void createDestinationGroup(Composite parent);
-
-    /**
-     * Creates the export source resource specification controls.
-     *
-     * @param parent the parent control
-     */
-    protected final void createSourceGroup(Composite parent) {
-        // top level group
-        Composite sourceGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        sourceGroup.setLayout(layout);
-        sourceGroup.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-
-        // resource label
-        new Label(sourceGroup, SWT.NONE).setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.folder")); //$NON-NLS-1$
-
-        // resource name entry field
-        resourceNameField = new Text(sourceGroup, SWT.SINGLE | SWT.BORDER);
-        resourceNameField.addListener(SWT.KeyDown, this);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        resourceNameField.setLayoutData(data);
-
-        // resource browse button
-        resourceBrowseButton = new Button(sourceGroup, SWT.PUSH);
-        resourceBrowseButton.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.browse")); //$NON-NLS-1$
-        resourceBrowseButton.addListener(SWT.Selection, this);
-        resourceBrowseButton.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-        // export all types radio	
-        exportAllTypesRadio = new Button(sourceGroup, SWT.RADIO);
-        exportAllTypesRadio.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.allTypes")); //$NON-NLS-1$
-        exportAllTypesRadio.addListener(SWT.Selection, this);
-        data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.horizontalSpan = 3;
-        exportAllTypesRadio.setLayoutData(data);
-
-        // export specific types radio
-        exportSpecifiedTypesRadio = new Button(sourceGroup, SWT.RADIO);
-        exportSpecifiedTypesRadio.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.specificTypes")); //$NON-NLS-1$
-        exportSpecifiedTypesRadio.addListener(SWT.Selection, this);
-
-        // types combo
-        typesToExportField = new Combo(sourceGroup, SWT.NONE);
-        data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        typesToExportField.setLayoutData(data);
-        typesToExportField.addListener(SWT.Modify, this);
-
-        // types edit button
-        typesToExportEditButton = new Button(sourceGroup, SWT.PUSH);
-        typesToExportEditButton.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.edit")); //$NON-NLS-1$
-        typesToExportEditButton.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL
-                        | GridData.VERTICAL_ALIGN_END));
-        typesToExportEditButton.addListener(SWT.Selection, this);
-
-        // details button
-        resourceDetailsButton = new Button(sourceGroup, SWT.PUSH);
-        resourceDetailsButton.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.details")); //$NON-NLS-1$
-        resourceDetailsButton.addListener(SWT.Selection, this);
-
-        // details label
-        resourceDetailsDescription = new Label(sourceGroup, SWT.NONE);
-        data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.horizontalSpan = 2;
-        resourceDetailsDescription.setLayoutData(data);
-
-        // initial setup
-        resetSelectedResources();
-        exportAllTypesRadio.setSelection(initialExportAllTypesValue);
-        exportSpecifiedTypesRadio.setSelection(!initialExportAllTypesValue);
-        typesToExportField.setEnabled(!initialExportAllTypesValue);
-        typesToExportEditButton.setEnabled(!initialExportAllTypesValue);
-
-        if (initialExportFieldValue != null)
-            resourceNameField.setText(initialExportFieldValue);
-        if (initialTypesFieldValue != null)
-            typesToExportField.setText(initialTypesFieldValue);
-    }
-
-    /**
-     * Display an error dialog with the specified message.
-     *
-     * @param message the error message
-     */
-    protected void displayErrorDialog(String message) {
-        MessageDialog.openError(getContainer().getShell(), IDEWorkbenchMessages
-                .getString("WizardExportPage.errorDialogTitle"), message); //$NON-NLS-1$
-    }
-
-    /**
-     * Displays a description message that indicates a selection of resources
-     * of the specified size.
-     *
-     * @param selectedResourceCount the resource selection size to display
-     */
-    protected void displayResourcesSelectedCount(int selectedResourceCount) {
-        if (selectedResourceCount == 1)
-            resourceDetailsDescription.setText(IDEWorkbenchMessages
-                    .getString("WizardExportPage.oneResourceSelected")); //$NON-NLS-1$
-        else
-            resourceDetailsDescription
-                    .setText(IDEWorkbenchMessages
-                            .format(
-                                    "WizardExportPage.resourceCountMessage", new Object[] { new Integer(selectedResourceCount) })); //$NON-NLS-1$
-    }
-
-    /**
-     * Obsolete method. This was implemented to handle the case where ensureLocal()
-     * needed to be called but it doesn't use it any longer.
-     *
-     * @param resources the list of resources to ensure locality for
-     * @return <code>true</code> for successful completion
-     * @deprecated Only retained for backwards compatibility.
-     */
-    protected boolean ensureResourcesLocal(List resources) {
-        return true;
-    }
-
-    /**
-     * Returns a new subcollection containing only those resources which are not 
-     * local.
-     *
-     * @param originalList the original list of resources (element type: 
-     *   <code>IResource</code>)
-     * @return the new list of non-local resources (element type: 
-     *   <code>IResource</code>)
-     */
-    protected List extractNonLocalResources(List originalList) {
-        Vector result = new Vector(originalList.size());
-        Iterator resourcesEnum = originalList.iterator();
-
-        while (resourcesEnum.hasNext()) {
-            IResource currentResource = (IResource) resourcesEnum.next();
-            if (!currentResource.isLocal(IResource.DEPTH_ZERO))
-                result.addElement(currentResource);
-        }
-
-        return result;
-    }
-
-    /**
-     * Returns the current selection value of the "Export all types" radio,
-     * or its set initial value if it does not exist yet.
-     *
-     * @return the "Export All Types" radio's current value or anticipated initial
-     *   value
-     */
-    public boolean getExportAllTypesValue() {
-        if (exportAllTypesRadio == null)
-            return initialExportAllTypesValue;
-
-        return exportAllTypesRadio.getSelection();
-    }
-
-    /**
-     * Returns the current contents of the resource name entry field,
-     * or its set initial value if it does not exist yet (which could
-     * be <code>null</code>).
-     *
-     * @return the resource name field's current value or anticipated initial value,
-     *   or <code>null</code>
-     */
-    public String getResourceFieldValue() {
-        if (resourceNameField == null)
-            return initialExportFieldValue;
-
-        return resourceNameField.getText();
-    }
-
-    /**
-     * Return the path for the resource field.
-     * @return org.eclipse.core.runtime.IPath
-     */
-    protected IPath getResourcePath() {
-        return getPathFromText(this.resourceNameField);
-    }
-
-    /**
-     * Returns this page's collection of currently-specified resources to be 
-     * exported. This is the primary resource selection facility accessor for 
-     * subclasses.
-     *
-     * @return the collection of resources currently selected for export (element 
-     *   type: <code>IResource</code>)
-     */
-    protected List getSelectedResources() {
-        if (selectedResources == null) {
-            IResource sourceResource = getSourceResource();
-
-            if (sourceResource != null)
-                selectAppropriateResources(sourceResource);
-        }
-
-        return selectedResources;
-    }
-
-    /**
-     * Returns the resource object specified in the resource name entry field,
-     * or <code>null</code> if such a resource does not exist in the workbench.
-     *
-     * @return the resource specified in the resource name entry field, or 
-     *   <code>null</code>
-     */
-    protected IResource getSourceResource() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        //make the path absolute to allow for optional leading slash
-        IPath testPath = getResourcePath();
-
-        IStatus result = workspace.validatePath(testPath.toString(),
-                IResource.ROOT | IResource.PROJECT | IResource.FOLDER
-                        | IResource.FILE);
-
-        if (result.isOK() && workspace.getRoot().exists(testPath))
-            return workspace.getRoot().findMember(testPath);
-
-        return null;
-    }
-
-    /**
-     * Returns the current contents of the types entry field, or its set
-     * initial value if it does not exist yet (which could be <code>null</code>).
-     *
-     * @return the types entry field's current value or anticipated initial value,
-     *   or <code>null</code>
-     */
-    public String getTypesFieldValue() {
-        if (typesToExportField == null)
-            return initialTypesFieldValue;
-
-        return typesToExportField.getText();
-    }
-
-    /**
-     * Returns the resource extensions currently specified to be exported.
-     *
-     * @return the resource extensions currently specified to be exported (element 
-     *   type: <code>String</code>)
-     */
-    protected List getTypesToExport() {
-        List result = new ArrayList();
-        StringTokenizer tokenizer = new StringTokenizer(typesToExportField
-                .getText(), TYPE_DELIMITER);
-
-        while (tokenizer.hasMoreTokens()) {
-            String currentExtension = tokenizer.nextToken().trim();
-            if (!currentExtension.equals(""))//$NON-NLS-1$
-                result.add(currentExtension);
-        }
-
-        return result;
-    }
-
-    /**
-     * The <code>WizardExportPage</code> implementation of this 
-     * <code>Listener</code> method handles all events and enablements for controls
-     * on this page. Subclasses may extend.
-     */
-    public void handleEvent(Event event) {
-        Widget source = event.widget;
-
-        if (source == exportAllTypesRadio || source == typesToExportField
-                || source == resourceNameField)
-            resetSelectedResources();
-        else if (source == exportSpecifiedTypesRadio) {
-            resetSelectedResources();
-            typesToExportField.setFocus();
-        } else if (source == resourceDetailsButton)
-            handleResourceDetailsButtonPressed();
-        else if (source == resourceBrowseButton)
-            handleResourceBrowseButtonPressed();
-        else if (source == typesToExportEditButton)
-            handleTypesEditButtonPressed();
-
-        setPageComplete(determinePageCompletion());
-        updateWidgetEnablements();
-    }
-
-    /**
-     * Opens a container selection dialog and displays the user's subsequent
-     * container selection in this page's resource name field.
-     */
-    protected void handleResourceBrowseButtonPressed() {
-        IResource currentFolder = getSourceResource();
-        if (currentFolder != null && currentFolder.getType() == IResource.FILE)
-            currentFolder = currentFolder.getParent();
-
-        IPath containerPath = queryForContainer((IContainer) currentFolder,
-                IDEWorkbenchMessages
-                        .getString("WizardExportPage.selectResourcesToExport")); //$NON-NLS-1$
-        if (containerPath != null) { // null means user cancelled
-            String relativePath = containerPath.makeRelative().toString();
-            if (!relativePath.toString().equals(resourceNameField.getText())) {
-                resetSelectedResources();
-                resourceNameField.setText(relativePath);
-            }
-        }
-    }
-
-    /**
-     * Opens a resource selection dialog and records the user's subsequent
-     * resource selections.
-     */
-    protected void handleResourceDetailsButtonPressed() {
-        IAdaptable source = getSourceResource();
-
-        if (source == null)
-            source = ResourcesPlugin.getWorkspace().getRoot();
-
-        selectAppropriateResources(source);
-
-        if (source instanceof IFile) {
-            source = ((IFile) source).getParent();
-            setResourceToDisplay((IResource) source);
-        }
-
-        Object[] newlySelectedResources = queryIndividualResourcesToExport(source);
-
-        if (newlySelectedResources != null) {
-            selectedResources = Arrays.asList(newlySelectedResources);
-            displayResourcesSelectedCount(selectedResources.size());
-        }
-    }
-
-    /**
-     * Queries the user for the types of resources to be exported and
-     * displays these types in this page's "Types to export" field.
-     */
-    protected void handleTypesEditButtonPressed() {
-        Object[] newSelectedTypes = queryResourceTypesToExport();
-
-        if (newSelectedTypes != null) { // ie.- did not press Cancel
-            List result = new ArrayList(newSelectedTypes.length);
-            for (int i = 0; i < newSelectedTypes.length; i++)
-                result.add(((IFileEditorMapping) newSelectedTypes[i])
-                        .getExtension());
-            setTypesToExport(result);
-        }
-    }
-
-    /**
-     * Returns whether the extension of the given resource name is an extension that
-     * has been specified for export by the user.
-     *
-     * @param resourceName the resource name
-     * @return <code>true</code> if the resource name is suitable for export based 
-     *   upon its extension
-     */
-    protected boolean hasExportableExtension(String resourceName) {
-        if (selectedTypes == null) // ie.- all extensions are acceptable
-            return true;
-
-        int separatorIndex = resourceName.lastIndexOf(".");//$NON-NLS-1$
-        if (separatorIndex == -1)
-            return false;
-
-        String extension = resourceName.substring(separatorIndex + 1);
-
-        Iterator it = selectedTypes.iterator();
-        while (it.hasNext()) {
-            if (extension.equalsIgnoreCase((String) it.next()))
-                return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Persists additional setting that are to be restored in the next instance of
-     * this page.
-     * <p> 
-     * The <code>WizardImportPage</code> implementation of this method does
-     * nothing. Subclasses may extend to persist additional settings.
-     * </p>
-     */
-    protected void internalSaveWidgetValues() {
-    }
-
-    /**
-     * Queries the user for the individual resources that are to be exported
-     * and returns these resources as a collection.
-     * 
-     * @param rootResource the resource to use as the root of the selection query
-     * @return the resources selected for export (element type: 
-     *   <code>IResource</code>), or <code>null</code> if the user canceled the 
-     *   selection
-     */
-    protected Object[] queryIndividualResourcesToExport(IAdaptable rootResource) {
-        ResourceSelectionDialog dialog = new ResourceSelectionDialog(
-                getContainer().getShell(), rootResource, IDEWorkbenchMessages
-                        .getString("WizardExportPage.selectResourcesTitle")); //$NON-NLS-1$
-        dialog.setInitialSelections(selectedResources
-                .toArray(new Object[selectedResources.size()]));
-        dialog.open();
-        return dialog.getResult();
-    }
-
-    /**
-     * Queries the user for the resource types that are to be exported and returns
-     * these types as a collection.
-     *
-     * @return the resource types selected for export (element type: 
-     *   <code>String</code>), or <code>null</code> if the user canceled the 
-     *   selection
-     */
-    protected Object[] queryResourceTypesToExport() {
-        IFileEditorMapping editorMappings[] = PlatformUI.getWorkbench()
-                .getEditorRegistry().getFileEditorMappings();
-
-        int mappingsSize = editorMappings.length;
-        List selectedTypes = getTypesToExport();
-        List initialSelections = new ArrayList(selectedTypes.size());
-
-        for (int i = 0; i < mappingsSize; i++) {
-            IFileEditorMapping currentMapping = editorMappings[i];
-            if (selectedTypes.contains(currentMapping.getExtension()))
-                initialSelections.add(currentMapping);
-        }
-
-        ListSelectionDialog dialog = new ListSelectionDialog(getContainer()
-                .getShell(), editorMappings,
-                FileEditorMappingContentProvider.INSTANCE,
-                FileEditorMappingLabelProvider.INSTANCE, IDEWorkbenchMessages
-                        .getString("WizardExportPage.selectionDialogMessage")); //$NON-NLS-1$
-
-        dialog.setTitle(IDEWorkbenchMessages
-                .getString("WizardExportPage.resourceTypeDialog")); //$NON-NLS-1$
-        dialog.open();
-
-        return dialog.getResult();
-    }
-
-    /**
-     * Resets this page's selected resources collection and updates its controls
-     * accordingly.
-     */
-    protected void resetSelectedResources() {
-        resourceDetailsDescription.setText(IDEWorkbenchMessages
-                .getString("WizardExportPage.detailsMessage")); //$NON-NLS-1$
-        selectedResources = null;
-
-        if (exportCurrentSelection) {
-            exportCurrentSelection = false;
-
-            if (resourceNameField.getText().length() > CURRENT_SELECTION
-                    .length())
-                resourceNameField.setText(resourceNameField.getText()
-                        .substring(CURRENT_SELECTION.length()));
-            else
-                resourceNameField.setText("");//$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Restores resource specification control settings that were persisted
-     * in the previous instance of this page. Subclasses wishing to restore
-     * persisted values for their controls may extend.
-     */
-    protected void restoreResourceSpecificationWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String pageName = getName();
-            boolean exportAllResources = settings
-                    .getBoolean(STORE_EXPORT_ALL_RESOURCES_ID + pageName);
-
-            // restore all/typed radio values iff not already explicitly set
-            if (!exportAllResourcesPreSet) {
-                exportAllTypesRadio.setSelection(exportAllResources);
-                exportSpecifiedTypesRadio.setSelection(!exportAllResources);
-            }
-
-            // restore selected types iff not explicitly already set
-            if (initialTypesFieldValue == null) {
-                String[] selectedTypes = settings
-                        .getArray(STORE_SELECTED_TYPES_ID + pageName);
-                if (selectedTypes != null) {
-                    if (selectedTypes.length > 0)
-                        typesToExportField.setText(selectedTypes[0]);
-                    for (int i = 0; i < selectedTypes.length; i++)
-                        typesToExportField.add(selectedTypes[i]);
-                }
-            }
-        }
-    }
-
-    /**
-     * Persists resource specification control setting that are to be restored
-     * in the next instance of this page. Subclasses wishing to persist additional
-     * setting for their controls should extend hook method 
-     * <code>internalSaveWidgetValues</code>.
-     */
-    protected void saveWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String pageName = getName();
-
-            // update specific types to export history
-            String[] selectedTypesNames = settings
-                    .getArray(STORE_SELECTED_TYPES_ID + pageName);
-            if (selectedTypesNames == null)
-                selectedTypesNames = new String[0];
-
-            if (exportSpecifiedTypesRadio.getSelection()) {
-                selectedTypesNames = addToHistory(selectedTypesNames,
-                        typesToExportField.getText());
-            }
-
-            settings
-                    .put(STORE_SELECTED_TYPES_ID + pageName, selectedTypesNames);
-
-            // radio buttons
-            settings.put(STORE_EXPORT_ALL_RESOURCES_ID + pageName,
-                    exportAllTypesRadio.getSelection());
-        }
-
-        // allow subclasses to save values
-        internalSaveWidgetValues();
-
-    }
-
-    /**
-     * Records a container's recursive file descendents which have an extension
-     * that has been specified for export by the user.
-     *
-     * @param resource the parent container
-     */
-    protected void selectAppropriateFolderContents(IContainer resource) {
-        try {
-            IResource[] members = resource.members();
-
-            for (int i = 0; i < members.length; i++) {
-                if (members[i].getType() == IResource.FILE) {
-                    IFile currentFile = (IFile) members[i];
-                    if (hasExportableExtension(currentFile.getFullPath()
-                            .toString()))
-                        selectedResources.add(currentFile);
-                }
-                if (members[i].getType() == IResource.FOLDER) {
-                    selectAppropriateFolderContents((IContainer) members[i]);
-                }
-            }
-        } catch (CoreException e) {
-            //don't show children if there are errors -- should at least log this
-        }
-    }
-
-    /**
-     * Records a resource's recursive descendents which are appropriate
-     * for export based upon this page's current controls contents.
-     *
-     * @param resource the parent resource
-     */
-    protected void selectAppropriateResources(Object resource) {
-        if (selectedResources == null) {
-
-            if (exportSpecifiedTypesRadio.getSelection())
-                selectedTypes = getTypesToExport();
-            else
-                selectedTypes = null; // sentinel for select all extensions
-
-            selectedResources = new ArrayList();
-            if (resource instanceof IWorkspaceRoot) {
-                IProject[] projects = ((IWorkspaceRoot) resource).getProjects();
-                for (int i = 0; i < projects.length; i++) {
-                    selectAppropriateFolderContents(projects[i]);
-                }
-            } else if (resource instanceof IFile) {
-                IFile file = (IFile) resource;
-                if (hasExportableExtension(file.getFullPath().toString()))
-                    selectedResources.add(file);
-            } else {
-                selectAppropriateFolderContents((IContainer) resource);
-            }
-        }
-    }
-
-    /**
-     * Sets the selection value of this page's "Export all types" radio, or stores
-     * it for future use if this visual component does not exist yet.
-     *
-     * @param value new selection value
-     */
-    public void setExportAllTypesValue(boolean value) {
-        if (exportAllTypesRadio == null) {
-            initialExportAllTypesValue = value;
-            exportAllResourcesPreSet = true;
-        } else {
-            exportAllTypesRadio.setSelection(value);
-            exportSpecifiedTypesRadio.setSelection(!value);
-        }
-    }
-
-    /**
-     * Sets the value of this page's source resource field, or stores
-     * it for future use if this visual component does not exist yet.
-     *
-     * @param value new value
-     */
-    public void setResourceFieldValue(String value) {
-        if (resourceNameField == null)
-            initialExportFieldValue = value;
-        else
-            resourceNameField.setText(value);
-    }
-
-    /**
-     * Set the resource whos name we will display.
-     * @param resource
-     */
-    protected void setResourceToDisplay(IResource resource) {
-        setResourceFieldValue(resource.getFullPath().makeRelative().toString());
-    }
-
-    /**
-     * Sets the value of this page's "Types to export" field, or stores
-     * it for future use if this visual component does not exist yet.
-     *
-     * @param value new value
-     */
-    public void setTypesFieldValue(String value) {
-        if (typesToExportField == null)
-            initialTypesFieldValue = value;
-        else
-            typesToExportField.setText(value);
-    }
-
-    /**
-     * Sets the value of this page's "Types to export" field based upon the
-     * collection of extensions.
-     *
-     * @param typeStrings the collection of extensions to populate the "Types to
-     *   export" field with (element type: <code>String</code>)
-     */
-    protected void setTypesToExport(List typeStrings) {
-        StringBuffer result = new StringBuffer();
-        Iterator typesEnum = typeStrings.iterator();
-
-        while (typesEnum.hasNext()) {
-            result.append(typesEnum.next());
-            result.append(TYPE_DELIMITER);
-            result.append(" ");//$NON-NLS-1$
-        }
-
-        typesToExportField.setText(result.toString());
-    }
-
-    /**
-     * Populates the resource name field based upon the currently selected resources.
-     */
-    protected void setupBasedOnInitialSelections() {
-        if (initialExportFieldValue != null) {
-            // a source resource has been programatically specified, which overrides
-            // the current workbench resource selection
-            IResource specifiedSourceResource = getSourceResource();
-            if (specifiedSourceResource == null)
-                currentResourceSelection = new StructuredSelection();
-            else
-                currentResourceSelection = new StructuredSelection(
-                        specifiedSourceResource);
-        }
-
-        if (currentResourceSelection.isEmpty())
-            return; // no setup needed
-
-        List selections = new ArrayList();
-        Iterator it = currentResourceSelection.iterator();
-        while (it.hasNext()) {
-            IResource currentResource = (IResource) it.next();
-            // do not add inaccessible elements
-            if (currentResource.isAccessible())
-                selections.add(currentResource);
-        }
-
-        if (selections.isEmpty())
-            return; // setup not needed anymore
-
-        int selectedResourceCount = selections.size();
-        if (selectedResourceCount == 1) {
-            IResource resource = (IResource) selections.get(0);
-            setResourceToDisplay(resource);
-        } else {
-            selectedResources = selections;
-            exportAllTypesRadio.setSelection(true);
-            exportSpecifiedTypesRadio.setSelection(false);
-            resourceNameField.setText(CURRENT_SELECTION);
-            exportCurrentSelection = true;
-            displayResourcesSelectedCount(selectedResourceCount);
-        }
-    }
-
-    /**
-     * Updates the enablements of this page's controls. Subclasses may extend.
-     */
-    protected void updateWidgetEnablements() {
-        if (exportCurrentSelection)
-            resourceDetailsButton.setEnabled(true);
-        else {
-            IResource resource = getSourceResource();
-            resourceDetailsButton.setEnabled(resource != null
-                    && resource.isAccessible());
-        }
-
-        exportSpecifiedTypesRadio.setEnabled(!exportCurrentSelection);
-        typesToExportField.setEnabled(exportSpecifiedTypesRadio.getSelection());
-        typesToExportEditButton.setEnabled(exportSpecifiedTypesRadio
-                .getSelection());
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDataTransferPage.
-     */
-    protected final boolean validateSourceGroup() {
-        if (exportCurrentSelection) // ie.- no more checking needed
-            return true;
-
-        String sourceString = resourceNameField.getText();
-        if (sourceString.equals("")) {//$NON-NLS-1$
-            setErrorMessage(null);
-            return false;
-        }
-
-        IResource resource = getSourceResource();
-
-        if (resource == null) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardExportPage.mustExistMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        if (!resource.isAccessible()) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardExportPage.mustBeAccessibleMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
deleted file mode 100644
index 7bf1930..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardExportResourcesPage.java
+++ /dev/null
@@ -1,608 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-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.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.dialogs.ResourceTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Abstract superclass for a typical export wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createDestinationGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- *   <li><code>internalSaveWidgetValues</code></li>
- *   <li><code>updateWidgetEnablements</code></li>
- * </ul>
- * </p>
- */
-public abstract class WizardExportResourcesPage extends WizardDataTransferPage {
-    private IStructuredSelection initialResourceSelection;
-
-    private List selectedTypes = new ArrayList();
-
-    // widgets
-    private ResourceTreeAndListGroup resourceGroup;
-
-    private final static String SELECT_TYPES_TITLE = IDEWorkbenchMessages
-            .getString("WizardTransferPage.selectTypes"); //$NON-NLS-1$
-
-    private final static String SELECT_ALL_TITLE = IDEWorkbenchMessages
-            .getString("WizardTransferPage.selectAll"); //$NON-NLS-1$
-
-    private final static String DESELECT_ALL_TITLE = IDEWorkbenchMessages
-            .getString("WizardTransferPage.deselectAll"); //$NON-NLS-1$
-
-    /**
-     * Creates an export wizard page. If the current resource selection 
-     * is not empty then it will be used as the initial collection of resources
-     * selected for export.
-     *
-     * @param pageName the name of the page
-     * @param selection the current resource selection
-     */
-    protected WizardExportResourcesPage(String pageName,
-            IStructuredSelection selection) {
-        super(pageName);
-        this.initialResourceSelection = selection;
-    }
-
-    /**
-     * The <code>addToHierarchyToCheckedStore</code> implementation of this 
-     * <code>WizardDataTransferPage</code> method returns <code>false</code>. 
-     * Subclasses may override this method.
-     */
-    protected boolean allowNewContainerName() {
-        return false;
-    }
-
-    /**
-     * Creates a new button with the given id.
-     * <p>
-     * The <code>Dialog</code> implementation of this framework method
-     * creates a standard push button, registers for selection events
-     * including button presses and registers
-     * default buttons with its shell.
-     * The button id is stored as the buttons client data.
-     * Note that the parent's layout is assumed to be a GridLayout and 
-     * the number of columns in this layout is incremented.
-     * Subclasses may override.
-     * </p>
-     *
-     * @param parent the parent composite
-     * @param id the id of the button (see
-     *  <code>IDialogConstants.*_ID</code> constants 
-     *  for standard dialog button ids)
-     * @param label the label from the button
-     * @param defaultButton <code>true</code> if the button is to be the
-     *   default button, and <code>false</code> otherwise
-     */
-    protected Button createButton(Composite parent, int id, String label,
-            boolean defaultButton) {
-        // increment the number of columns in the button bar
-        ((GridLayout) parent.getLayout()).numColumns++;
-
-        Button button = new Button(parent, SWT.PUSH);
-
-        GridData buttonData = new GridData(GridData.FILL_HORIZONTAL);
-        button.setLayoutData(buttonData);
-
-        button.setData(new Integer(id));
-        button.setText(label);
-        button.setFont(parent.getFont());
-
-        if (defaultButton) {
-            Shell shell = parent.getShell();
-            if (shell != null) {
-                shell.setDefaultButton(button);
-            }
-            button.setFocus();
-        }
-        button.setFont(parent.getFont());
-        setButtonLayoutData(button);
-        return button;
-    }
-
-    /**
-     * Creates the buttons for selecting specific types or selecting all or none of the
-     * elements.
-     *
-     * @param parent the parent control
-     */
-    protected final void createButtonsGroup(Composite parent) {
-
-        Font font = parent.getFont();
-
-        // top level group
-        Composite buttonComposite = new Composite(parent, SWT.NONE);
-        buttonComposite.setFont(parent.getFont());
-
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        layout.makeColumnsEqualWidth = true;
-        buttonComposite.setLayout(layout);
-        buttonComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-
-        // types edit button
-        Button selectTypesButton = createButton(buttonComposite,
-                IDialogConstants.SELECT_TYPES_ID, SELECT_TYPES_TITLE, false);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                handleTypesEditButtonPressed();
-            }
-        };
-        selectTypesButton.addSelectionListener(listener);
-        selectTypesButton.setFont(font);
-        setButtonLayoutData(selectTypesButton);
-
-        Button selectButton = createButton(buttonComposite,
-                IDialogConstants.SELECT_ALL_ID, SELECT_ALL_TITLE, false);
-
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                resourceGroup.setAllSelections(true);
-            }
-        };
-        selectButton.addSelectionListener(listener);
-        selectButton.setFont(font);
-        setButtonLayoutData(selectButton);
-
-        Button deselectButton = createButton(buttonComposite,
-                IDialogConstants.DESELECT_ALL_ID, DESELECT_ALL_TITLE, false);
-
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                resourceGroup.setAllSelections(false);
-            }
-        };
-        deselectButton.addSelectionListener(listener);
-        deselectButton.setFont(font);
-        setButtonLayoutData(deselectButton);
-
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-
-        initializeDialogUnits(parent);
-
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-        composite.setFont(parent.getFont());
-
-        createResourcesGroup(composite);
-        createButtonsGroup(composite);
-
-        createDestinationGroup(composite);
-
-        createOptionsGroup(composite);
-
-        restoreResourceSpecificationWidgetValues(); // ie.- local
-        restoreWidgetValues(); // ie.- subclass hook
-        if (initialResourceSelection != null)
-            setupBasedOnInitialSelections();
-
-        updateWidgetEnablements();
-        setPageComplete(determinePageCompletion());
-
-        setControl(composite);
-    }
-
-    /**
-     * Creates the export destination specification visual components.
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @param parent the parent control
-     */
-    protected abstract void createDestinationGroup(Composite parent);
-
-    /**
-     * Creates the checkbox tree and list for selecting resources.
-     *
-     * @param parent the parent control
-     */
-    protected final void createResourcesGroup(Composite parent) {
-
-        //create the input element, which has the root resource
-        //as its only child
-        List input = new ArrayList();
-        IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
-                .getProjects();
-        for (int i = 0; i < projects.length; i++) {
-            if (projects[i].isOpen())
-                input.add(projects[i]);
-        }
-
-        this.resourceGroup = new ResourceTreeAndListGroup(parent, input,
-                getResourceProvider(IResource.FOLDER | IResource.PROJECT),
-                WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(),
-                getResourceProvider(IResource.FILE), WorkbenchLabelProvider
-                        .getDecoratingWorkbenchLabelProvider(), SWT.NONE,
-                DialogUtil.inRegularFontMode(parent));
-
-    }
-
-    /*
-     * @see WizardDataTransferPage.getErrorDialogTitle()
-     */
-    protected String getErrorDialogTitle() {
-        return IDEWorkbenchMessages
-                .getString("WizardExportPage.errorDialogTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Obsolete method. This was implemented to handle the case where ensureLocal()
-     * needed to be called but it doesn't use it any longer.
-     *
-     * @deprecated Only retained for backwards compatibility.
-     */
-    protected boolean ensureResourcesLocal(List resources) {
-        return true;
-    }
-
-    /**
-     * Returns a new subcollection containing only those resources which are not 
-     * local.
-     *
-     * @param originalList the original list of resources (element type: 
-     *   <code>IResource</code>)
-     * @return the new list of non-local resources (element type: 
-     *   <code>IResource</code>)
-     */
-    protected List extractNonLocalResources(List originalList) {
-        Vector result = new Vector(originalList.size());
-        Iterator resourcesEnum = originalList.iterator();
-
-        while (resourcesEnum.hasNext()) {
-            IResource currentResource = (IResource) resourcesEnum.next();
-            if (!currentResource.isLocal(IResource.DEPTH_ZERO))
-                result.addElement(currentResource);
-        }
-
-        return result;
-    }
-
-    /**
-     * Returns a content provider for <code>IResource</code>s that returns 
-     * only children of the given resource type.
-     */
-    private ITreeContentProvider getResourceProvider(final int resourceType) {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof IContainer) {
-                    IResource[] members = null;
-                    try {
-                        members = ((IContainer) o).members();
-                    } catch (CoreException e) {
-                        //just return an empty set of children
-                        return new Object[0];
-                    }
-
-                    //filter out the desired resource types
-                    ArrayList results = new ArrayList();
-                    for (int i = 0; i < members.length; i++) {
-                        //And the test bits with the resource types to see if they are what we want
-                        if ((members[i].getType() & resourceType) > 0) {
-                            results.add(members[i]);
-                        }
-                    }
-                    return results.toArray();
-                } else {
-                    //input element case
-                    if (o instanceof ArrayList) {
-                        return ((ArrayList) o).toArray();
-                    } else {
-                        return new Object[0];
-                    }
-                }
-            }
-        };
-    }
-
-    /**
-     * Returns this page's collection of currently-specified resources to be 
-     * exported. This is the primary resource selection facility accessor for 
-     * subclasses.
-     *
-     * @return a collection of resources currently selected 
-     * for export (element type: <code>IResource</code>)
-     */
-    protected List getSelectedResources() {
-        Iterator resourcesToExportIterator = this
-                .getSelectedResourcesIterator();
-        List resourcesToExport = new ArrayList();
-        while (resourcesToExportIterator.hasNext())
-            resourcesToExport.add(resourcesToExportIterator.next());
-        return resourcesToExport;
-    }
-
-    /**
-     * Returns this page's collection of currently-specified resources to be 
-     * exported. This is the primary resource selection facility accessor for 
-     * subclasses.
-     *
-     * @return an iterator over the collection of resources currently selected 
-     * for export (element type: <code>IResource</code>). This will include
-     * white checked folders and individually checked files.
-     */
-    protected Iterator getSelectedResourcesIterator() {
-        return this.resourceGroup.getAllCheckedListItems().iterator();
-    }
-
-    /**
-     * Returns the resource extensions currently specified to be exported.
-     *
-     * @return the resource extensions currently specified to be exported (element 
-     *   type: <code>String</code>)
-     */
-    protected List getTypesToExport() {
-
-        return selectedTypes;
-    }
-
-    /**
-     * Returns this page's collection of currently-specified resources to be 
-     * exported. This returns both folders and files - for just the files use
-     * getSelectedResources.
-     *
-     * @return a collection of resources currently selected 
-     * for export (element type: <code>IResource</code>)
-     */
-    protected List getWhiteCheckedResources() {
-
-        return this.resourceGroup.getAllWhiteCheckedItems();
-    }
-
-    /**
-     * Queries the user for the types of resources to be exported and selects
-     * them in the checkbox group.
-     */
-    protected void handleTypesEditButtonPressed() {
-        Object[] newSelectedTypes = queryResourceTypesToExport();
-
-        if (newSelectedTypes != null) { // ie.- did not press Cancel
-            this.selectedTypes = new ArrayList(newSelectedTypes.length);
-            for (int i = 0; i < newSelectedTypes.length; i++) {
-                this.selectedTypes.add(newSelectedTypes[i]);
-            }
-            setupSelectionsBasedOnSelectedTypes();
-        }
-
-    }
-
-    /**
-     * Returns whether the extension of the given resource name is an extension that
-     * has been specified for export by the user.
-     *
-     * @param resourceName the resource name
-     * @return <code>true</code> if the resource name is suitable for export based 
-     *   upon its extension
-     */
-    protected boolean hasExportableExtension(String resourceName) {
-        if (selectedTypes == null) // ie.- all extensions are acceptable
-            return true;
-
-        int separatorIndex = resourceName.lastIndexOf("."); //$NON-NLS-1$
-        if (separatorIndex == -1)
-            return false;
-
-        String extension = resourceName.substring(separatorIndex + 1);
-
-        Iterator it = selectedTypes.iterator();
-        while (it.hasNext()) {
-            if (extension.equalsIgnoreCase((String) it.next()))
-                return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Persists additional setting that are to be restored in the next instance of
-     * this page.
-     * <p> 
-     * The <code>WizardImportPage</code> implementation of this method does
-     * nothing. Subclasses may extend to persist additional settings.
-     * </p>
-     */
-    protected void internalSaveWidgetValues() {
-    }
-
-    /**
-     * Queries the user for the resource types that are to be exported and returns
-     * these types as an array.
-     *
-     * @return the resource types selected for export (element type: 
-     *   <code>String</code>), or <code>null</code> if the user canceled the 
-     *   selection
-     */
-    protected Object[] queryResourceTypesToExport() {
-
-        TypeFilteringDialog dialog = new TypeFilteringDialog(getContainer()
-                .getShell(), getTypesToExport());
-
-        dialog.open();
-
-        return dialog.getResult();
-    }
-
-    /**
-     * Restores resource specification control settings that were persisted
-     * in the previous instance of this page. Subclasses wishing to restore
-     * persisted values for their controls may extend.
-     */
-    protected void restoreResourceSpecificationWidgetValues() {
-    }
-
-    /**
-     * Persists resource specification control setting that are to be restored
-     * in the next instance of this page. Subclasses wishing to persist additional
-     * setting for their controls should extend hook method 
-     * <code>internalSaveWidgetValues</code>.
-     */
-    protected void saveWidgetValues() {
-
-        // allow subclasses to save values
-        internalSaveWidgetValues();
-
-    }
-
-    /**
-     * Set the initial selections in the resource group.
-     */
-    protected void setupBasedOnInitialSelections() {
-
-        Iterator it = this.initialResourceSelection.iterator();
-        while (it.hasNext()) {
-            IResource currentResource = (IResource) it.next();
-            if (currentResource.getType() == IResource.FILE)
-                this.resourceGroup.initialCheckListItem(currentResource);
-            else
-                this.resourceGroup.initialCheckTreeItem(currentResource);
-        }
-    }
-
-    /**
-     * Update the tree to only select those elements that match the selected types
-     */
-    private void setupSelectionsBasedOnSelectedTypes() {
-
-        Runnable runnable = new Runnable() {
-            public void run() {
-                Map selectionMap = new Hashtable();
-                //Only get the white selected ones
-                Iterator resourceIterator = resourceGroup
-                        .getAllWhiteCheckedItems().iterator();
-                while (resourceIterator.hasNext()) {
-                    //handle the files here - white checked containers require recursion
-                    IResource resource = (IResource) resourceIterator.next();
-                    if (resource.getType() == IResource.FILE) {
-                        if (hasExportableExtension(resource.getName())) {
-                            List resourceList = new ArrayList();
-                            IContainer parent = resource.getParent();
-                            if (selectionMap.containsKey(parent))
-                                resourceList = (List) selectionMap.get(parent);
-                            resourceList.add(resource);
-                            selectionMap.put(parent, resourceList);
-                        }
-                    } else
-                        setupSelectionsBasedOnSelectedTypes(selectionMap,
-                                (IContainer) resource);
-                }
-                resourceGroup.updateSelections(selectionMap);
-            }
-        };
-
-        BusyIndicator.showWhile(getShell().getDisplay(), runnable);
-
-    }
-
-    /**
-     * Set up the selection values for the resources and put them in the selectionMap.
-     * If a resource is a file see if it matches one of the selected extensions. If not
-     * then check the children.
-     * @return a boolean if any children are selected
-     */
-    private void setupSelectionsBasedOnSelectedTypes(Map selectionMap,
-            IContainer parent) {
-
-        List selections = new ArrayList();
-        IResource[] resources;
-        boolean hasFiles = false;
-
-        try {
-            resources = parent.members();
-        } catch (CoreException exception) {
-            //Just return if we can't get any info
-            return;
-        }
-
-        for (int i = 0; i < resources.length; i++) {
-            IResource resource = resources[i];
-            if (resource.getType() == IResource.FILE) {
-                if (hasExportableExtension(resource.getName())) {
-                    hasFiles = true;
-                    selections.add(resource);
-                }
-            } else {
-                setupSelectionsBasedOnSelectedTypes(selectionMap,
-                        (IContainer) resource);
-            }
-        }
-
-        //Only add it to the list if there are files in this folder
-        if (hasFiles)
-            selectionMap.put(parent, selections);
-    }
-
-    /**
-     * Save any editors that the user wants to save before export.
-     * @return boolean if the save was successful.
-     */
-    protected boolean saveDirtyEditors() {
-        return IDEWorkbenchPlugin.getDefault().getWorkbench().saveAllEditors(
-                true);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java
deleted file mode 100644
index 4e61a4e..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardImportPage.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * The abstract superclass for a typical import wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createSourceGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- * @deprecated use WizardResourceImportPage
- */
-public abstract class WizardImportPage extends WizardDataTransferPage {
-    private IResource currentResourceSelection;
-
-    // initial value stores
-    private String initialContainerFieldValue;
-
-    // widgets
-    private Text containerNameField;
-
-    private Button containerBrowseButton;
-
-    /**
-     * Creates an import wizard page. If the initial resource selection 
-     * contains exactly one container resource then it will be used as the default
-     * import destination.
-     *
-     * @param name the name of the page
-     * @param selection the current resource selection
-     */
-    protected WizardImportPage(String name, IStructuredSelection selection) {
-        super(name);
-
-        if (selection.size() == 1)
-            currentResourceSelection = (IResource) selection.getFirstElement();
-        else
-            currentResourceSelection = null;
-
-        if (currentResourceSelection != null) {
-            if (currentResourceSelection.getType() == IResource.FILE)
-                currentResourceSelection = currentResourceSelection.getParent();
-
-            if (!currentResourceSelection.isAccessible())
-                currentResourceSelection = null;
-        }
-
-    }
-
-    /**
-     * The <code>WizardImportPage</code> implementation of this 
-     * <code>WizardDataTransferPage</code> method returns <code>true</code>. 
-     * Subclasses may override this method.
-     */
-    protected boolean allowNewContainerName() {
-        return true;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-        composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-        createSourceGroup(composite);
-
-        createSpacer(composite);
-
-        createBoldLabel(composite, IDEWorkbenchMessages
-                .getString("WizardImportPage.destinationLabel")); //$NON-NLS-1$
-        createDestinationGroup(composite);
-
-        createSpacer(composite);
-
-        createBoldLabel(composite, IDEWorkbenchMessages
-                .getString("WizardImportPage.options")); //$NON-NLS-1$
-        createOptionsGroup(composite);
-
-        restoreWidgetValues();
-        updateWidgetEnablements();
-        setPageComplete(determinePageCompletion());
-
-        setControl(composite);
-    }
-
-    /**
-     * Creates the import destination specification controls.
-     *
-     * @param parent the parent control
-     */
-    protected final void createDestinationGroup(Composite parent) {
-        // container specification group
-        Composite containerGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        containerGroup.setLayout(layout);
-        containerGroup.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-        // container label
-        Label resourcesLabel = new Label(containerGroup, SWT.NONE);
-        resourcesLabel.setText(IDEWorkbenchMessages
-                .getString("WizardImportPage.folder")); //$NON-NLS-1$
-
-        // container name entry field
-        containerNameField = new Text(containerGroup, SWT.SINGLE | SWT.BORDER);
-        containerNameField.addListener(SWT.Modify, this);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        containerNameField.setLayoutData(data);
-
-        // container browse button
-        containerBrowseButton = new Button(containerGroup, SWT.PUSH);
-        containerBrowseButton.setText(IDEWorkbenchMessages
-                .getString("WizardImportPage.browseLabel")); //$NON-NLS-1$
-        containerBrowseButton.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL));
-        containerBrowseButton.addListener(SWT.Selection, this);
-
-        initialPopulateContainerField();
-    }
-
-    /**
-     * Creates the import source specification controls.
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @param parent the parent control
-     */
-    protected abstract void createSourceGroup(Composite parent);
-
-    /**
-     * Display an error dialog with the specified message.
-     *
-     * @param message the error message
-     */
-    protected void displayErrorDialog(String message) {
-        MessageDialog.openError(getContainer().getShell(), IDEWorkbenchMessages
-                .getString("WizardImportPage.errorDialogTitle"), message); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the path of the container resource specified in the container
-     * name entry field, or <code>null</code> if no name has been typed in.
-     * <p>
-     * The container specified by the full path might not exist and would need to
-     * be created.
-     * </p>
-     *
-     * @return the full path of the container resource specified in
-     *   the container name entry field, or <code>null</code>
-     */
-    protected IPath getContainerFullPath() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-
-        //make the path absolute to allow for optional leading slash
-        IPath testPath = getResourcePath();
-
-        IStatus result = workspace.validatePath(testPath.toString(),
-                IResource.PROJECT | IResource.FOLDER);
-        if (result.isOK()) {
-            return testPath;
-        }
-
-        return null;
-    }
-
-    /**
-     * Return the path for the resource field.
-     * @return org.eclipse.core.runtime.IPath
-     */
-    protected IPath getResourcePath() {
-        return getPathFromText(this.containerNameField);
-    }
-
-    /**
-     * Returns the container resource specified in the container name entry field,
-     * or <code>null</code> if such a container does not exist in the workbench.
-     *
-     * @return the container resource specified in the container name entry field,
-     *   or <code>null</code>
-     */
-    protected IContainer getSpecifiedContainer() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        IPath path = getContainerFullPath();
-        if (workspace.getRoot().exists(path))
-            return (IContainer) workspace.getRoot().findMember(path);
-
-        return null;
-    }
-
-    /**
-     * Opens a container selection dialog and displays the user's subsequent
-     * container resource selection in this page's container name field.
-     */
-    protected void handleContainerBrowseButtonPressed() {
-        // see if the user wishes to modify this container selection
-        IPath containerPath = queryForContainer(getSpecifiedContainer(),
-                IDEWorkbenchMessages
-                        .getString("WizardImportPage.selectFolderLabel")); //$NON-NLS-1$
-
-        // if a container was selected then put its name in the container name field
-        if (containerPath != null) // null means user cancelled
-            containerNameField.setText(containerPath.makeRelative().toString());
-    }
-
-    /**
-     * The <code>WizardImportPage</code> implementation of this 
-     * <code>Listener</code> method handles all events and enablements for controls
-     * on this page. Subclasses may extend.
-     */
-    public void handleEvent(Event event) {
-        Widget source = event.widget;
-
-        if (source == containerBrowseButton)
-            handleContainerBrowseButtonPressed();
-
-        setPageComplete(determinePageCompletion());
-        updateWidgetEnablements();
-    }
-
-    /**
-     * Sets the initial contents of the container name field.
-     */
-    protected final void initialPopulateContainerField() {
-        if (initialContainerFieldValue != null)
-            containerNameField.setText(initialContainerFieldValue);
-        else if (currentResourceSelection != null)
-            containerNameField.setText(currentResourceSelection.getFullPath()
-                    .toString());
-    }
-
-    /**
-     * Sets the value of this page's container resource field, or stores
-     * it for future use if this page's controls do not exist yet.
-     *
-     * @param value new value
-     */
-    public void setContainerFieldValue(String value) {
-        if (containerNameField == null)
-            initialContainerFieldValue = value;
-        else
-            containerNameField.setText(value);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDataTransferPage.
-     */
-    protected final boolean validateDestinationGroup() {
-        if (getContainerFullPath() == null)
-            return false;
-
-        // If the container exist, validate it
-        IContainer container = getSpecifiedContainer();
-        if (container != null) {
-            if (!container.isAccessible()) {
-                setErrorMessage(IDEWorkbenchMessages
-                        .getString("WizardImportPage.folderMustExist")); //$NON-NLS-1$
-                return false;
-            }
-        }
-
-        return true;
-
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
deleted file mode 100644
index 7c88ee4..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFileCreationPage.java
+++ /dev/null
@@ -1,581 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-
-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.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup;
-
-/**
- * Standard main page for a wizard that creates a file resource.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>getInitialContents</code></li>
- *   <li><code>getNewFileLabel</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- */
-public class WizardNewFileCreationPage extends WizardPage implements Listener {
-    private static final int SIZING_CONTAINER_GROUP_HEIGHT = 250;
-
-    // the current resource selection
-    private IStructuredSelection currentSelection;
-
-    // cache of newly-created file
-    private IFile newFile;
-
-    private IPath linkTargetPath;
-
-    // widgets
-    private ResourceAndContainerGroup resourceGroup;
-
-    private Button advancedButton;
-
-    private CreateLinkedResourceGroup linkedResourceGroup;
-
-    private Composite linkedResourceParent;
-
-    private Composite linkedResourceComposite;
-
-    // initial value stores
-    private String initialFileName;
-
-    private IPath initialContainerFullPath;
-
-    /**
-     * Height of the "advanced" linked resource group. Set when the
-     * advanced group is first made visible. 
-     */
-    private int linkedResourceGroupHeight = -1;
-
-    /**
-     * First time the advanced group is validated.
-     */
-    private boolean firstLinkCheck = true;
-
-    /**
-     * Creates a new file creation wizard page. If the initial resource selection 
-     * contains exactly one container resource then it will be used as the default
-     * container resource.
-     *
-     * @param pageName the name of the page
-     * @param selection the current resource selection
-     */
-    public WizardNewFileCreationPage(String pageName,
-            IStructuredSelection selection) {
-        super(pageName);
-        setPageComplete(false);
-        this.currentSelection = selection;
-    }
-
-    /**
-     * Creates the widget for advanced options.
-     *  
-     * @param parent the parent composite
-     */
-    protected void createAdvancedControls(Composite parent) {
-        Preferences preferences = ResourcesPlugin.getPlugin()
-                .getPluginPreferences();
-
-        if (preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING) == false) {
-            linkedResourceParent = new Composite(parent, SWT.NONE);
-            linkedResourceParent.setFont(parent.getFont());
-            linkedResourceParent.setLayoutData(new GridData(
-                    GridData.FILL_HORIZONTAL));
-            GridLayout layout = new GridLayout();
-            layout.marginHeight = 0;
-            layout.marginWidth = 0;
-            linkedResourceParent.setLayout(layout);
-
-            advancedButton = new Button(linkedResourceParent, SWT.PUSH);
-            advancedButton.setFont(linkedResourceParent.getFont());
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("showAdvanced")); //$NON-NLS-1$
-            GridData data = setButtonLayoutData(advancedButton);
-            data.horizontalAlignment = GridData.BEGINNING;
-            advancedButton.setLayoutData(data);
-            advancedButton.addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    handleAdvancedButtonSelect();
-                }
-            });
-        }
-        linkedResourceGroup = new CreateLinkedResourceGroup(IResource.FILE,
-                new Listener() {
-                    public void handleEvent(Event e) {
-                        setPageComplete(validatePage());
-                        firstLinkCheck = false;
-                    }
-                });
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        initializeDialogUnits(parent);
-        // top level group
-        Composite topLevel = new Composite(parent, SWT.NONE);
-        topLevel.setLayout(new GridLayout());
-        topLevel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-        topLevel.setFont(parent.getFont());
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(topLevel,
-				IIDEHelpContextIds.NEW_FILE_WIZARD_PAGE);
-
-        // resource and container group
-        resourceGroup = new ResourceAndContainerGroup(
-                topLevel,
-                this,
-                getNewFileLabel(),
-                IDEWorkbenchMessages
-                        .getString("WizardNewFileCreationPage.file"), false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-1$
-        resourceGroup.setAllowExistingResources(false);
-        initialPopulateContainerNameField();
-        createAdvancedControls(topLevel);
-        if (initialFileName != null)
-            resourceGroup.setResource(initialFileName);
-        validatePage();
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(topLevel);
-    }
-
-    /**
-     * Creates a file resource given the file handle and contents.
-     *
-     * @param fileHandle the file handle to create a file resource with
-     * @param contents the initial contents of the new file resource, or
-     *   <code>null</code> if none (equivalent to an empty stream)
-     * @param monitor the progress monitor to show visual progress with
-     * @exception CoreException if the operation fails
-     * @exception OperationCanceledException if the operation is canceled
-     */
-    protected void createFile(IFile fileHandle, InputStream contents,
-            IProgressMonitor monitor) throws CoreException {
-        if (contents == null)
-            contents = new ByteArrayInputStream(new byte[0]);
-
-        try {
-            // Create a new file resource in the workspace
-            if (linkTargetPath != null)
-                fileHandle.createLink(linkTargetPath,
-                        IResource.ALLOW_MISSING_LOCAL, monitor);
-            else
-                fileHandle.create(contents, false, monitor);
-        } catch (CoreException e) {
-            // If the file already existed locally, just refresh to get contents
-            if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED)
-                fileHandle.refreshLocal(IResource.DEPTH_ZERO, null);
-            else
-                throw e;
-        }
-
-        if (monitor.isCanceled())
-            throw new OperationCanceledException();
-    }
-
-    /**
-     * Creates a file resource handle for the file with the given workspace path.
-     * This method does not create the file resource; this is the responsibility
-     * of <code>createFile</code>.
-     *
-     * @param filePath the path of the file resource to create a handle for
-     * @return the new file resource handle
-     * @see #createFile
-     */
-    protected IFile createFileHandle(IPath filePath) {
-        return IDEWorkbenchPlugin.getPluginWorkspace().getRoot().getFile(
-                filePath);
-    }
-
-    /**
-     * Creates the link target path if a link target has been specified. 
-     */
-    protected void createLinkTarget() {
-        String linkTarget = linkedResourceGroup.getLinkTarget();
-        if (linkTarget != null) {
-            linkTargetPath = new Path(linkTarget);
-        } else {
-            linkTargetPath = null;
-        }
-    }
-
-    /**
-     * Creates a new file resource in the selected container and with the selected
-     * name. Creates any missing resource containers along the path; does nothing if
-     * the container resources already exist.
-     * <p>
-     * In normal usage, this method is invoked after the user has pressed Finish on
-     * the wizard; the enablement of the Finish button implies that all controls on 
-     * on this page currently contain valid values.
-     * </p>
-     * <p>
-     * Note that this page caches the new file once it has been successfully
-     * created; subsequent invocations of this method will answer the same
-     * file resource without attempting to create it again.
-     * </p>
-     * <p>
-     * This method should be called within a workspace modify operation since
-     * it creates resources.
-     * </p>
-     *
-     * @return the created file resource, or <code>null</code> if the file
-     *    was not created
-     */
-    public IFile createNewFile() {
-        if (newFile != null)
-            return newFile;
-
-        // create the new file and cache it if successful
-
-        final IPath containerPath = resourceGroup.getContainerFullPath();
-        IPath newFilePath = containerPath.append(resourceGroup.getResource());
-        final IFile newFileHandle = createFileHandle(newFilePath);
-        final InputStream initialContents = getInitialContents();
-
-        createLinkTarget();
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation(createRule(newFileHandle)) {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                try {
-                    monitor
-                            .beginTask(
-                                    IDEWorkbenchMessages
-                                            .getString("WizardNewFileCreationPage.progress"), 2000); //$NON-NLS-1$
-                    ContainerGenerator generator = new ContainerGenerator(
-                            containerPath);
-                    generator.generateContainer(new SubProgressMonitor(monitor,
-                            1000));
-                    createFile(newFileHandle, initialContents,
-                            new SubProgressMonitor(monitor, 1000));
-                } finally {
-                    monitor.done();
-                }
-            }
-        };
-
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            if (e.getTargetException() instanceof CoreException) {
-                ErrorDialog
-                        .openError(
-                                getContainer().getShell(), // Was Utilities.getFocusShell()
-                                IDEWorkbenchMessages
-                                        .getString("WizardNewFileCreationPage.errorTitle"), //$NON-NLS-1$
-                                null, // no special message
-                                ((CoreException) e.getTargetException())
-                                        .getStatus());
-            } else {
-                // CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-                IDEWorkbenchPlugin.log(getClass(),
-                        "createNewFile()", e.getTargetException()); //$NON-NLS-1$
-                MessageDialog
-                        .openError(
-                                getContainer().getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("WizardNewFileCreationPage.internalErrorTitle"), IDEWorkbenchMessages.format("WizardNewFileCreationPage.internalErrorMessage", new Object[] { e.getTargetException().getMessage() })); //$NON-NLS-2$ //$NON-NLS-1$
-            }
-            return null;
-        }
-
-        newFile = newFileHandle;
-
-        return newFile;
-    }
-
-    /**
-     * Returns the scheduling rule to use when creating the resource at
-     * the given container path. The rule should be the creation rule for
-     * the top-most non-existing parent.
-     * @param resource The resource being created
-     * @return The scheduling rule for creating the given resource
-     * @since 3.1
-     */
-    protected ISchedulingRule createRule(IResource resource) {
-		IResource parent = resource.getParent();
-    	while (parent != null) {
-    		if (parent.exists())
-    			return resource.getWorkspace().getRuleFactory().createRule(resource);
-    		resource = parent;
-    		parent = parent.getParent();
-    	}
-		return resource.getWorkspace().getRoot();
-	}
-
-	/**
-     * Returns the current full path of the containing resource as entered or 
-     * selected by the user, or its anticipated initial value.
-     *
-     * @return the container's full path, anticipated initial value, 
-     *   or <code>null</code> if no path is known
-     */
-    public IPath getContainerFullPath() {
-        return resourceGroup.getContainerFullPath();
-    }
-
-    /**
-     * Returns the current file name as entered by the user, or its anticipated
-     * initial value.
-     *
-     * @return the file name, its anticipated initial value, or <code>null</code>
-     *   if no file name is known
-     */
-    public String getFileName() {
-        if (resourceGroup == null)
-            return initialFileName;
-
-        return resourceGroup.getResource();
-    }
-
-    /**
-     * Returns a stream containing the initial contents to be given to new file resource
-     * instances.  <b>Subclasses</b> may wish to override.  This default implementation
-     * provides no initial contents.
-     *
-     * @return initial contents to be given to new file resource instances
-     */
-    protected InputStream getInitialContents() {
-        return null;
-    }
-
-    /**
-     * Returns the label to display in the file name specification visual
-     * component group.
-     * <p>
-     * Subclasses may reimplement.
-     * </p>
-     *
-     * @return the label to display in the file name specification visual
-     *     component group
-     */
-    protected String getNewFileLabel() {
-        return IDEWorkbenchMessages
-                .getString("WizardNewFileCreationPage.fileLabel"); //$NON-NLS-1$
-    }
-
-    /**
-     * Shows/hides the advanced option widgets. 
-     */
-    protected void handleAdvancedButtonSelect() {
-        Shell shell = getShell();
-        Point shellSize = shell.getSize();
-        Composite composite = (Composite) getControl();
-
-        if (linkedResourceComposite != null) {
-            linkedResourceComposite.dispose();
-            linkedResourceComposite = null;
-            composite.layout();
-            shell.setSize(shellSize.x, shellSize.y - linkedResourceGroupHeight);
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("showAdvanced")); //$NON-NLS-1$
-        } else {
-            linkedResourceComposite = linkedResourceGroup
-                    .createContents(linkedResourceParent);
-            if (linkedResourceGroupHeight == -1) {
-                Point groupSize = linkedResourceComposite.computeSize(
-                        SWT.DEFAULT, SWT.DEFAULT, true);
-                linkedResourceGroupHeight = groupSize.y;
-            }
-            shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
-            composite.layout();
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("hideAdvanced")); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * The <code>WizardNewFileCreationPage</code> implementation of this 
-     * <code>Listener</code> method handles all events and enablements for controls
-     * on this page. Subclasses may extend.
-     */
-    public void handleEvent(Event event) {
-        setPageComplete(validatePage());
-    }
-
-    /**
-     * Sets the initial contents of the container name entry field, based upon
-     * either a previously-specified initial value or the ability to determine
-     * such a value.
-     */
-    protected void initialPopulateContainerNameField() {
-        if (initialContainerFullPath != null)
-            resourceGroup.setContainerFullPath(initialContainerFullPath);
-        else {
-            Iterator it = currentSelection.iterator();
-            if (it.hasNext()) {
-                Object object = it.next();
-                IResource selectedResource = null;
-                if (object instanceof IResource) {
-                    selectedResource = (IResource) object;
-                } else if (object instanceof IAdaptable) {
-                    selectedResource = (IResource) ((IAdaptable) object)
-                            .getAdapter(IResource.class);
-                }
-                if (selectedResource != null) {
-                    if (selectedResource.getType() == IResource.FILE)
-                        selectedResource = selectedResource.getParent();
-                    if (selectedResource.isAccessible())
-                        resourceGroup.setContainerFullPath(selectedResource
-                                .getFullPath());
-                }
-            }
-        }
-    }
-
-    /**
-     * Sets the value of this page's container name field, or stores
-     * it for future use if this page's controls do not exist yet.
-     *
-     * @param path the full path to the container
-     */
-    public void setContainerFullPath(IPath path) {
-        if (resourceGroup == null)
-            initialContainerFullPath = path;
-        else
-            resourceGroup.setContainerFullPath(path);
-    }
-
-    /**
-     * Sets the value of this page's file name field, or stores
-     * it for future use if this page's controls do not exist yet.
-     *
-     * @param value new file name
-     */
-    public void setFileName(String value) {
-        if (resourceGroup == null)
-            initialFileName = value;
-        else
-            resourceGroup.setResource(value);
-    }
-
-    /**
-     * Checks whether the linked resource target is valid.
-     * Sets the error message accordingly and returns the status.
-     *  
-     * @return IStatus validation result from the CreateLinkedResourceGroup
-     */
-    protected IStatus validateLinkedResource() {
-        IPath containerPath = resourceGroup.getContainerFullPath();
-        IPath newFilePath = containerPath.append(resourceGroup.getResource());
-        IFile newFileHandle = createFileHandle(newFilePath);
-        IStatus status = linkedResourceGroup
-                .validateLinkLocation(newFileHandle);
-
-        if (status.getSeverity() == IStatus.ERROR) {
-            if (firstLinkCheck)
-                setMessage(status.getMessage());
-            else
-                setErrorMessage(status.getMessage());
-        } else if (status.getSeverity() == IStatus.WARNING) {
-            setMessage(status.getMessage(), WARNING);
-            setErrorMessage(null);
-        }
-        return status;
-    }
-
-    /**
-     * Returns whether this page's controls currently all contain valid 
-     * values.
-     *
-     * @return <code>true</code> if all controls are valid, and
-     *   <code>false</code> if at least one is invalid
-     */
-    protected boolean validatePage() {
-        boolean valid = true;
-
-        if (!resourceGroup.areAllValuesValid()) {
-            // if blank name then fail silently
-            if (resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_RESOURCE_EMPTY
-                    || resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_CONTAINER_EMPTY) {
-                setMessage(resourceGroup.getProblemMessage());
-                setErrorMessage(null);
-            } else
-                setErrorMessage(resourceGroup.getProblemMessage());
-            valid = false;
-        }
-
-        IStatus linkedResourceStatus = null;
-        if (valid) {
-            linkedResourceStatus = validateLinkedResource();
-            if (linkedResourceStatus.getSeverity() == IStatus.ERROR)
-                valid = false;
-        }
-        // validateLinkedResource sets messages itself
-        if (valid
-                && (linkedResourceStatus == null || linkedResourceStatus.isOK())) {
-            setMessage(null);
-            setErrorMessage(null);
-        }
-        return valid;
-    }
-
-    /*
-     * @see DialogPage.setVisible(boolean)
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        if (visible)
-            resourceGroup.setFocus();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
deleted file mode 100644
index 25a43e2..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewFolderMainPage.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Leon J. Breedt: Added multiple folder creation support
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.CreateLinkedResourceGroup;
-import org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup;
-
-/**
- * Standard main page for a wizard that creates a folder resource.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- */
-public class WizardNewFolderMainPage extends WizardPage implements Listener {
-    private static final int SIZING_CONTAINER_GROUP_HEIGHT = 250;
-
-    private IStructuredSelection currentSelection;
-
-    private IFolder newFolder;
-
-    // link target location
-    private IPath linkTargetPath;
-
-    // widgets
-    private ResourceAndContainerGroup resourceGroup;
-
-    private Button advancedButton;
-
-    private CreateLinkedResourceGroup linkedResourceGroup;
-
-    private Composite linkedResourceParent;
-
-    private Composite linkedResourceComposite;
-
-    /**
-     * Height of the "advanced" linked resource group. Set when the
-     * advanced group is first made visible. 
-     */
-    private int linkedResourceGroupHeight = -1;
-
-    /**
-     * First time the advanced group is validated.
-     */
-    private boolean firstLinkCheck = true;
-
-    /**
-     * Creates a new folder creation wizard page. If the initial resource selection 
-     * contains exactly one container resource then it will be used as the default
-     * container resource.
-     *
-     * @param pageName the name of the page
-     * @param selection the current resource selection
-     */
-    public WizardNewFolderMainPage(String pageName,
-            IStructuredSelection selection) {
-        super("newFolderPage1");//$NON-NLS-1$
-        setTitle(pageName);
-        setDescription(IDEWorkbenchMessages
-                .getString("WizardNewFolderMainPage.description")); //$NON-NLS-1$
-        this.currentSelection = selection;
-    }
-
-    /**
-     * Creates the widget for advanced options.
-     *  
-     * @param parent the parent composite
-     */
-    protected void createAdvancedControls(Composite parent) {
-        Preferences preferences = ResourcesPlugin.getPlugin()
-                .getPluginPreferences();
-
-        if (preferences.getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING) == false) {
-            linkedResourceParent = new Composite(parent, SWT.NONE);
-            linkedResourceParent.setFont(parent.getFont());
-            linkedResourceParent.setLayoutData(new GridData(
-                    GridData.FILL_HORIZONTAL));
-            GridLayout layout = new GridLayout();
-            layout.marginHeight = 0;
-            layout.marginWidth = 0;
-            linkedResourceParent.setLayout(layout);
-
-            advancedButton = new Button(linkedResourceParent, SWT.PUSH);
-            advancedButton.setFont(linkedResourceParent.getFont());
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("showAdvanced")); //$NON-NLS-1$
-            GridData data = setButtonLayoutData(advancedButton);
-            data.horizontalAlignment = GridData.BEGINNING;
-            advancedButton.setLayoutData(data);
-            advancedButton.addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    handleAdvancedButtonSelect();
-                }
-            });
-        }
-        linkedResourceGroup = new CreateLinkedResourceGroup(IResource.FOLDER,
-                new Listener() {
-                    public void handleEvent(Event e) {
-                        setPageComplete(validatePage());
-                        firstLinkCheck = false;
-                    }
-                });
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        initializeDialogUnits(parent);
-        // top level group
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-
-        PlatformUI.getWorkbench().getHelpSystem()
-                .setHelp(composite, IIDEHelpContextIds.NEW_FOLDER_WIZARD_PAGE);
-
-        resourceGroup = new ResourceAndContainerGroup(
-                composite,
-                this,
-                IDEWorkbenchMessages
-                        .getString("WizardNewFolderMainPage.folderName"), IDEWorkbenchMessages.getString("WizardNewFolderMainPage.folderLabel"), false, SIZING_CONTAINER_GROUP_HEIGHT); //$NON-NLS-2$ //$NON-NLS-1$
-        resourceGroup.setAllowExistingResources(false);
-        createAdvancedControls(composite);
-        initializePage();
-        validatePage();
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(composite);
-    }
-
-    /**
-     * Creates a folder resource given the folder handle.
-     *
-     * @param folderHandle the folder handle to create a folder resource for
-     * @param monitor the progress monitor to show visual progress with
-     * @exception CoreException if the operation fails
-     * @exception OperationCanceledException if the operation is canceled
-     */
-    protected void createFolder(IFolder folderHandle, IProgressMonitor monitor)
-            throws CoreException {
-        try {
-            // Create the folder resource in the workspace
-            // Update: Recursive to create any folders which do not exist already
-            if (!folderHandle.exists()) {
-                IContainer parent = folderHandle.getParent();
-                if (parent instanceof IFolder && (!((IFolder) parent).exists())) {
-                    createFolder((IFolder) parent, monitor);
-                }
-                if (linkTargetPath != null)
-                    folderHandle.createLink(linkTargetPath,
-                            IResource.ALLOW_MISSING_LOCAL, monitor);
-                else
-                    folderHandle.create(false, true, monitor);
-            }
-        } catch (CoreException e) {
-            // If the folder already existed locally, just refresh to get contents
-            if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED)
-                folderHandle.refreshLocal(IResource.DEPTH_INFINITE,
-                        new SubProgressMonitor(monitor, 500));
-            else
-                throw e;
-        }
-
-        if (monitor.isCanceled())
-            throw new OperationCanceledException();
-    }
-
-    /**
-     * Creates a folder resource handle for the folder with the given workspace path.
-     * This method does not create the folder resource; this is the responsibility
-     * of <code>createFolder</code>.
-     *
-     * @param folderPath the path of the folder resource to create a handle for
-     * @return the new folder resource handle
-     * @see #createFolder
-     */
-    protected IFolder createFolderHandle(IPath folderPath) {
-        return IDEWorkbenchPlugin.getPluginWorkspace().getRoot().getFolder(
-                folderPath);
-    }
-
-    /**
-     * Creates the link target path if a link target has been specified. 
-     */
-    protected void createLinkTarget() {
-        String linkTarget = linkedResourceGroup.getLinkTarget();
-        if (linkTarget != null) {
-            linkTargetPath = new Path(linkTarget);
-        } else {
-            linkTargetPath = null;
-        }
-    }
-
-    /**
-     * Creates a new folder resource in the selected container and with the selected
-     * name. Creates any missing resource containers along the path; does nothing if
-     * the container resources already exist.
-     * <p>
-     * In normal usage, this method is invoked after the user has pressed Finish on
-     * the wizard; the enablement of the Finish button implies that all controls on
-     * this page currently contain valid values.
-     * </p>
-     * <p>
-     * Note that this page caches the new folder once it has been successfully
-     * created; subsequent invocations of this method will answer the same
-     * folder resource without attempting to create it again.
-     * </p>
-     * <p>
-     * This method should be called within a workspace modify operation since
-     * it creates resources.
-     * </p>
-     *
-     * @return the created folder resource, or <code>null</code> if the folder
-     *    was not created
-     */
-    public IFolder createNewFolder() {
-        if (newFolder != null)
-            return newFolder;
-
-        // create the new folder and cache it if successful
-        final IPath containerPath = resourceGroup.getContainerFullPath();
-        IPath newFolderPath = containerPath.append(resourceGroup.getResource());
-        final IFolder newFolderHandle = createFolderHandle(newFolderPath);
-
-        createLinkTarget();
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation(createRule(newFolderHandle)) {
-            public void execute(IProgressMonitor monitor) throws CoreException {
-                try {
-                    monitor
-                            .beginTask(
-                                    IDEWorkbenchMessages
-                                            .getString("WizardNewFolderCreationPage.progress"), 2000); //$NON-NLS-1$
-                    ContainerGenerator generator = new ContainerGenerator(
-                            containerPath);
-                    generator.generateContainer(new SubProgressMonitor(monitor,
-                            1000));
-                    createFolder(newFolderHandle, new SubProgressMonitor(
-                            monitor, 1000));
-                } finally {
-                    monitor.done();
-                }
-            }
-        };
-
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            if (e.getTargetException() instanceof CoreException) {
-                ErrorDialog
-                        .openError(
-                                getContainer().getShell(), // Was Utilities.getFocusShell()
-                                IDEWorkbenchMessages
-                                        .getString("WizardNewFolderCreationPage.errorTitle"), //$NON-NLS-1$
-                                null, // no special message
-                                ((CoreException) e.getTargetException())
-                                        .getStatus());
-            } else {
-                // CoreExceptions are handled above, but unexpected runtime exceptions and errors may still occur.
-
-                IDEWorkbenchPlugin.log(getClass(),
-                        "createNewFolder()", e.getTargetException()); //$NON-NLS-1$
-                MessageDialog
-                        .openError(
-                                getContainer().getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("WizardNewFolderCreationPage.internalErrorTitle"), IDEWorkbenchMessages.format("WizardNewFolder.internalError", new Object[] { e.getTargetException().getMessage() })); //$NON-NLS-2$ //$NON-NLS-1$
-            }
-            return null; // ie.- one of the steps resulted in a core exception
-        }
-
-        newFolder = newFolderHandle;
-
-        return newFolder;
-    }
-
-    /**
-     * Returns the scheduling rule to use when creating the resource at
-     * the given container path. The rule should be the creation rule for
-     * the top-most non-existing parent.
-     * @param resource The resource being created
-     * @return The scheduling rule for creating the given resource
-     * @since 3.1
-     */
-    private ISchedulingRule createRule(IResource resource) {
-		IResource parent = resource.getParent();
-    	while (parent != null) {
-    		if (parent.exists())
-    			return resource.getWorkspace().getRuleFactory().createRule(resource);
-    		resource = parent;
-    		parent = parent.getParent();
-    	}
-		return resource.getWorkspace().getRoot();
-	}
-
-    /**
-     * Shows/hides the advanced option widgets. 
-     */
-    protected void handleAdvancedButtonSelect() {
-        Shell shell = getShell();
-        Point shellSize = shell.getSize();
-        Composite composite = (Composite) getControl();
-
-        if (linkedResourceComposite != null) {
-            linkedResourceComposite.dispose();
-            linkedResourceComposite = null;
-            composite.layout();
-            shell.setSize(shellSize.x, shellSize.y - linkedResourceGroupHeight);
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("showAdvanced")); //$NON-NLS-1$
-        } else {
-            linkedResourceComposite = linkedResourceGroup
-                    .createContents(linkedResourceParent);
-            if (linkedResourceGroupHeight == -1) {
-                Point groupSize = linkedResourceComposite.computeSize(
-                        SWT.DEFAULT, SWT.DEFAULT, true);
-                linkedResourceGroupHeight = groupSize.y;
-            }
-            shell.setSize(shellSize.x, shellSize.y + linkedResourceGroupHeight);
-            composite.layout();
-            advancedButton.setText(IDEWorkbenchMessages
-                    .getString("hideAdvanced")); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * The <code>WizardNewFolderCreationPage</code> implementation of this 
-     * <code>Listener</code> method handles all events and enablements for controls
-     * on this page. Subclasses may extend.
-     */
-    public void handleEvent(Event ev) {
-        setPageComplete(validatePage());
-    }
-
-    /**
-     * Initializes this page's controls.
-     */
-    protected void initializePage() {
-        Iterator it = currentSelection.iterator();
-        if (it.hasNext()) {
-            Object next = it.next();
-            IResource selectedResource = null;
-            if (next instanceof IResource) {
-                selectedResource = (IResource) next;
-            } else if (next instanceof IAdaptable) {
-                selectedResource = (IResource) ((IAdaptable) next)
-                        .getAdapter(IResource.class);
-            }
-            if (selectedResource != null) {
-                if (selectedResource.getType() == IResource.FILE)
-                    selectedResource = selectedResource.getParent();
-                if (selectedResource.isAccessible())
-                    resourceGroup.setContainerFullPath(selectedResource
-                            .getFullPath());
-            }
-        }
-
-        setPageComplete(false);
-    }
-
-    /*
-     * @see DialogPage.setVisible(boolean)
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        if (visible)
-            resourceGroup.setFocus();
-    }
-
-    /**
-     * Checks whether the linked resource target is valid.
-     * Sets the error message accordingly and returns the status.
-     *  
-     * @return IStatus validation result from the CreateLinkedResourceGroup
-     */
-    protected IStatus validateLinkedResource() {
-        IPath containerPath = resourceGroup.getContainerFullPath();
-        IPath newFolderPath = containerPath.append(resourceGroup.getResource());
-        IFolder newFolderHandle = createFolderHandle(newFolderPath);
-        IStatus status = linkedResourceGroup
-                .validateLinkLocation(newFolderHandle);
-
-        if (status.getSeverity() == IStatus.ERROR) {
-            if (firstLinkCheck)
-                setMessage(status.getMessage());
-            else
-                setErrorMessage(status.getMessage());
-        } else if (status.getSeverity() == IStatus.WARNING) {
-            setMessage(status.getMessage(), WARNING);
-            setErrorMessage(null);
-        }
-        return status;
-    }
-
-    /**
-     * Returns whether this page's controls currently all contain valid 
-     * values.
-     *
-     * @return <code>true</code> if all controls are valid, and
-     *   <code>false</code> if at least one is invalid
-     */
-    protected boolean validatePage() {
-        boolean valid = true;
-
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        IStatus nameStatus = null;
-        String folderName = resourceGroup.getResource();
-        if (folderName.indexOf(IPath.SEPARATOR) != -1) {
-            StringTokenizer tok = new StringTokenizer(folderName, String
-                    .valueOf(IPath.SEPARATOR));
-            while (tok.hasMoreTokens()) {
-                String pathFragment = tok.nextToken();
-                nameStatus = workspace.validateName(pathFragment,
-                        IResource.FOLDER);
-                if (!nameStatus.isOK()) {
-                    break;
-                }
-            }
-        }
-
-        //If the name status was not set validate using the name
-        if (nameStatus == null && folderName.length() > 0)
-            nameStatus = workspace.validateName(folderName, IResource.FOLDER);
-
-        if (nameStatus != null && !nameStatus.isOK()) {
-            setErrorMessage(nameStatus.getMessage());
-            return false;
-        }
-
-        if (!resourceGroup.areAllValuesValid()) {
-            // if blank name then fail silently
-            if (resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_RESOURCE_EMPTY
-                    || resourceGroup.getProblemType() == ResourceAndContainerGroup.PROBLEM_CONTAINER_EMPTY) {
-                setMessage(resourceGroup.getProblemMessage());
-                setErrorMessage(null);
-            } else {
-                setErrorMessage(resourceGroup.getProblemMessage());
-            }
-            valid = false;
-        }
-
-        IStatus linkedResourceStatus = null;
-        if (valid) {
-            linkedResourceStatus = validateLinkedResource();
-            if (linkedResourceStatus.getSeverity() == IStatus.ERROR)
-                valid = false;
-        }
-        // validateLinkedResource sets messages itself
-        if (valid
-                && (linkedResourceStatus == null || linkedResourceStatus.isOK())) {
-            setMessage(null);
-            setErrorMessage(null);
-        }
-        return valid;
-    }
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java
deleted file mode 100644
index 5072a5f..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewLinkPage.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog
- * 	 	font should be activated and used by other components.
- ************************************************************************/
-
-package org.eclipse.ui.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IPathVariableManager;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.PathVariableSelectionDialog;
-
-/**
- * Standard resource link page for a wizard that creates a file or 
- * folder resource.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @since 2.1
- */
-public class WizardNewLinkPage extends WizardPage {
-    private String initialLinkTarget;
-
-    private int type;
-
-    private boolean createLink = false;
-
-    private IContainer container;
-
-    // widgets
-    private Text linkTargetField;
-
-    private Button browseButton;
-
-    private Button variablesButton;
-
-    /**
-     * Creates a new resource link wizard page. 
-     *
-     * @param pageName the name of the page
-     * @param type specifies the type of resource to link to. 
-     * 	<code>IResource.FILE</code> or <code>IResource.FOLDER</code>
-     */
-    public WizardNewLinkPage(String pageName, int type) {
-        super(pageName);
-        this.type = type;
-        setPageComplete(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Font font = parent.getFont();
-        initializeDialogUnits(parent);
-        // top level group
-        Composite topLevel = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        topLevel.setLayout(layout);
-        topLevel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-        topLevel.setFont(font);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(topLevel,
-				IIDEHelpContextIds.NEW_LINK_WIZARD_PAGE);
-
-        final Button createLinkButton = new Button(topLevel, SWT.CHECK);
-        if (type == IResource.FILE)
-            createLinkButton.setText(IDEWorkbenchMessages
-                    .getString("WizardNewLinkPage.linkFileButton")); //$NON-NLS-1$
-        else
-            createLinkButton.setText(IDEWorkbenchMessages
-                    .getString("WizardNewLinkPage.linkFolderButton")); //$NON-NLS-1$
-        createLinkButton.setSelection(createLink);
-        GridData data = new GridData();
-        data.horizontalSpan = 3;
-        createLinkButton.setLayoutData(data);
-        createLinkButton.setFont(font);
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                createLink = createLinkButton.getSelection();
-                browseButton.setEnabled(createLink);
-                variablesButton.setEnabled(createLink);
-                linkTargetField.setEnabled(createLink);
-                setPageComplete(validatePage());
-            }
-        };
-        createLinkButton.addSelectionListener(listener);
-
-        createLinkLocationGroup(topLevel, createLink);
-        validatePage();
-
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(topLevel);
-    }
-
-    /**
-     * Creates the link target location widgets.
-     *
-     * @param locationGroup the parent composite
-     * @param enabled sets the initial enabled state of the widgets
-     */
-    private void createLinkLocationGroup(Composite locationGroup,
-            boolean enabled) {
-        Font font = locationGroup.getFont();
-        Label fill = new Label(locationGroup, SWT.NONE);
-        GridData data = new GridData();
-        Button button = new Button(locationGroup, SWT.CHECK);
-        data.widthHint = button.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-        button.dispose();
-        fill.setLayoutData(data);
-
-        // link target location entry field
-        linkTargetField = new Text(locationGroup, SWT.BORDER);
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        linkTargetField.setLayoutData(data);
-        linkTargetField.setFont(font);
-        linkTargetField.setEnabled(enabled);
-        linkTargetField.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                setPageComplete(validatePage());
-            }
-        });
-        if (initialLinkTarget != null) {
-            linkTargetField.setText(initialLinkTarget);
-        }
-
-        // browse button
-        browseButton = new Button(locationGroup, SWT.PUSH);
-        setButtonLayoutData(browseButton);
-        browseButton.setFont(font);
-        browseButton.setText(IDEWorkbenchMessages
-                .getString("WizardNewLinkPage.browseButton")); //$NON-NLS-1$
-        browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLinkTargetBrowseButtonPressed();
-            }
-        });
-        browseButton.setEnabled(enabled);
-
-        fill = new Label(locationGroup, SWT.NONE);
-        data = new GridData();
-        data.horizontalSpan = 2;
-        fill.setLayoutData(data);
-
-        // variables button
-        variablesButton = new Button(locationGroup, SWT.PUSH);
-        setButtonLayoutData(variablesButton);
-        variablesButton.setFont(font);
-        variablesButton.setText(IDEWorkbenchMessages
-                .getString("WizardNewLinkPage.variablesButton")); //$NON-NLS-1$
-        variablesButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleVariablesButtonPressed();
-            }
-        });
-        variablesButton.setEnabled(enabled);
-    }
-
-    /**
-     * Returns the link target location entered by the user. 
-     *
-     * @return the link target location entered by the user. null if the user
-     * 	choose not to create a link.
-     */
-    public String getLinkTarget() {
-        if (createLink && linkTargetField != null
-                && linkTargetField.isDisposed() == false) {
-            return linkTargetField.getText();
-        }
-        return null;
-    }
-
-    /**
-     * Opens a file or directory browser depending on the link type.
-     */
-    private void handleLinkTargetBrowseButtonPressed() {
-        String linkTargetName = linkTargetField.getText();
-        File file = null;
-        String selection = null;
-
-        if ("".equals(linkTargetName) == false) { //$NON-NLS-1$
-            file = new File(linkTargetName);
-            if (file.exists() == false) {
-                file = null;
-            }
-        }
-        if (type == IResource.FILE) {
-            FileDialog dialog = new FileDialog(getShell());
-            if (file != null) {
-                if (file.isFile()) {
-                    dialog.setFileName(linkTargetName);
-                } else {
-                    dialog.setFilterPath(linkTargetName);
-                }
-            }
-            selection = dialog.open();
-        } else {
-            DirectoryDialog dialog = new DirectoryDialog(getShell());
-            if (file != null) {
-                if (file.isFile()) {
-                    linkTargetName = file.getParent();
-                }
-                if (linkTargetName != null) {
-                    dialog.setFilterPath(linkTargetName);
-                }
-            }
-            dialog.setMessage(IDEWorkbenchMessages
-                    .getString("WizardNewLinkPage.targetSelectionLabel")); //$NON-NLS-1$
-            selection = dialog.open();
-        }
-        if (selection != null) {
-            linkTargetField.setText(selection);
-        }
-    }
-
-    /**
-     * Opens a path variable selection dialog
-     */
-    private void handleVariablesButtonPressed() {
-        PathVariableSelectionDialog dialog = new PathVariableSelectionDialog(
-                getShell(), type);
-
-        if (dialog.open() == IDialogConstants.OK_ID) {
-            String[] variableNames = (String[]) dialog.getResult();
-
-            if (variableNames != null) {
-                IPathVariableManager pathVariableManager = ResourcesPlugin
-                        .getWorkspace().getPathVariableManager();
-                IPath path = pathVariableManager.getValue(variableNames[0]);
-
-                if (path != null) {
-                    linkTargetField.setText(path.toOSString());
-                }
-            }
-        }
-    }
-
-    /**
-     * Sets the container to use for link validation.
-     * This should be the parent of the new resource that is being 
-     * linked.
-     *
-     * @param container the container to use for link validation.
-     */
-    public void setContainer(IContainer container) {
-        this.container = container;
-    }
-
-    /**
-     * Sets the value of the link target field
-     * 
-     * @param target the value of the link target field
-     */
-    public void setLinkTarget(String target) {
-        initialLinkTarget = target;
-        if (linkTargetField != null && linkTargetField.isDisposed() == false) {
-            linkTargetField.setText(target);
-        }
-    }
-
-    /**
-     * Validates the type of the given file against the link type specified
-     * during page creation.
-     * 
-     * @param linkTargetFile file to validate
-     * @return boolean <code>true</code> if the link target type is valid
-     * 	and <code>false</code> otherwise.
-     */
-    private boolean validateFileType(File linkTargetFile) {
-        boolean valid = true;
-
-        if (type == IResource.FILE && linkTargetFile.isFile() == false) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewLinkPage.linkTargetNotFile")); //$NON-NLS-1$
-            valid = false;
-        } else if (type == IResource.FOLDER
-                && linkTargetFile.isDirectory() == false) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewLinkPage.linkTargetNotFolder")); //$NON-NLS-1$
-            valid = false;
-        }
-        return valid;
-    }
-
-    /**
-     * Validates the name of the link target
-     *
-     * @param linkTargetName link target name to validate
-     * @return boolean <code>true</code> if the link target name is valid
-     * 	and <code>false</code> otherwise.
-     */
-    private boolean validateLinkTargetName(String linkTargetName) {
-        boolean valid = true;
-
-        if ("".equals(linkTargetName)) {//$NON-NLS-1$
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewLinkPage.linkTargetEmpty")); //$NON-NLS-1$
-            valid = false;
-        } else {
-            IPath path = new Path("");//$NON-NLS-1$
-            if (path.isValidPath(linkTargetName) == false) {
-                setErrorMessage(IDEWorkbenchMessages
-                        .getString("WizardNewLinkPage.linkTargetInvalid")); //$NON-NLS-1$
-                valid = false;
-            }
-        }
-        return valid;
-    }
-
-    /**
-     * Returns whether this page's controls currently all contain valid 
-     * values.
-     *
-     * @return <code>true</code> if all controls are valid, and
-     *   <code>false</code> if at least one is invalid
-     */
-    private boolean validatePage() {
-        boolean valid = true;
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-
-        if (createLink) {
-            String linkTargetName = linkTargetField.getText();
-
-            valid = validateLinkTargetName(linkTargetName);
-            if (valid) {
-                File linkTargetFile = new Path(linkTargetName).toFile();
-                if (linkTargetFile.exists() == false) {
-                    setErrorMessage(IDEWorkbenchMessages
-                            .getString("WizardNewLinkPage.linkTargetNonExistent")); //$NON-NLS-1$
-                    valid = false;
-                } else {
-                    IStatus locationStatus = workspace.validateLinkLocation(
-                            container, new Path(linkTargetName));
-
-                    if (locationStatus.isOK() == false) {
-                        setErrorMessage(IDEWorkbenchMessages
-                                .getString("WizardNewLinkPage.linkTargetLocationInvalid")); //$NON-NLS-1$
-                        valid = false;
-                    } else {
-                        valid = validateFileType(linkTargetFile);
-                    }
-                }
-            }
-        }
-        // Avoid draw flicker by clearing error message
-        // if all is valid.
-        if (valid) {
-            setMessage(null);
-            setErrorMessage(null);
-        }
-        return valid;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
deleted file mode 100644
index 1e113a5..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectCreationPage.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-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.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Standard main page for a wizard that is creates a project resource.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Create a new project resource.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectCreationPage extends WizardPage {
-
-    boolean useDefaults = true;
-
-    // initial value stores
-    private String initialProjectFieldValue;
-
-    private String initialLocationFieldValue;
-
-    // the value the user has entered
-    String customLocationFieldValue;
-
-    // widgets
-    Text projectNameField;
-
-    Text locationPathField;
-
-    Label locationLabel;
-
-    Button browseButton;
-
-    private Listener nameModifyListener = new Listener() {
-        public void handleEvent(Event e) {
-            boolean valid = validatePage();
-            setPageComplete(valid);
-            if (valid)
-                setLocationForSelection();
-        }
-    };
-
-    private Listener locationModifyListener = new Listener() {
-        public void handleEvent(Event e) {
-            setPageComplete(validatePage());
-        }
-    };
-
-    // constants
-    private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    /**
-     * Creates a new project creation wizard page.
-     *
-     * @param pageName the name of this page
-     */
-    public WizardNewProjectCreationPage(String pageName) {
-        super(pageName);
-        setPageComplete(false);
-        customLocationFieldValue = ""; //$NON-NLS-1$
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setFont(parent.getFont());
-
-        initializeDialogUnits(parent);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        createProjectNameGroup(composite);
-        createProjectLocationGroup(composite);
-        setPageComplete(validatePage());
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(composite);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectLocationGroup(Composite parent) {
-
-        Font font = parent.getFont();
-        // project specification group
-        Group projectGroup = new Group(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        projectGroup.setFont(font);
-        projectGroup
-                .setText(IDEWorkbenchMessages
-                        .getString("WizardNewProjectCreationPage.projectContentsGroupLabel")); //$NON-NLS-1$
-
-        final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK
-                | SWT.RIGHT);
-        useDefaultsButton.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.useDefaultLabel")); //$NON-NLS-1$
-        useDefaultsButton.setSelection(useDefaults);
-        useDefaultsButton.setFont(font);
-
-        GridData buttonData = new GridData();
-        buttonData.horizontalSpan = 3;
-        useDefaultsButton.setLayoutData(buttonData);
-
-        createUserSpecifiedProjectLocationGroup(projectGroup, !useDefaults);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                useDefaults = useDefaultsButton.getSelection();
-                browseButton.setEnabled(!useDefaults);
-                locationPathField.setEnabled(!useDefaults);
-                locationLabel.setEnabled(!useDefaults);
-                if (useDefaults) {
-                    customLocationFieldValue = locationPathField.getText();
-                    setLocationForSelection();
-                } else {
-                    locationPathField.setText(customLocationFieldValue);
-                }
-            }
-        };
-        useDefaultsButton.addSelectionListener(listener);
-    }
-
-    /**
-     * Creates the project name specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectNameGroup(Composite parent) {
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        // new project label
-        Label projectLabel = new Label(projectGroup, SWT.NONE);
-        projectLabel.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.nameLabel")); //$NON-NLS-1$
-        projectLabel.setFont(parent.getFont());
-
-        // new project name entry field
-        projectNameField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        projectNameField.setLayoutData(data);
-        projectNameField.setFont(parent.getFont());
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        if (initialProjectFieldValue != null)
-            projectNameField.setText(initialProjectFieldValue);
-        projectNameField.addListener(SWT.Modify, nameModifyListener);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param projectGroup the parent composite
-     * @param enabled the initial enabled state of the widgets created
-     */
-    private void createUserSpecifiedProjectLocationGroup(
-            Composite projectGroup, boolean enabled) {
-
-        Font font = projectGroup.getFont();
-
-        // location label
-        locationLabel = new Label(projectGroup, SWT.NONE);
-        locationLabel.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.locationLabel")); //$NON-NLS-1$
-        locationLabel.setEnabled(enabled);
-        locationLabel.setFont(font);
-
-        // project location entry field
-        locationPathField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        locationPathField.setLayoutData(data);
-        locationPathField.setEnabled(enabled);
-        locationPathField.setFont(font);
-
-        // browse button
-        browseButton = new Button(projectGroup, SWT.PUSH);
-        browseButton.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.browseLabel")); //$NON-NLS-1$
-        browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLocationBrowseButtonPressed();
-            }
-        });
-
-        browseButton.setEnabled(enabled);
-        browseButton.setFont(font);
-        setButtonLayoutData(browseButton);
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        if (initialLocationFieldValue == null)
-            locationPathField.setText(Platform.getLocation().toOSString());
-        else
-            locationPathField.setText(initialLocationFieldValue);
-        locationPathField.addListener(SWT.Modify, locationModifyListener);
-    }
-
-    /**
-     * Returns the current project location path as entered by 
-     * the user, or its anticipated initial value.
-     * Note that if the default has been returned the path
-     * in a project description used to create a project
-     * should not be set.
-     *
-     * @return the project location path or its anticipated initial value.
-     */
-    public IPath getLocationPath() {
-        if (useDefaults)
-            return Platform.getLocation();
-
-        return new Path(getProjectLocationFieldValue());
-    }
-
-    /**
-     * Creates a project resource handle for the current project name field value.
-     * <p>
-     * This method does not create the project resource; this is the responsibility
-     * of <code>IProject::create</code> invoked by the new project resource wizard.
-     * </p>
-     *
-     * @return the new project resource handle
-     */
-    public IProject getProjectHandle() {
-        return ResourcesPlugin.getWorkspace().getRoot().getProject(
-                getProjectName());
-    }
-
-    /**
-     * Returns the current project name as entered by the user, or its anticipated
-     * initial value.
-     *
-     * @return the project name, its anticipated initial value, or <code>null</code>
-     *   if no project name is known
-     */
-    public String getProjectName() {
-        if (projectNameField == null)
-            return initialProjectFieldValue;
-
-        return getProjectNameFieldValue();
-    }
-
-    /**
-     * Returns the value of the project name field
-     * with leading and trailing spaces removed.
-     * 
-     * @return the project name in the field
-     */
-    private String getProjectNameFieldValue() {
-        if (projectNameField == null)
-            return ""; //$NON-NLS-1$
-
-        return projectNameField.getText().trim();
-    }
-
-    /**
-     * Returns the value of the project location field
-     * with leading and trailing spaces removed.
-     * 
-     * @return the project location directory in the field
-     */
-    private String getProjectLocationFieldValue() {
-        if (locationPathField == null)
-            return ""; //$NON-NLS-1$
-
-        return locationPathField.getText().trim();
-    }
-
-    /**
-     *	Open an appropriate directory browser
-     */
-    void handleLocationBrowseButtonPressed() {
-        DirectoryDialog dialog = new DirectoryDialog(locationPathField
-                .getShell());
-        dialog.setMessage(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.directoryLabel")); //$NON-NLS-1$
-
-        String dirName = getProjectLocationFieldValue();
-        if (!dirName.equals("")) { //$NON-NLS-1$
-            File path = new File(dirName);
-            if (path.exists())
-                dialog.setFilterPath(new Path(dirName).toOSString());
-        }
-
-        String selectedDirectory = dialog.open();
-        if (selectedDirectory != null) {
-            customLocationFieldValue = selectedDirectory;
-            locationPathField.setText(customLocationFieldValue);
-        }
-    }
-
-    /**
-     * Sets the initial project name that this page will use when
-     * created. The name is ignored if the createControl(Composite)
-     * method has already been called. Leading and trailing spaces
-     * in the name are ignored.
-     * 
-     * @param name initial project name for this page
-     */
-    public void setInitialProjectName(String name) {
-        if (name == null)
-            initialProjectFieldValue = null;
-        else {
-            initialProjectFieldValue = name.trim();
-            initialLocationFieldValue = getDefaultLocationForName(initialProjectFieldValue);
-        }
-    }
-
-    /**
-     * Set the location to the default location if we are set to useDefaults.
-     */
-    void setLocationForSelection() {
-        if (useDefaults)
-            locationPathField
-                    .setText(getDefaultLocationForName(getProjectNameFieldValue()));
-    }
-
-    /**
-     * Get the defualt location for the provided name.
-     * 
-     * @param nameValue the name
-     * @return the location
-     */
-    private String getDefaultLocationForName(String nameValue) {
-        IPath defaultPath = Platform.getLocation().append(nameValue);
-        return defaultPath.toOSString();
-    }
-
-    /**
-     * Returns whether this page's controls currently all contain valid 
-     * values.
-     *
-     * @return <code>true</code> if all controls are valid, and
-     *   <code>false</code> if at least one is invalid
-     */
-    protected boolean validatePage() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-
-        String projectFieldContents = getProjectNameFieldValue();
-        if (projectFieldContents.equals("")) { //$NON-NLS-1$
-            setErrorMessage(null);
-            setMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectNameEmpty")); //$NON-NLS-1$
-            return false;
-        }
-
-        IStatus nameStatus = workspace.validateName(projectFieldContents,
-                IResource.PROJECT);
-        if (!nameStatus.isOK()) {
-            setErrorMessage(nameStatus.getMessage());
-            return false;
-        }
-
-        String locationFieldContents = getProjectLocationFieldValue();
-
-        if (locationFieldContents.equals("")) { //$NON-NLS-1$
-            setErrorMessage(null);
-            setMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-            return false;
-        }
-
-        IPath path = new Path(""); //$NON-NLS-1$
-        if (!path.isValidPath(locationFieldContents)) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.locationError")); //$NON-NLS-1$
-            return false;
-        }
-
-        IPath projectPath = new Path(locationFieldContents);
-        if (!useDefaults && Platform.getLocation().isPrefixOf(projectPath)) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.defaultLocationError")); //$NON-NLS-1$
-            return false;
-        }
-
-        IProject handle = getProjectHandle();
-        if (handle.exists()) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectExistsMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        /*
-         * If not using the default value validate the location.
-         */
-        if (!useDefaults()) {
-            IStatus locationStatus = workspace.validateProjectLocation(handle,
-                    projectPath);
-            if (!locationStatus.isOK()) {
-                setErrorMessage(locationStatus.getMessage()); //$NON-NLS-1$
-                return false;
-            }
-        }
-
-        setErrorMessage(null);
-        setMessage(null);
-        return true;
-    }
-
-    /*
-     * see @DialogPage.setVisible(boolean)
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        if (visible)
-            projectNameField.setFocus();
-    }
-
-    /**
-     * Returns the useDefaults.
-     * @return boolean
-     */
-    public boolean useDefaults() {
-        return useDefaults;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
deleted file mode 100644
index 6e26cb8..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardNewProjectReferencePage.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Standard project reference page for a wizard that creates a 
- * project resource.
- * <p>
- * This page may be used by clients as-is; it may be also be
- * subclassed to suit.
- * </p>
- * <p>
- * Example useage:
- * <pre>
- * referencePage = new WizardNewProjectReferencePage("basicReferenceProjectPage");
- * referencePage.setTitle("Project");
- * referencePage.setDescription("Select referenced projects.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectReferencePage extends WizardPage {
-    // widgets
-    private CheckboxTableViewer referenceProjectsViewer;
-
-    private static final String REFERENCED_PROJECTS_TITLE = IDEWorkbenchMessages
-            .getString("WizardNewProjectReferences.title"); //$NON-NLS-1$
-
-    private static final int PROJECT_LIST_MULTIPLIER = 15;
-
-    /**
-     * Creates a new project reference wizard page.
-     *
-     * @param pageName the name of this page
-     */
-    public WizardNewProjectReferencePage(String pageName) {
-        super(pageName);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-
-        Font font = parent.getFont();
-
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        composite.setFont(font);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.NEW_PROJECT_REFERENCE_WIZARD_PAGE);
-
-        Label referenceLabel = new Label(composite, SWT.NONE);
-        referenceLabel.setText(REFERENCED_PROJECTS_TITLE);
-        referenceLabel.setFont(font);
-
-        referenceProjectsViewer = CheckboxTableViewer.newCheckList(composite,
-                SWT.BORDER);
-        referenceProjectsViewer.getTable().setFont(composite.getFont());
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-
-        data.heightHint = getDefaultFontHeight(referenceProjectsViewer
-                .getTable(), PROJECT_LIST_MULTIPLIER);
-        referenceProjectsViewer.getTable().setLayoutData(data);
-        referenceProjectsViewer.setLabelProvider(WorkbenchLabelProvider
-                .getDecoratingWorkbenchLabelProvider());
-        referenceProjectsViewer.setContentProvider(getContentProvider());
-        referenceProjectsViewer.setInput(ResourcesPlugin.getWorkspace());
-
-        setControl(composite);
-    }
-
-    /**
-     * Returns a content provider for the reference project
-     * viewer. It will return all projects in the workspace.
-     *
-     * @return the content provider
-     */
-    protected IStructuredContentProvider getContentProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object element) {
-                if (!(element instanceof IWorkspace))
-                    return new Object[0];
-                IProject[] projects = ((IWorkspace) element).getRoot()
-                        .getProjects();
-                return projects == null ? new Object[0] : projects;
-            }
-        };
-    }
-
-    /**
-     * Get the defualt widget height for the supplied control.
-     * @return int
-     * @param control - the control being queried about fonts
-     * @param lines - the number of lines to be shown on the table.
-     */
-    private static int getDefaultFontHeight(Control control, int lines) {
-        FontData[] viewerFontData = control.getFont().getFontData();
-        int fontHeight = 10;
-
-        //If we have no font data use our guess
-        if (viewerFontData.length > 0)
-            fontHeight = viewerFontData[0].getHeight();
-        return lines * fontHeight;
-
-    }
-
-    /**
-     * Returns the referenced projects selected by the user.
-     *
-     * @return the referenced projects
-     */
-    public IProject[] getReferencedProjects() {
-        Object[] elements = referenceProjectsViewer.getCheckedElements();
-        IProject[] projects = new IProject[elements.length];
-        System.arraycopy(elements, 0, projects, 0, elements.length);
-        return projects;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
deleted file mode 100644
index 4e3f835..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/WizardResourceImportPage.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.dialogs;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-import org.eclipse.ui.internal.ide.dialogs.ResourceTreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * The abstract superclass for a typical import wizard's main page.
- * <p>
- * Clients may subclass this page to inherit its common destination resource
- * selection facilities.
- * </p>
- * <p>
- * Subclasses must implement 
- * <ul>
- *   <li><code>createSourceGroup</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may override
- * <ul>
- *   <li><code>allowNewContainerName</code></li>
- * </ul>
- * </p>
- * <p>
- * Subclasses may extend
- * <ul>
- *   <li><code>handleEvent</code></li>
- * </ul>
- * </p>
- */
-public abstract class WizardResourceImportPage extends WizardDataTransferPage {
-    private IResource currentResourceSelection;
-
-    // initial value stores
-    private String initialContainerFieldValue;
-
-    protected java.util.List selectedTypes = new ArrayList();
-
-    // widgets
-    private Text containerNameField;
-
-    private Button containerBrowseButton;
-
-    protected ResourceTreeAndListGroup selectionGroup;
-
-    //messages
-    private static final String EMPTY_FOLDER_MESSAGE = IDEWorkbenchMessages
-            .getString("WizardImportPage.specifyFolder"); //$NON-NLS-1$
-
-    private static final String INACCESSABLE_FOLDER_MESSAGE = IDEWorkbenchMessages
-            .getString("WizardImportPage.folderMustExist"); //$NON-NLS-1$
-
-    /**
-     * Creates an import wizard page. If the initial resource selection 
-     * contains exactly one container resource then it will be used as the default
-     * import destination.
-     *
-     * @param name the name of the page
-     * @param selection the current resource selection
-     */
-    protected WizardResourceImportPage(String name,
-            IStructuredSelection selection) {
-        super(name);
-
-        //Initialize to null
-        currentResourceSelection = null;
-        if (selection.size() == 1) {
-            Object firstElement = selection.getFirstElement();
-            if (firstElement instanceof IAdaptable) {
-                Object resource = ((IAdaptable) firstElement)
-                        .getAdapter(IResource.class);
-                if (resource != null)
-                    currentResourceSelection = (IResource) resource;
-            }
-        }
-
-        if (currentResourceSelection != null) {
-            if (currentResourceSelection.getType() == IResource.FILE)
-                currentResourceSelection = currentResourceSelection.getParent();
-
-            if (!currentResourceSelection.isAccessible())
-                currentResourceSelection = null;
-        }
-
-    }
-
-    /**
-     * The <code>WizardResourceImportPage</code> implementation of this 
-     * <code>WizardDataTransferPage</code> method returns <code>true</code>. 
-     * Subclasses may override this method.
-     */
-    protected boolean allowNewContainerName() {
-        return true;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-
-        initializeDialogUnits(parent);
-
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-        composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-        composite.setFont(parent.getFont());
-
-        createSourceGroup(composite);
-
-        createDestinationGroup(composite);
-
-        createOptionsGroup(composite);
-
-        restoreWidgetValues();
-        updateWidgetEnablements();
-        setPageComplete(determinePageCompletion());
-
-        setControl(composite);
-    }
-
-    /**
-     * Creates the import destination specification controls.
-     *
-     * @param parent the parent control
-     */
-    protected final void createDestinationGroup(Composite parent) {
-        // container specification group
-        Composite containerGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        containerGroup.setLayout(layout);
-        containerGroup.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-        containerGroup.setFont(parent.getFont());
-
-        // container label
-        Label resourcesLabel = new Label(containerGroup, SWT.NONE);
-        resourcesLabel.setText(IDEWorkbenchMessages
-                .getString("WizardImportPage.folder")); //$NON-NLS-1$
-        resourcesLabel.setFont(parent.getFont());
-
-        // container name entry field
-        containerNameField = new Text(containerGroup, SWT.SINGLE | SWT.BORDER);
-        containerNameField.addListener(SWT.Modify, this);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        containerNameField.setLayoutData(data);
-        containerNameField.setFont(parent.getFont());
-
-        // container browse button
-        containerBrowseButton = new Button(containerGroup, SWT.PUSH);
-        containerBrowseButton.setText(IDEWorkbenchMessages
-                .getString("WizardImportPage.browse2")); //$NON-NLS-1$
-        containerBrowseButton.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL));
-        containerBrowseButton.addListener(SWT.Selection, this);
-        containerBrowseButton.setFont(parent.getFont());
-        setButtonLayoutData(containerBrowseButton);
-
-        initialPopulateContainerField();
-    }
-
-    /**
-     *	Create the import source selection widget
-     */
-    protected void createFileSelectionGroup(Composite parent) {
-
-        //Just create with a dummy root.
-        this.selectionGroup = new ResourceTreeAndListGroup(parent,
-                new FileSystemElement("Dummy", null, true),//$NON-NLS-1$
-                getFolderProvider(), new WorkbenchLabelProvider(),
-                getFileProvider(), new WorkbenchLabelProvider(), SWT.NONE,
-                DialogUtil.inRegularFontMode(parent));
-
-        ICheckStateListener listener = new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                updateWidgetEnablements();
-            }
-        };
-
-        WorkbenchViewerSorter sorter = new WorkbenchViewerSorter();
-        this.selectionGroup.setTreeSorter(sorter);
-        this.selectionGroup.setListSorter(sorter);
-        this.selectionGroup.addCheckStateListener(listener);
-
-    }
-
-    /**
-     * Creates the import source specification controls.
-     * <p>
-     * Subclasses must implement this method.
-     * </p>
-     *
-     * @param parent the parent control
-     */
-    protected abstract void createSourceGroup(Composite parent);
-
-    /*
-     * @see WizardDataTransferPage.getErrorDialogTitle()
-     */
-    protected String getErrorDialogTitle() {
-        return IDEWorkbenchMessages
-                .getString("WizardImportPage.errorDialogTitle"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the path of the container resource specified in the container
-     * name entry field, or <code>null</code> if no name has been typed in.
-     * <p>
-     * The container specified by the full path might not exist and would need to
-     * be created.
-     * </p>
-     *
-     * @return the full path of the container resource specified in
-     *   the container name entry field, or <code>null</code>
-     */
-    protected IPath getContainerFullPath() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-
-        //make the path absolute to allow for optional leading slash
-        IPath testPath = getResourcePath();
-
-        if (testPath.equals(workspace.getRoot().getFullPath()))
-            return testPath;
-
-        IStatus result = workspace.validatePath(testPath.toString(),
-                IResource.PROJECT | IResource.FOLDER | IResource.ROOT);
-        if (result.isOK()) {
-            return testPath;
-        }
-
-        return null;
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only files as children.
-     */
-    protected abstract ITreeContentProvider getFileProvider();
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only folders as children.
-     */
-    protected abstract ITreeContentProvider getFolderProvider();
-
-    /**
-     * Return the path for the resource field.
-     * @return IPath
-     */
-    protected IPath getResourcePath() {
-        return getPathFromText(this.containerNameField);
-    }
-
-    /**
-     * Returns this page's list of currently-specified resources to be 
-     * imported. This is the primary resource selection facility accessor for 
-     * subclasses.
-     *
-     * @return a list of resources currently selected 
-     * for export (element type: <code>IResource</code>)
-     */
-    protected java.util.List getSelectedResources() {
-        return this.selectionGroup.getAllCheckedListItems();
-    }
-
-    /**
-     * Returns this page's list of currently-specified resources to be 
-     * imported filtered by the IElementFilter.
-     *
-     */
-    protected void getSelectedResources(IElementFilter filter,
-            IProgressMonitor monitor) throws InterruptedException {
-        this.selectionGroup.getAllCheckedListItems(filter, monitor);
-    }
-
-    /**
-     * Returns the container resource specified in the container name entry field,
-     * or <code>null</code> if such a container does not exist in the workbench.
-     *
-     * @return the container resource specified in the container name entry field,
-     *   or <code>null</code>
-     */
-    protected IContainer getSpecifiedContainer() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        IPath path = getContainerFullPath();
-        if (workspace.getRoot().exists(path)){
-        	IResource resource = workspace.getRoot().findMember(path);
-        	if(resource.getType() == IResource.FILE)
-        		return null;
-        	return (IContainer) resource;
-        	
-        }
-            
-
-        return null;
-    }
-
-    /**
-     * Returns a collection of the currently-specified resource types for
-     * use by the type selection dialog.
-     */
-    protected java.util.List getTypesToImport() {
-
-        return selectedTypes;
-    }
-
-    /**
-     * Opens a container selection dialog and displays the user's subsequent
-     * container resource selection in this page's container name field.
-     */
-    protected void handleContainerBrowseButtonPressed() {
-        // see if the user wishes to modify this container selection
-        IPath containerPath = queryForContainer(getSpecifiedContainer(),
-                IDEWorkbenchMessages
-                        .getString("WizardImportPage.selectFolderLabel"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("WizardImportPage.selectFolderTitle")); //$NON-NLS-1$
-
-        // if a container was selected then put its name in the container name field
-        if (containerPath != null) { // null means user cancelled
-            setErrorMessage(null);
-            containerNameField.setText(containerPath.makeRelative().toString());
-        }
-    }
-
-    /**
-     * The <code>WizardResourceImportPage</code> implementation of this 
-     * <code>Listener</code> method handles all events and enablements for controls
-     * on this page. Subclasses may extend.
-     * @param event Event
-     */
-    public void handleEvent(Event event) {
-        Widget source = event.widget;
-
-        if (source == containerBrowseButton)
-            handleContainerBrowseButtonPressed();
-
-        updateWidgetEnablements();
-    }
-
-    /**
-     *	Open a registered type selection dialog and note the selections
-     *	in the receivers types-to-export field
-     */
-    protected void handleTypesEditButtonPressed() {
-
-        TypeFilteringDialog dialog = new TypeFilteringDialog(getContainer()
-                .getShell(), getTypesToImport());
-
-        dialog.open();
-
-        Object[] newSelectedTypes = dialog.getResult();
-        if (newSelectedTypes != null) { // ie.- did not press Cancel
-            this.selectedTypes = new ArrayList(newSelectedTypes.length);
-            for (int i = 0; i < newSelectedTypes.length; i++)
-                this.selectedTypes.add(newSelectedTypes[i]);
-
-            setupSelectionsBasedOnSelectedTypes();
-        }
-
-    }
-
-    /**
-     * Sets the initial contents of the container name field.
-     */
-    protected final void initialPopulateContainerField() {
-        if (initialContainerFieldValue != null)
-            containerNameField.setText(initialContainerFieldValue);
-        else if (currentResourceSelection != null)
-            containerNameField.setText(currentResourceSelection.getFullPath()
-                    .makeRelative().toString());
-    }
-
-    /**
-     * Set all of the selections in the selection group to value
-     * @param value boolean
-     */
-    protected void setAllSelections(boolean value) {
-        selectionGroup.setAllSelections(value);
-    }
-
-    /**
-     * Sets the value of this page's container resource field, or stores
-     * it for future use if this page's controls do not exist yet.
-     *
-     * @param value String
-     */
-    public void setContainerFieldValue(String value) {
-        if (containerNameField == null)
-            initialContainerFieldValue = value;
-        else
-            containerNameField.setText(value);
-    }
-
-    /**
-     * Update the tree to only select those elements that match the selected types.
-     * Do nothing by default.
-     */
-    protected void setupSelectionsBasedOnSelectedTypes() {
-    }
-
-    /**
-     * Update the selections with those in map .
-     * @param map Map - key tree elements, values Lists of list elements
-     */
-    protected void updateSelections(final Map map) {
-
-        Runnable runnable = new Runnable() {
-            public void run() {
-                selectionGroup.updateSelections(map);
-            }
-        };
-
-        BusyIndicator.showWhile(getShell().getDisplay(), runnable);
-    }
-
-    /**
-     * Check if widgets are enabled or disabled by a change in the dialog.
-     */
-    protected void updateWidgetEnablements() {
-
-        boolean pageComplete = determinePageCompletion();
-        setPageComplete(pageComplete);
-        if (pageComplete)
-            setMessage(null);
-        super.updateWidgetEnablements();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDataTransferPage.
-     */
-    protected final boolean validateDestinationGroup() {
-
-        IPath containerPath = getContainerFullPath();
-        if (containerPath == null) {
-            setMessage(EMPTY_FOLDER_MESSAGE);
-            return false;
-        }
-
-        // If the container exist, validate it
-        IContainer container = getSpecifiedContainer();
-        if (container == null) {
-        	//If it exists but is not valid then abort
-        	if(IDEWorkbenchPlugin.getPluginWorkspace().getRoot().exists(getContainerFullPath()))
-        		return false;
-        	
-            //if it is does not exist be sure the project does
-            IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-            IPath projectPath = containerPath.removeLastSegments(containerPath
-                    .segmentCount() - 1);
-
-            if (workspace.getRoot().exists(projectPath))
-                return true;
-            setErrorMessage(IDEWorkbenchMessages
-                        .getString("WizardImportPage.projectNotExist")); //$NON-NLS-1$
-            return false;
-        } 
-        if (!container.isAccessible()) {
-             setErrorMessage(INACCESSABLE_FOLDER_MESSAGE);
-             return false;
-        }
-        if (container.getLocation() == null) {
-          if (container.isLinked()) {
-               setErrorMessage(IDEWorkbenchMessages
-                       .getString("WizardImportPage.undefinedPathVariable")); //$NON-NLS-1$	
-          } else {
-               setErrorMessage(IDEWorkbenchMessages
-                       .getString("WizardImportPage.containerNotExist")); //$NON-NLS-1$
-          }
-         return false;
-        }
-        
-
-        if (sourceConflictsWithDestination(containerPath)) {
-            setErrorMessage(getSourceConflictMessage());
-            return false;
-        }
-
-        return true;
-
-    }
-
-    /**
-     * Returns the error message for when the source conflicts
-     * with the destination.
-     */
-    protected final String getSourceConflictMessage() {
-        return (IDEWorkbenchMessages
-                .getString("WizardImportPage.importOnReceiver")); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns whether or not the source location conflicts
-     * with the destination resource. By default this is not
-     * checked, so <code>false</code> is returned.
-     * 
-     * @param sourcePath the path being checked
-     * @return <code>true</code> if the source location conflicts with the
-     *   destination resource, <code>false</code> if not
-     */
-    protected boolean sourceConflictsWithDestination(IPath sourcePath) {
-        return false;
-    }
-
-    /*
-     * @see WizardDataTransferPage.determinePageCompletion.
-     */
-    protected boolean determinePageCompletion() {
-        //Check for valid projects before making the user do anything 
-        if (noOpenProjects()) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardImportPage.noOpenProjects")); //$NON-NLS-1$
-            return false;
-        }
-        return super.determinePageCompletion();
-    }
-
-    /**
-     * Returns whether or not the passed workspace has any 
-     * open projects
-     * @return boolean
-     */
-    private boolean noOpenProjects() {
-        IProject[] projects = IDEWorkbenchPlugin.getPluginWorkspace().getRoot()
-                .getProjects();
-        for (int i = 0; i < projects.length; i++) {
-            if (projects[i].isOpen())
-                return false;
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java
deleted file mode 100644
index a0d6cd1..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/model/WorkbenchContentProvider.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.model;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IContainer;
-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.IWorkspace;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Tree content provider for resource objects that can be adapted to the
- * interface {@link org.eclipse.ui.model.IWorkbenchAdapter IWorkbenchAdapter}.
- * This provider will listen for resource changes within the workspace and
- * update the viewer as necessary.
- * <p>
- * This class may be instantiated, or subclassed by clients.
- * </p>
- */
-public class WorkbenchContentProvider extends BaseWorkbenchContentProvider
-		implements IResourceChangeListener {
-	private Viewer viewer;
-
-	/**
-	 * Creates the resource content provider.
-	 */
-	public WorkbenchContentProvider() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IContentProvider.
-	 */
-	public void dispose() {
-		if (viewer != null) {
-			IWorkspace workspace = null;
-			Object obj = viewer.getInput();
-			if (obj instanceof IWorkspace) {
-				workspace = (IWorkspace) obj;
-			} else if (obj instanceof IContainer) {
-				workspace = ((IContainer) obj).getWorkspace();
-			}
-			if (workspace != null) {
-				workspace.removeResourceChangeListener(this);
-			}
-		}
-
-		super.dispose();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IContentProvider.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		super.inputChanged(viewer, oldInput, newInput);
-
-		this.viewer = viewer;
-		IWorkspace oldWorkspace = null;
-		IWorkspace newWorkspace = null;
-
-		if (oldInput instanceof IWorkspace) {
-			oldWorkspace = (IWorkspace) oldInput;
-		} else if (oldInput instanceof IContainer) {
-			oldWorkspace = ((IContainer) oldInput).getWorkspace();
-		}
-
-		if (newInput instanceof IWorkspace) {
-			newWorkspace = (IWorkspace) newInput;
-		} else if (newInput instanceof IContainer) {
-			newWorkspace = ((IContainer) newInput).getWorkspace();
-		}
-
-		if (oldWorkspace != newWorkspace) {
-			if (oldWorkspace != null) {
-				oldWorkspace.removeResourceChangeListener(this);
-			}
-			if (newWorkspace != null) {
-				newWorkspace.addResourceChangeListener(this,
-						IResourceChangeEvent.POST_CHANGE);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IResourceChangeListener.
-	 */
-	public final void resourceChanged(final IResourceChangeEvent event) {
-
-		processDelta(event.getDelta());
-
-	}
-
-	/**
-	 * Process the resource delta.
-	 * 
-	 * @param delta
-	 */
-	protected void processDelta(IResourceDelta delta) {		
-
-		Control ctrl = viewer.getControl();
-		if (ctrl == null || ctrl.isDisposed())
-			return;
-		
-		
-		final Collection runnables = new ArrayList();
-		processDelta(delta, runnables);
-
-		if (runnables.isEmpty())
-			return;
-
-		//Are we in the UIThread? If so spin it until we are done
-		if (ctrl.getDisplay().getThread() == Thread.currentThread()) {
-			runUpdates(runnables);
-		} else {
-			ctrl.getDisplay().asyncExec(new Runnable(){
-				/* (non-Javadoc)
-				 * @see java.lang.Runnable#run()
-				 */
-				public void run() {
-					//Abort if this happens after disposes
-					Control ctrl = viewer.getControl();
-					if (ctrl == null || ctrl.isDisposed())
-						return;
-					
-					runUpdates(runnables);
-				}
-			});
-		}
-
-	}
-
-	/**
-	 * Run all of the runnables that are the widget updates
-	 * @param runnables
-	 */
-	private void runUpdates(Collection runnables) {
-		Iterator runnableIterator = runnables.iterator();
-		while(runnableIterator.hasNext()){
-			((Runnable)runnableIterator.next()).run();
-		}
-		
-	}
-
-	/**
-	 * Process a resource delta. Add any runnables
-	 */
-	private void processDelta(IResourceDelta delta, Collection runnables) {
-		//he widget may have been destroyed
-		// by the time this is run. Check for this and do nothing if so.
-		Control ctrl = viewer.getControl();
-		if (ctrl == null || ctrl.isDisposed())
-			return;
-
-		// Get the affected resource
-		final IResource resource = delta.getResource();
-	
-		// If any children have changed type, just do a full refresh of this
-		// parent,
-		// since a simple update on such children won't work,
-		// and trying to map the change to a remove and add is too dicey.
-		// The case is: folder A renamed to existing file B, answering yes to
-		// overwrite B.
-		IResourceDelta[] affectedChildren = delta
-				.getAffectedChildren(IResourceDelta.CHANGED);
-		for (int i = 0; i < affectedChildren.length; i++) {
-			if ((affectedChildren[i].getFlags() & IResourceDelta.TYPE) != 0) {
-				runnables.add(getRefreshRunnable(resource));
-				return;
-			}
-		}
-
-		// Check the flags for changes the Navigator cares about.
-		// See ResourceLabelProvider for the aspects it cares about.
-		// Notice we don't care about F_CONTENT or F_MARKERS currently.
-		int changeFlags = delta.getFlags();
-		if ((changeFlags & (IResourceDelta.OPEN | IResourceDelta.SYNC
-				| IResourceDelta.TYPE | IResourceDelta.DESCRIPTION)) != 0) {
-			Runnable updateRunnable =  new Runnable(){
-				/* (non-Javadoc)
-				 * @see java.lang.Runnable#run()
-				 */
-				public void run() {
-					((StructuredViewer) viewer).update(resource, null);
-			
-				}
-			};
-			runnables.add(updateRunnable);
-		}
-		// Replacing a resource may affect its label and its children
-		if ((changeFlags & IResourceDelta.REPLACED) != 0) {
-			runnables.add(getRefreshRunnable(resource));
-			return;
-		}
-
-
-		// Handle changed children .
-		for (int i = 0; i < affectedChildren.length; i++) {
-			processDelta(affectedChildren[i], runnables);
-		}
-
-		// @issue several problems here:
-		//  - should process removals before additions, to avoid multiple equal
-		// elements in viewer
-		//   - Kim: processing removals before additions was the indirect cause of
-		// 44081 and its varients
-		//   - Nick: no delta should have an add and a remove on the same element,
-		// so processing adds first is probably OK
-		//  - using setRedraw will cause extra flashiness
-		//  - setRedraw is used even for simple changes
-		//  - to avoid seeing a rename in two stages, should turn redraw on/off
-		// around combined removal and addition
-		//   - Kim: done, and only in the case of a rename (both remove and add
-		// changes in one delta).
-
-		IResourceDelta[] addedChildren = delta
-				.getAffectedChildren(IResourceDelta.ADDED);
-		IResourceDelta[] removedChildren = delta
-				.getAffectedChildren(IResourceDelta.REMOVED);
-
-		if (addedChildren.length == 0 && removedChildren.length == 0)
-			return;
-
-		final Object[] addedObjects;
-		final Object[] removedObjects;
-
-		// Process additions before removals as to not cause selection
-		// preservation prior to new objects being added
-		// Handle added children. Issue one update for all insertions.
-		if (addedChildren.length > 0) {
-			addedObjects = new Object[addedChildren.length];
-			for (int i = 0; i < addedChildren.length; i++)
-				addedObjects[i] = addedChildren[i].getResource();
-		} else
-			addedObjects = new Object[0];
-
-		// Handle removed children. Issue one update for all removals.
-		if (removedChildren.length > 0) {
-			removedObjects = new Object[removedChildren.length];
-			for (int i = 0; i < removedChildren.length; i++)
-				removedObjects[i] = removedChildren[i].getResource();
-
-		} else
-			removedObjects = new Object[0];
-		
-		Runnable addAndRemove = new Runnable(){
-			/* (non-Javadoc)
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-
-				// Disable redraw until the operation is finished so we don't
-				// get a flash of both the new and old item (in the case of
-				// rename)
-				// Only do this if we're both adding and removing files (the
-				// rename case)
-				viewer.getControl().setRedraw(false);
-				try {
-
-					if (viewer instanceof AbstractTreeViewer) {
-						AbstractTreeViewer treeViewer = (AbstractTreeViewer) viewer;
-						if (addedObjects.length > 0)
-							treeViewer.add(resource, addedObjects);
-						if (removedObjects.length > 0)
-							treeViewer.remove(removedObjects);
-
-					} else
-						((StructuredViewer) viewer).refresh(resource);
-
-				} finally {
-					viewer.getControl().setRedraw(true);
-				}
-				
-			}
-		};
-
-		
-		runnables.add(addAndRemove);
-	}
-
-	/**
-	 * Return a runnable for refreshing a resource.
-	 * @param resource
-	 * @return Runnable
-	 */
-	private Runnable getRefreshRunnable(final IResource resource) {
-		return new Runnable(){
-			/* (non-Javadoc)
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				((StructuredViewer) viewer).refresh(resource);
-
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java
deleted file mode 100644
index ac29f28..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInput.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.part;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPathEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Adapter for making a file resource a suitable input for an editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class FileEditorInput implements IFileEditorInput, IPathEditorInput,
-        IPersistableElement {
-    private IFile file;
-
-    /**
-     * Creates an editor input based of the given file resource.
-     *
-     * @param file the file resource
-     */
-    public FileEditorInput(IFile file) {
-        if (file == null) {
-            throw new IllegalArgumentException();
-        }
-        this.file = file;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object.
-     */
-    public int hashCode() {
-        return file.hashCode();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object.
-     *
-     * The <code>FileEditorInput</code> implementation of this <code>Object</code>
-     * method bases the equality of two <code>FileEditorInput</code> objects on the
-     * equality of their underlying <code>IFile</code> resources.
-     */
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (!(obj instanceof IFileEditorInput))
-            return false;
-        IFileEditorInput other = (IFileEditorInput) obj;
-        return file.equals(other.getFile());
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IEditorInput.
-     */
-    public boolean exists() {
-        return file.exists();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable.
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IFile.class)
-            return file;
-        return file.getAdapter(adapter);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPersistableElement.
-     */
-    public String getFactoryId() {
-        return FileEditorInputFactory.getFactoryId();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IFileEditorInput.
-     */
-    public IFile getFile() {
-        return file;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IEditorInput.
-     */
-    public ImageDescriptor getImageDescriptor() {
-        return PlatformUI.getWorkbench().getEditorRegistry()
-                .getImageDescriptor(file.getName());
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IEditorInput.
-     */
-    public String getName() {
-        return file.getName();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IEditorInput.
-     */
-    public IPersistableElement getPersistable() {
-        return this;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IStorageEditorInput.
-     */
-    public IStorage getStorage() throws CoreException {
-        return file;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IEditorInput.
-     */
-    public String getToolTipText() {
-        return file.getFullPath().makeRelative().toString();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPersistableElement.
-     */
-    public void saveState(IMemento memento) {
-        FileEditorInputFactory.saveState(memento, this);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPathEditorInput
-     * @since 3.0
-     * @issue consider using an internal adapter for IPathEditorInput rather than adding this as API
-     */
-    public IPath getPath() {
-        return file.getLocation();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.java
deleted file mode 100644
index 1c6a6f6..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileEditorInputFactory.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.ui.part;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-
-/**
- * Factory for saving and restoring a <code>FileEditorInput</code>. 
- * The stored representation of a <code>FileEditorInput</code> remembers
- * the full path of the file (that is, <code>IFile.getFullPath</code>).
- * <p>
- * The workbench will automatically create instances of this class as required.
- * It is not intended to be instantiated or subclassed by the client.
- * </p>
- */
-public class FileEditorInputFactory implements IElementFactory {
-    /**
-     * Factory id. The workbench plug-in registers a factory by this name
-     * with the "org.eclipse.ui.elementFactories" extension point.
-     */
-    private static final String ID_FACTORY = "org.eclipse.ui.part.FileEditorInputFactory"; //$NON-NLS-1$
-
-    /**
-     * Tag for the IFile.fullPath of the file resource.
-     */
-    private static final String TAG_PATH = "path"; //$NON-NLS-1$
-
-    /**
-     * Creates a new factory.
-     */
-    public FileEditorInputFactory() {
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IElementFactory.
-     */
-    public IAdaptable createElement(IMemento memento) {
-        // Get the file name.
-        String fileName = memento.getString(TAG_PATH);
-        if (fileName == null)
-            return null;
-
-        // Get a handle to the IFile...which can be a handle
-        // to a resource that does not exist in workspace
-        IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(
-                new Path(fileName));
-        if (file != null)
-            return new FileEditorInput(file);
-        else
-            return null;
-    }
-
-    /**
-     * Returns the element factory id for this class.
-     * 
-     * @return the element factory id
-     */
-    public static String getFactoryId() {
-        return ID_FACTORY;
-    }
-
-    /**
-     * Saves the state of the given file editor input into the given memento.
-     *
-     * @param memento the storage area for element state
-     * @param input the file editor input
-     */
-    public static void saveState(IMemento memento, FileEditorInput input) {
-        IFile file = input.getFile();
-        memento.putString(TAG_PATH, file.getFullPath().toString());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java
deleted file mode 100644
index 5432520..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/FileInPlaceEditorInput.java
+++ /dev/null
@@ -1,129 +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.ui.part;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.ui.IInPlaceEditor;
-import org.eclipse.ui.IInPlaceEditorInput;
-
-/**
- * Adapter for making a file resource a suitable input for an in-place editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 3.0
- */
-public class FileInPlaceEditorInput extends FileEditorInput implements
-        IInPlaceEditorInput {
-    IInPlaceEditor embeddedEditor;
-
-    /**
-     * A resource listener to update the input and in-place
-     * editor if the input's file resource changes.
-     */
-    private IResourceChangeListener resourceListener = new IResourceChangeListener() {
-        public void resourceChanged(IResourceChangeEvent event) {
-            IResourceDelta mainDelta = event.getDelta();
-            if (mainDelta != null && embeddedEditor != null) {
-                IResourceDelta affectedElement = mainDelta.findMember(getFile()
-                        .getFullPath());
-                if (affectedElement != null) {
-                    try {
-                        processDelta(affectedElement);
-                    } catch (CoreException exception) {
-                        // Failed so close the receiver
-                        if (embeddedEditor != null) {
-                            embeddedEditor.getSite().getPage().closeEditor(
-                                    embeddedEditor, true);
-                        }
-                    }
-                }
-            }
-        }
-
-        private boolean processDelta(final IResourceDelta delta)
-                throws CoreException {
-            Runnable changeRunnable = null;
-
-            switch (delta.getKind()) {
-            case IResourceDelta.REMOVED:
-                if ((IResourceDelta.MOVED_TO & delta.getFlags()) != 0) {
-                    changeRunnable = new Runnable() {
-                        public void run() {
-                            IPath path = delta.getMovedToPath();
-                            IFile newFile = delta.getResource().getWorkspace()
-                                    .getRoot().getFile(path);
-                            if (newFile != null && embeddedEditor != null) {
-                                embeddedEditor
-                                        .sourceChanged(new FileInPlaceEditorInput(
-                                                newFile));
-                            }
-                        }
-                    };
-                } else {
-                    changeRunnable = new Runnable() {
-                        public void run() {
-                            if (embeddedEditor != null) {
-                                embeddedEditor.sourceDeleted();
-                                embeddedEditor.getSite().getPage().closeEditor(
-                                        embeddedEditor, true);
-                            }
-                        }
-                    };
-
-                }
-
-                break;
-            }
-
-            if (changeRunnable != null && embeddedEditor != null) {
-                embeddedEditor.getSite().getShell().getDisplay().asyncExec(
-                        changeRunnable);
-            }
-
-            return true; // because we are sitting on files anyway
-        }
-    };
-
-    /**
-     * Creates an in-place editor input based on a file resource.
-     *
-     * @param file the file resource
-     */
-    public FileInPlaceEditorInput(IFile file) {
-        super(file);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IInPlaceEditorInput#setInPlaceEditor(org.eclipse.ui.IInPlaceEditor)
-     */
-    public void setInPlaceEditor(IInPlaceEditor editor) {
-        if (embeddedEditor != editor) {
-            if (embeddedEditor != null) {
-                getFile().getWorkspace().removeResourceChangeListener(
-                        resourceListener);
-            }
-
-            embeddedEditor = editor;
-
-            if (embeddedEditor != null) {
-                getFile().getWorkspace().addResourceChangeListener(
-                        resourceListener);
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java
deleted file mode 100644
index d77bf59..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/MarkerTransfer.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.part;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-
-/**
- * A <code>MarkerTransfer</code> is used to transfer an array of 
- * <code>IMarker</code>s from one part to another in a drag and drop 
- * operation.
- * <p>
- * In every drag and drop operation there is a <code>DragSource</code> and 
- * a <code>DropTarget</code>.  When a drag occurs a <code>Transfer</code> is 
- * used to marshall the drag data from the source into a byte array.  If a drop 
- * occurs another <code>Transfer</code> is used to marshall the byte array into
- * drop data for the target.
- * </p><p>
- * This class can be used for a <code>Viewer<code> or an SWT component directly.
- * A singleton is provided which may be serially reused (see <code>getInstance</code>).  
- * It is not intended to be subclassed.
- * </p>
- *
- * @see org.eclipse.jface.viewers.StructuredViewer
- * @see org.eclipse.swt.dnd.DropTarget
- * @see org.eclipse.swt.dnd.DragSource
- */
-public class MarkerTransfer extends ByteArrayTransfer {
-
-    /**
-     * Singleton instance.
-     */
-    private static final MarkerTransfer instance = new MarkerTransfer();
-
-    // Create a unique ID to make sure that different Eclipse
-    // applications use different "types" of <code>MarkerTransfer</code>
-    private static final String TYPE_NAME = "marker-transfer-format" + System.currentTimeMillis() + ":" + instance.hashCode();//$NON-NLS-2$//$NON-NLS-1$
-
-    private static final int TYPEID = registerType(TYPE_NAME);
-
-    private IWorkspace workspace;
-
-    /**
-     * Creates a new transfer object.
-     */
-    private MarkerTransfer() {
-    }
-
-    /**
-     * Locates and returns the marker associated with the given attributes.
-     *
-     * @param pathString the resource path
-     * @param id the id of the marker to get (as per {@link IResource#getMarker
-     *    IResource.getMarker})
-     * @return the specified marker
-     */
-    private IMarker findMarker(String pathString, long id) {
-        IPath path = new Path(pathString);
-        IResource resource = workspace.getRoot().findMember(path);
-        if (resource != null) {
-            return resource.getMarker(id);
-        }
-        return null;
-    }
-
-    /**
-     * Returns the singleton instance.
-     *
-     * @return the singleton instance
-     */
-    public static MarkerTransfer getInstance() {
-        return instance;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Transfer.
-     */
-    protected int[] getTypeIds() {
-        return new int[] { TYPEID };
-    }
-
-    /* (non-Javadoc)
-     * Returns the type names.
-     *
-     * @return the list of type names
-     */
-    protected String[] getTypeNames() {
-        return new String[] { TYPE_NAME };
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Transfer.
-     * On a successful conversion, the transferData.result field will be set to
-     * OLE.S_OK. If this transfer agent is unable to perform the conversion, the
-     * transferData.result field will be set to the failure value of OLE.DV_E_TYMED.
-     */
-    protected void javaToNative(Object object, TransferData transferData) {
-        /**
-         * Transfer data is an array of markers.  Serialized version is:
-         * (int) number of markers
-         * (Marker) marker 1
-         * (Marker) marker 2
-         * ... repeat last four for each subsequent marker
-         * see writeMarker for the (Marker) format.
-         */
-        Object[] markers = (Object[]) object;
-        lazyInit(markers);
-
-        ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
-        DataOutputStream out = new DataOutputStream(byteOut);
-
-        byte[] bytes = null;
-
-        try {
-            /* write number of markers */
-            out.writeInt(markers.length);
-
-            /* write markers */
-            for (int i = 0; i < markers.length; i++) {
-                writeMarker((IMarker) markers[i], out);
-            }
-            out.close();
-            bytes = byteOut.toByteArray();
-        } catch (IOException e) {
-            //when in doubt send nothing
-        }
-
-        if (bytes != null) {
-            super.javaToNative(bytes, transferData);
-        }
-    }
-
-    /**
-     * Initializes the transfer mechanism if necessary.
-     */
-    private void lazyInit(Object[] markers) {
-        if (workspace == null) {
-            if (markers != null && markers.length > 0) {
-                this.workspace = ((IMarker) markers[0]).getResource()
-                        .getWorkspace();
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Transfer.
-     */
-    protected Object nativeToJava(TransferData transferData) {
-        byte[] bytes = (byte[]) super.nativeToJava(transferData);
-        DataInputStream in = new DataInputStream(
-                new ByteArrayInputStream(bytes));
-
-        try {
-            /* read number of markers */
-            int n = in.readInt();
-
-            /* read markers */
-            IMarker[] markers = new IMarker[n];
-            for (int i = 0; i < n; i++) {
-                IMarker marker = readMarker(in);
-                if (marker == null) {
-                    return null;
-                }
-                markers[i] = marker;
-            }
-            return markers;
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Reads and returns a single marker from the given stream.
-     *
-     * @param dataIn the input stream
-     * @return the marker
-     * @exception IOException if there is a problem reading from the stream
-     */
-    private IMarker readMarker(DataInputStream dataIn) throws IOException {
-        /**
-         * Marker serialization format is as follows:
-         * (String) path of resource for marker
-         * (int) marker ID
-         */
-        String path = dataIn.readUTF();
-        long id = dataIn.readLong();
-        return findMarker(path, id);
-    }
-
-    /**
-     * Writes the given marker to the given stream.
-     *
-     * @param marker the marker
-     * @param dataOut the output stream
-     * @exception IOException if there is a problem writing to the stream
-     */
-    private void writeMarker(IMarker marker, DataOutputStream dataOut)
-            throws IOException {
-        /**
-         * Marker serialization format is as follows:
-         * (String) path of resource for marker
-         * (int) marker ID
-         */
-
-        dataOut.writeUTF(marker.getResource().getFullPath().toString());
-        dataOut.writeLong(marker.getId());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java b/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.java
deleted file mode 100644
index 20f7d3c..0000000
--- a/bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/part/ResourceTransfer.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.ui.part;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-
-/**
- * The <code>ResourceTransfer</code> class is used to transfer an
- * array of <code>IResources</code>s from one part to another in a 
- * drag and drop operation or a cut, copy, paste action.
- * <p>
- * In every drag and drop operation there is a <code>DragSource</code> and 
- * a <code>DropTarget</code>.  When a drag occurs a <code>Transfer</code> is 
- * used to marshall the drag data from the source into a byte array.  If a drop 
- * occurs another <code>Transfer</code> is used to marshall the byte array into
- * drop data for the target.  
- * </p>
- * <p>
- * When a <code>CutAction</code> or a <code>CopyAction</code> is performed, 
- * this transfer is used to place references to the selected resources 
- * on the <code>Clipboard</code>.  When a <code>PasteAction</code> is performed, the 
- * references on the clipboard are used to move or copy the resources
- * to the selected destination.
- * </p>
- * <p>
- * This class can be used for a <code>Viewer<code> or an SWT component directly.
- * A singleton is provided which may be serially reused (see <code>getInstance</code>).  
- * It is not intended to be subclassed.
- * </p>
- *
- * @see org.eclipse.jface.viewers.StructuredViewer
- * @see org.eclipse.swt.dnd.DropTarget
- * @see org.eclipse.swt.dnd.DragSource
- */
-public class ResourceTransfer extends ByteArrayTransfer {
-
-    /**
-     * Singleton instance.
-     */
-    private static final ResourceTransfer instance = new ResourceTransfer();
-
-    // Create a unique ID to make sure that different Eclipse
-    // applications use different "types" of <code>ResourceTransfer</code>
-    private static final String TYPE_NAME = "resource-transfer-format:" + System.currentTimeMillis() + ":" + instance.hashCode();//$NON-NLS-2$//$NON-NLS-1$
-
-    private static final int TYPEID = registerType(TYPE_NAME);
-
-    private IWorkspace workspace = ResourcesPlugin.getWorkspace();
-
-    /**
-     * Creates a new transfer object.
-     */
-    private ResourceTransfer() {
-    }
-
-    /**
-     * Returns the singleton instance.
-     *
-     * @return the singleton instance
-     */
-    public static ResourceTransfer getInstance() {
-        return instance;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Transfer.
-     */
-    protected int[] getTypeIds() {
-        return new int[] { TYPEID };
-    }
-
-    /* (non-Javadoc)
-     * Returns the type names.
-     *
-     * @return the list of type names
-     */
-    protected String[] getTypeNames() {
-        return new String[] { TYPE_NAME };
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Transfer.
-     */
-    protected void javaToNative(Object data, TransferData transferData) {
-        if (!(data instanceof IResource[])) {
-            return;
-        }
-
-        IResource[] resources = (IResource[]) data;
-        /**
-         * The resource serialization format is:
-         *  (int) number of resources
-         * Then, the following for each resource:
-         *  (int) resource type
-         *  (String) path of resource
-         */
-
-        int resourceCount = resources.length;
-
-        try {
-            ByteArrayOutputStream out = new ByteArrayOutputStream();
-            DataOutputStream dataOut = new DataOutputStream(out);
-
-            //write the number of resources
-            dataOut.writeInt(resourceCount);
-
-            //write each resource
-            for (int i = 0; i < resources.length; i++) {
-                writeResource(dataOut, resources[i]);
-            }
-
-            //cleanup
-            dataOut.close();
-            out.close();
-            byte[] bytes = out.toByteArray();
-            super.javaToNative(bytes, transferData);
-        } catch (IOException e) {
-            //it's best to send nothing if there were problems
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Transfer.
-     */
-    protected Object nativeToJava(TransferData transferData) {
-        /**
-         * The resource serialization format is:
-         *  (int) number of resources
-         * Then, the following for each resource:
-         *  (int) resource type
-         *  (String) path of resource
-         */
-
-        byte[] bytes = (byte[]) super.nativeToJava(transferData);
-        if (bytes == null)
-            return null;
-        DataInputStream in = new DataInputStream(
-                new ByteArrayInputStream(bytes));
-        try {
-            int count = in.readInt();
-            IResource[] results = new IResource[count];
-            for (int i = 0; i < count; i++) {
-                results[i] = readResource(in);
-            }
-            return results;
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    /**
-     * Reads a resource from the given stream.
-     *
-     * @param dataIn the input stream
-     * @return the resource
-     * @exception IOException if there is a problem reading from the stream
-     */
-    private IResource readResource(DataInputStream dataIn) throws IOException {
-        int type = dataIn.readInt();
-        String path = dataIn.readUTF();
-        switch (type) {
-        case IResource.FOLDER:
-            return workspace.getRoot().getFolder(new Path(path));
-        case IResource.FILE:
-            return workspace.getRoot().getFile(new Path(path));
-        case IResource.PROJECT:
-            return workspace.getRoot().getProject(path);
-        }
-        throw new IllegalArgumentException(
-                "Unknown resource type in ResourceTransfer.readResource"); //$NON-NLS-1$
-    }
-
-    /**
-     * Writes the given resource to the given stream.
-     *
-     * @param dataOut the output stream
-     * @param resource the resource
-     * @exception IOException if there is a problem writing to the stream
-     */
-    private void writeResource(DataOutputStream dataOut, IResource resource)
-            throws IOException {
-        dataOut.writeInt(resource.getType());
-        dataOut.writeUTF(resource.getFullPath().toString());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif
deleted file mode 100644
index f7e6cc0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif
deleted file mode 100644
index 4539ebd..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/configs.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index ba6d891..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif
deleted file mode 100644
index 4957126..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index c5c70e1..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif
deleted file mode 100644
index e2ab9b0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif
deleted file mode 100644
index 8c92e4a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif
deleted file mode 100644
index 8a23317..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif
deleted file mode 100644
index fff68f9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif
deleted file mode 100644
index f707e71..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif
deleted file mode 100644
index 319fe8d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif
deleted file mode 100644
index 0e83deb..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif
deleted file mode 100644
index 31fa365..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dlcl16/usearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif
deleted file mode 100644
index 264b1c4..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif
deleted file mode 100644
index 33d8df7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif
deleted file mode 100644
index b285d84..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif
deleted file mode 100644
index e25b90a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif
deleted file mode 100644
index 3a00d8e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif
deleted file mode 100644
index 8c682c0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif
deleted file mode 100644
index 2821f3e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif
deleted file mode 100644
index 5b4b24c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif
deleted file mode 100644
index 954a83c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/next_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif
deleted file mode 100644
index a572efb..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/prev_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif b/bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif
deleted file mode 100644
index c8f8871..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/dtool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif
deleted file mode 100644
index a5ac28d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif
deleted file mode 100644
index c984fba..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/configs.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 6fe6f0e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif
deleted file mode 100644
index cf62b63..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 049cac6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif
deleted file mode 100644
index 3d4241b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif
deleted file mode 100644
index 6514f7b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif
deleted file mode 100644
index 2ff6678..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif
deleted file mode 100644
index 96028b3..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif
deleted file mode 100644
index 6c6bd58..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif
deleted file mode 100644
index e3a7cc7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif
deleted file mode 100644
index 5080599..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/elcl16/usearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif
deleted file mode 100644
index 39ee592..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif
deleted file mode 100644
index 7c3b2ba..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif
deleted file mode 100644
index b7a493c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif
deleted file mode 100644
index 27d5648..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif
deleted file mode 100644
index a159667..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif
deleted file mode 100644
index 9d05088..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif
deleted file mode 100644
index 310eb18..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif
deleted file mode 100644
index fbbac0f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif
deleted file mode 100644
index ce1e02f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/next_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif
deleted file mode 100644
index 88d173f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/prev_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif b/bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif
deleted file mode 100644
index d540a01..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/etool16/search_src.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif
deleted file mode 100644
index 8eefad3..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/bkmrk_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif
deleted file mode 100644
index 4b98a62..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/filenav_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif
deleted file mode 100644
index 807b28a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/problems_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/pview.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/pview.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/pview.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif
deleted file mode 100644
index 1b8fe00..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/resource_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif
deleted file mode 100644
index d3d10f5..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/eview16/tasks_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif
deleted file mode 100644
index 82c7fbd..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/bkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/complete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif
deleted file mode 100644
index 6052a86..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/cprj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif
deleted file mode 100644
index 9b048d6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/error_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif
deleted file mode 100644
index d6344db..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_complete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif
deleted file mode 100644
index 33cc76e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/header_priority.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif
deleted file mode 100644
index 609dbb7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/hprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif
deleted file mode 100644
index f6b9f8a..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/incomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif
deleted file mode 100644
index 2da001e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/info_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif
deleted file mode 100644
index a6815bc..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/lprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif
deleted file mode 100644
index a4ea580..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif
deleted file mode 100644
index c73e332..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/taskmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif
deleted file mode 100644
index 14009e9..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/warn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif
deleted file mode 100644
index 2f1c5a8..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/warning.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif
deleted file mode 100644
index 672442f..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_banner.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif
deleted file mode 100644
index b226e41..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif
deleted file mode 100644
index a16ac83..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/welcome_item.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif b/bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif
deleted file mode 100644
index 2e4de3d..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/obj16/workset.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif b/bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif
deleted file mode 100644
index 4f1440e..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/ovr16/link_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif b/bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif
deleted file mode 100644
index 27c0cfb..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/ovr16/linkwarn_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif
deleted file mode 100644
index 1581898..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif
deleted file mode 100644
index 0cbc9bd..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif
deleted file mode 100644
index e2045ed..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif
deleted file mode 100644
index db114c8..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif
deleted file mode 100644
index 136e94c..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif
deleted file mode 100644
index f988dc6..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif
deleted file mode 100644
index dc7d3a7..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif b/bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif
deleted file mode 100644
index b2beab0..0000000
--- a/bundles/org.eclipse.ui.ide/icons/full/wizban/workset_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.ide/plugin.properties b/bundles/org.eclipse.ui.ide/plugin.properties
deleted file mode 100644
index 5581ede..0000000
--- a/bundles/org.eclipse.ui.ide/plugin.properties
+++ /dev/null
@@ -1,132 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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 = Eclipse IDE UI
-Plugin.providerName = Eclipse.org
-
-Win32Fragment.fragmentName=Win32 fragment
-
-ExtPoint.markerHelp = Marker Help
-ExtPoint.markerImageProviders = Marker Image Providers
-ExtPoint.markerResolution = Marker Resolution
-ExtPoint.projectNatureImages = Project Nature Images
-ExtPoint.resourceFilters = Resource Filters
-
-Editors.WelcomeEditor = Welcome
-ExportWizards.FileSystem = File system
-ExportWizards.ZipFile = Archive file
-ExportWizards.FileSystemDescription = Export resources to the local file system.
-ExportWizards.ZipFileDescription = Export resources to an archive file on the local file system.
-ImportWizards.FileSystem = File system
-ImportWizards.ZipFile = Archive file
-ImportWizards.ExternalProject = Existing Project into Workspace
-ImportWizards.FileSystemDescription=Import resources from the local file system.
-ImportWizards.ZipFileDescription=Import resources from an archive file on the local file system.
-ImportWizards.ExternalProjectDescription=Create a new Project from an Eclipse project in the file system. This does not copy the project into the workspace.
-NewWizards.Category.Examples = Examples
-NewWizards.Category.Basic = Simple
-NewWizards.project = Project
-NewWizards.project.description = Create a new project resource
-NewWizards.folder = Folder
-NewWizards.folder.description = Create a new folder resource
-NewWizards.file = File
-NewWizards.file.description = Create a new file resource
-Perspective.resourcePerspective = Resource
-PreferencePages.Workbench = General
-PreferencePages.Editors = Editors
-PreferencePages.LinkedResources = Linked Resources
-PreferencePages.FileEditors = File Associations
-PreferencePages.FileStates = Local History
-PreferencePages.Perspectives = Perspectives
-PreferencePages.Views = Appearance
-PreferencePages.BuildOrder = Build Order
-PreferencePages.ColorsAndFonts = Colors and Fonts
-PreferencePages.Decorators = Label Decorations
-PreferencePages.Startup = Startup and Shutdown
-PreferencePages.Keys = Keys
-PreferencePages.Activities = Capabilities
-PropertyPages.project.reference = Project References
-PropertyPages.info.file = Info
-
-Views.ResourceNavigator = Navigator
-Views.Bookmark = Bookmarks
-Views.Task = Tasks
-Views.Problem = Problems
-Views.Progress = Progress
-
-WorkingSets.resource = Resource
-NavigateActionSet.label = Resource Navigation
-NavigateActionSet.description = Action set containing resource navigation actions
-
-GoToResourceAction.label = &Resource...
-DecoratorLinkedResource.label = Linked Resources
-DecoratorLinkedResource.description = Adds an icon decoration to linked resources.
-OpenWorkspaceFileAction.label = Open Reso&urce...
-
-About.updateSummaryTitle = Update Manager Log
-
-category.perspective.name=Perspectives
-category.perspective.description=Commands for opening perspectives
-category.project.name=Project
-category.project.description=
-category.view.name=Views
-category.view.description=Commands for opening views
-
-command.addTask.description = Add a task
-command.addTask.name = Add Task
-command.buildAll.description = Build all projects
-command.buildAll.name = Build All
-command.buildClean.description = Discard old built state
-command.buildClean.name = Build Clean
-command.buildLast.description = Repeat the last working set build
-command.buildLast.name = Repeat Working Set Build
-command.buildProject.description = Build the selected project
-command.buildProject.name = Build Project
-command.closeProject.description = Close the selected project
-command.closeProject.name = Close Project
-command.correctionAssistProposals.description = Suggest possible fixes for a problem
-command.correctionAssistProposals.name = Quick Fix
-command.goToResource.description = Go to a particular resource in the active view
-command.goToResource.name = Go to Resource
-command.openProject.description = Open a project
-command.openProject.name = Open Project
-command.openResource.description = Open an editor on a particular resource
-command.openResource.name = Open Resource
-command.openResourcePerspective.description = Open the resource perspective
-command.openWorkspace.description = Open the workspace selection dialog
-command.openWorkspace.name = Open Workspace
-command.projectProperties.description = Display the properties of the selected item's project 
-command.projectProperties.name = Properties
-command.rebuildAll.description = Rebuild all projects
-command.rebuildAll.name = Rebuild All
-command.rebuildProject.description = Rebuild the selected projects
-command.rebuildProject.name = Rebuild Project
-command.showProblemsView.description = Show the Problems view
-command.showResourceNavigator.description = Show the Navigator view
-command.showProgressView.description = Show the Progress view
-command.showBookmarkView.description = Show the Bookmarks view
-command.showTaskView.description = Show the Tasks view
-
-command.showInQuickMenu.name= Show In menu
-command.showInQuickMenu.description = Open the Show In menu
-
-command.newQuickMenu.name= New menu
-command.newQuickMenu.description= Open the New menu
-
-UpdateActionSet.label = Software Updates
-UpdateActionSet.menu.label = &Software Updates
-UpdateActionSet.updates.label = &Find and Install...
-UpdateActionSet.configManager.label = &Manage Configuration...
-
-KeyBindingActionSet.label = Keyboard Shortcuts
-KeyBindingActionSet.showKeyAssist.label = Show Key Assist...
-
-PreferenceKeywords.Editing = Editing
-PreferenceKeywords.Appearance = Appearance
diff --git a/bundles/org.eclipse.ui.ide/plugin.xml b/bundles/org.eclipse.ui.ide/plugin.xml
deleted file mode 100644
index bf5aba7..0000000
--- a/bundles/org.eclipse.ui.ide/plugin.xml
+++ /dev/null
@@ -1,730 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.ide"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.internal.ide.IDEWorkbenchPlugin">
-
-   <runtime>
-      <library name="ide.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-     <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.update.configurator"/>
-      <import plugin="org.eclipse.update.core"/>
-      <import plugin="org.eclipse.update.ui"/>
-      <import plugin="org.eclipse.core.expressions"/>
-   </requires>
-
-
-<!-- IDE extension points -->
-   <extension-point id="markerHelp" name="%ExtPoint.markerHelp" schema="schema/markerHelp.exsd"/>
-   <extension-point id="markerImageProviders" name="%ExtPoint.markerImageProviders" schema="schema/markerImageProviders.exsd"/>
-   <extension-point id="markerResolution" name="%ExtPoint.markerResolution" schema="schema/markerResolution.exsd"/>
-   <extension-point id="projectNatureImages" name="%ExtPoint.projectNatureImages" schema="schema/projectNatureImages.exsd"/>
-   <extension-point id="resourceFilters" name="%ExtPoint.resourceFilters" schema="schema/resourceFilters.exsd"/>
-
-   <extension
-         id="workbench"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.internal.ide.IDEApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%Perspective.resourcePerspective"
-            icon="icons/full/eview16/resource_persp.gif"
-            class="org.eclipse.ui.internal.ide.ResourcePerspective"
-            id="org.eclipse.ui.resourcePerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <showInPart
-               id="org.eclipse.ui.views.ResourceNavigator">
-         </showInPart>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.importWizards">
-      <wizard
-            name="%ImportWizards.FileSystem"
-            icon="icons/full/etool16/importdir_wiz.gif"
-            class="org.eclipse.ui.wizards.datatransfer.FileSystemImportWizard"
-            id="org.eclipse.ui.wizards.import.FileSystem">
-         <description>
-            %ImportWizards.FileSystemDescription
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-      <wizard
-            name="%ImportWizards.ExternalProject"
-            icon="icons/full/etool16/newprj_wiz.gif"
-            class="org.eclipse.ui.wizards.datatransfer.ExternalProjectImportWizard"
-            id="org.eclipse.ui.wizards.import.ExternalProject">
-         <description>
-            %ImportWizards.ExternalProjectDescription
-         </description>
-      </wizard>
-      <wizard
-            name="%ImportWizards.ZipFile"
-            icon="icons/full/etool16/importzip_wiz.gif"
-            class="org.eclipse.ui.wizards.datatransfer.ZipFileImportWizard"
-            id="org.eclipse.ui.wizards.import.ZipFile">
-         <description>
-            %ImportWizards.ZipFileDescription
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.exportWizards">
-      <wizard
-            name="%ExportWizards.FileSystem"
-            icon="icons/full/etool16/exportdir_wiz.gif"
-            class="org.eclipse.ui.wizards.datatransfer.FileSystemExportWizard"
-            id="org.eclipse.ui.wizards.export.FileSystem">
-         <description>
-            %ExportWizards.FileSystemDescription
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-      <wizard
-            name="%ExportWizards.ZipFile"
-            icon="icons/full/etool16/exportzip_wiz.gif"
-            class="org.eclipse.ui.wizards.datatransfer.ZipFileExportWizard"
-            id="org.eclipse.ui.wizards.export.ZipFile">
-         <description>
-            %ExportWizards.ZipFileDescription
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerImageProviders">
-      <imageprovider
-            markertype="org.eclipse.core.resources.taskmarker"
-            icon="icons/full/eview16/tasks_tsk.gif"
-            id="org.eclipse.ui.taskMarkerProvider">
-      </imageprovider>
-      <imageprovider
-            markertype="org.eclipse.core.resources.problemmarker"
-            class="org.eclipse.ui.internal.ide.ProblemImageProvider"
-            id="org.eclipse.ui.problemMarkerProvider">
-      </imageprovider>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%NewWizards.Category.Examples"
-            id="org.eclipse.ui.Examples">
-      </category>
-      <category
-            name="%NewWizards.Category.Basic"
-            id="org.eclipse.ui.Basic">
-      </category>
-      <wizard
-            name="%NewWizards.project"
-            icon="icons/full/etool16/newprj_wiz.gif"
-            category="org.eclipse.ui.Basic"
-            class="org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard"
-            project="true"
-            id="org.eclipse.ui.wizards.new.project">
-         <description>
-            %NewWizards.project.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewWizards.folder"
-            icon="icons/full/etool16/newfolder_wiz.gif"
-            category="org.eclipse.ui.Basic"
-            class="org.eclipse.ui.wizards.newresource.BasicNewFolderResourceWizard"
-            id="org.eclipse.ui.wizards.new.folder">
-         <description>
-            %NewWizards.folder.description
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-      <wizard
-            name="%NewWizards.file"
-            icon="icons/full/etool16/newfile_wiz.gif"
-            category="org.eclipse.ui.Basic"
-            class="org.eclipse.ui.wizards.newresource.BasicNewFileResourceWizard"
-            id="org.eclipse.ui.wizards.new.file">
-         <description>
-            %NewWizards.file.description
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.WelcomeEditor"
-            icon="icons/full/obj16/welcome_editor.gif"
-            class="org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"
-            contributorClass="org.eclipse.ui.internal.ide.dialogs.WelcomeEditorActionContributor"
-            id="org.eclipse.ui.internal.ide.dialogs.WelcomeEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.ui.internal.ide.model.ResourceFactory"
-            id="org.eclipse.ui.internal.model.ResourceFactory">
-      </factory>
-      <factory
-            class="org.eclipse.ui.internal.ide.model.WorkspaceFactory"
-            id="org.eclipse.ui.internal.model.WorkspaceFactory">
-      </factory>
-      <factory
-            class="org.eclipse.ui.part.FileEditorInputFactory"
-            id="org.eclipse.ui.part.FileEditorInputFactory">
-      </factory>
-      <factory
-            class="org.eclipse.ui.internal.ide.dialogs.WelcomeEditorInputFactory"
-            id="org.eclipse.ui.internal.dialogs.WelcomeEditorInputFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.workingSets">
-      <workingSet
-            name="%WorkingSets.resource"
-            pageClass="org.eclipse.ui.internal.ide.dialogs.ResourceWorkingSetPage"
-            icon="icons/full/obj16/workset.gif"
-            id="org.eclipse.ui.resourceWorkingSetPage">
-      </workingSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%NavigateActionSet.label"
-            description="%NavigateActionSet.description"
-            visible="false"
-            id="org.eclipse.ui.NavigateActionSet">
-         <action
-               definitionId="org.eclipse.ui.navigate.goToResource"
-               label="%GoToResourceAction.label"
-               icon="icons/full/elcl16/gotoobj_tsk.gif"
-               menubarPath="navigate/goTo/"
-               retarget="true"
-               id="goToResource">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.navigate.openResource"
-               label="%OpenWorkspaceFileAction.label"
-               helpContextId="org.eclipse.ui.open_workspace_file_action_context"
-               class="org.eclipse.ui.internal.ide.actions.OpenWorkspaceFileAction"
-               menubarPath="navigate/open.ext2"
-               id="org.eclipse.ui.OpenWorkspaceFile">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            lightweight="true"
-            adaptable="true"
-            location="BOTTOM_RIGHT"
-            label="%DecoratorLinkedResource.label"
-            class="org.eclipse.ui.internal.ide.LinkedResourceDecorator"
-            state="true"
-            id="org.eclipse.ui.LinkedResourceDecorator">
-         <description>
-            %DecoratorLinkedResource.description
-         </description>
-         <enablement>
-            <objectClass
-                  name="org.eclipse.core.resources.IResource">
-            </objectClass>
-         </enablement>
-      </decorator>
-   </extension>
-   <extension
-   		point="org.eclipse.ui.keywords">
-    <keyword
-            label="%PreferenceKeywords.Editing"
-            id="org.eclipse.ui.ide.editing"/>
-      <keyword
-            label="%PreferenceKeywords.Appearance"
-            id="org.eclipse.ui.ide.appearance"/>
-   </extension>      
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEWorkbenchPreferencePage"
-            id="org.eclipse.ui.preferencePages.Workbench">
-      </page>
-      <page
-            name="%PreferencePages.Editors"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEEditorsPreferencePage"
-            id="org.eclipse.ui.preferencePages.Editors">
-         <keywordReference id="org.eclipse.ui.ide.editing"/>
-      </page>
-      <page
-            name="%PreferencePages.Perspectives"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEPerspectivesPreferencePage"
-            id="org.eclipse.ui.preferencePages.Perspectives">
-         <keywordReference id="org.eclipse.ui.ide.appearance"/>
-      </page>
-      <page
-            name="%PreferencePages.LinkedResources"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.LinkedResourcesPreferencePage"
-            id="org.eclipse.ui.preferencePages.LinkedResources">
-      </page>
-      <page
-            name="%PreferencePages.FileStates"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.FileStatesPage"
-            id="org.eclipse.ui.preferencePages.FileStates">
-      </page>
-      <page
-            name="%PreferencePages.BuildOrder"
-            class="org.eclipse.ui.internal.ide.dialogs.BuildOrderPreferencePage"
-            id="org.eclipse.ui.preferencePages.BuildOrder">
-      </page>
-      <page
-            name="%PreferencePages.FileEditors"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.dialogs.FileEditorsPreferencePage"
-            id="org.eclipse.ui.preferencePages.FileEditors">
-         <keywordReference id="org.eclipse.ui.ide.editing"/>
-      </page>
-      <page
-            name="%PreferencePages.Views"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.dialogs.ViewsPreferencePage"
-            id="org.eclipse.ui.preferencePages.Views">
-         <keywordReference id="org.eclipse.ui.ide.appearance"/>
-      </page>
-      <page
-            name="%PreferencePages.ColorsAndFonts"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.themes.ColorsAndFontsPreferencePage"
-            id="org.eclipse.ui.preferencePages.ColorsAndFonts">
-         <keywordReference id="org.eclipse.ui.ide.appearance"/>
-      </page>
-      <page
-            name="%PreferencePages.Decorators"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.dialogs.DecoratorsPreferencePage"
-            id="org.eclipse.ui.preferencePages.Decorators">
-         <keywordReference id="org.eclipse.ui.ide.appearance"/>
-      </page>
-      <page
-            name="%PreferencePages.Startup"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.ide.dialogs.IDEStartupPreferencePage"
-            id="org.eclipse.ui.preferencePages.Startup">
-      </page>
-      <page
-            name="%PreferencePages.Keys"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.ui.internal.commands.KeysPreferencePage"
-            id="org.eclipse.ui.preferencePages.Keys">
-      </page>
-      <page
-            class="org.eclipse.ui.internal.dialogs.ActivitiesPreferencePage"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            name="%PreferencePages.Activities"
-            id="org.eclipse.ui.ide.page1"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%Views.Progress"
-            icon="icons/full/eview16/pview.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.internal.progress.JobView"
-            id="org.eclipse.ui.views.ProgressView">
-      </view>
-      <view
-            name="%Views.ResourceNavigator"
-            icon="icons/full/eview16/filenav_nav.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.navigator.ResourceNavigator"
-            id="org.eclipse.ui.views.ResourceNavigator">
-      </view>
-      <view
-            name="%Views.Bookmark"
-            icon="icons/full/eview16/bkmrk_nav.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.markers.internal.BookmarkView"
-            id="org.eclipse.ui.views.BookmarkView">
-      </view>
-      <view
-            name="%Views.Task"
-            icon="icons/full/eview16/tasks_tsk.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.markers.internal.TaskView"
-            id="org.eclipse.ui.views.TaskList">
-      </view>
-      <view
-            name="%Views.Problem"
-            icon="icons/full/eview16/problems_view.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.markers.internal.ProblemView"
-            id="org.eclipse.ui.views.ProblemView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.resourceFilters">
-      <filter
-            selected="false"
-            pattern=".*">
-      </filter>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%PropertyPages.project.reference"
-            class="org.eclipse.ui.internal.ide.dialogs.ProjectReferencePage"
-            id="org.eclipse.ui.propertypages.project.reference">
-      </page>
-      <page
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IResource"
-            name="%PropertyPages.info.file"
-            class="org.eclipse.ui.internal.ide.dialogs.ResourceInfoPage"
-            id="org.eclipse.ui.propertypages.info.file">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%category.view.name"
-            description="%category.view.description"
-            id="org.eclipse.ui.category.views">
-      </category>
-      <category
-            name="%category.project.name"
-            description="%category.project.description"
-            id="org.eclipse.ui.category.project">
-      </category>
-      <category
-            name="%category.perspective.name"
-            description="%category.perspective.description"
-            id="org.eclipse.ui.category.perspectives" />
-      <command
-      		name="%Perspective.resourcePerspective"
-      		description="%command.openResourcePerspective.description"
-      		categoryId="org.eclipse.ui.category.perspectives"
-      		id="org.eclipse.ui.resourcePerspective" />
-      <command
-            name="%Views.Problem"
-            description="%command.showProblemsView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ProblemView">
-      </command>
-      <command
-            name="%Views.ResourceNavigator"
-            description="%command.showResourceNavigator.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ResourceNavigator">
-      </command>  
-      <command
-            name="%Views.Progress"
-            description="%command.showProgressView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ProgressView">
-      </command>
-      <command
-            name="%Views.Bookmark"
-            description="%command.showBookmarkView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.BookmarkView">
-      </command>
-      <command
-            name="%Views.Task"
-            description="%command.showTaskView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.TaskList">
-      </command>
-      <command
-            name="%command.openWorkspace.name"
-            description="%command.openWorkspace.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.openWorkspace">
-      </command>
-      <command
-            name="%command.newQuickMenu.name"
-            description="%command.newQuickMenu.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.newQuickMenu">
-      </command>
-       <command
-            name="%command.showInQuickMenu.name"
-            description="%command.showInQuickMenu.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.showInQuickMenu">
-      </command>
-      <command
-            name="%command.goToResource.name"
-            description="%command.goToResource.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.goToResource">
-      </command>
-      
-      <command
-            name="%command.openResource.name"
-            description="%command.openResource.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.openResource">
-      </command>
-      <command
-            name="%command.openProject.name"
-            description="%command.openProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.openProject">
-      </command>
-      <command
-            name="%command.closeProject.name"
-            description="%command.closeProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.closeProject">
-      </command>
-      <command
-            name="%command.buildProject.name"
-            description="%command.buildProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.buildProject">
-      </command>
-      <command
-            name="%command.rebuildProject.name"
-            description="%command.rebuildProject.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.rebuildProject">
-      </command>
-      <command
-            name="%command.buildAll.name"
-            description="%command.buildAll.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.buildAll">
-      </command>
-      <command
-            name="%command.rebuildAll.name"
-            description="%command.rebuildAll.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.rebuildAll">
-      </command>
-      <command
-            name="%command.buildLast.name"
-            description="%command.buildLast.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.buildLast">
-      </command>
-      <command
-            name="%command.buildClean.name"
-            description="%command.buildClean.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.cleanAction">
-      </command>
-      <command
-            name="%command.projectProperties.name"
-            description="%command.projectProperties.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.ui.project.properties">
-      </command>
-      <command
-            name="%command.addTask.name"
-            description="%command.addTask.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.addTask">
-      </command>
-      <command
-            name="%command.correctionAssistProposals.name"
-            description="%command.correctionAssistProposals.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals">
-      </command>
-      <keyBinding
-            commandId="org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals"
-            keySequence="M1+1"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.openResource"
-            keySequence="Ctrl+Shift+R"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.project.buildAll"
-            keySequence="Ctrl+B"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.openResource"
-            platform="carbon"
-            keySequence="Command+Shift+R"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.project.buildAll"
-            platform="carbon"
-            keySequence="Command+B"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.showInQuickMenu"
-            contextId="org.eclipse.ui.contexts.window"
-            keySequence="Alt+Shift+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId=""
-            contextId="org.eclipse.ui.contexts.window"
-            keySequence="Alt+Shift+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId="org.eclipse.ui.navigate.showInQuickMenu"
-            contextId="org.eclipse.ui.contexts.window"
-            keySequence="Command+Alt+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.newQuickMenu"
-            contextId="org.eclipse.ui.contexts.window"
-            keySequence="Alt+Shift+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId=""
-            contextId="org.eclipse.ui.contexts.window"
-            keySequence="Alt+Shift+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            commandId="org.eclipse.ui.file.newQuickMenu"
-            contextId="org.eclipse.ui.contexts.window"
-            keySequence="Command+Alt+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            keySequence="Alt+Shift+Q X"
-            contextId="org.eclipse.ui.contexts.window"
-            commandId="org.eclipse.ui.views.ProblemView"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Alt+Shift+Q X"
-            contextId="org.eclipse.ui.contexts.window"
-            commandId=""
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Command+Alt+Q X"
-            contextId="org.eclipse.ui.contexts.window"
-            commandId="org.eclipse.ui.views.ProblemView"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.systemSummarySections">
-      <section
-      		id="15.UpdateSection"
-            sectionTitle="%About.updateSummaryTitle"
-            class="org.eclipse.ui.internal.ide.dialogs.ConfigurationLogUpdateSection">
-      </section>
-   </extension>
-<!-- Update Actions -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%UpdateActionSet.label"
-            visible="true"
-            id="org.eclipse.update.ui.softwareUpdates">
-         <menu
-               label="%UpdateActionSet.menu.label"
-               path="help/group.updates"
-               id="org.eclipse.update.ui.updateMenu">
-            <separator
-                  name="group0">
-            </separator>
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               label="%UpdateActionSet.configManager.label"
-               icon="icons/full/elcl16/configs.gif"
-               helpContextId="org.eclipse.update.ui.newUpdates"
-               class="org.eclipse.ui.internal.ide.update.ConfigurationManagerAction"
-               menubarPath="help/org.eclipse.update.ui.updateMenu/group0"
-               id="org.eclipse.update.ui.configManager">
-         </action>
-         <action
-               label="%UpdateActionSet.updates.label"
-               icon="icons/full/elcl16/usearch_obj.gif"
-               helpContextId="org.eclipse.update.ui.newUpdates"
-               class="org.eclipse.ui.internal.ide.update.InstallWizardAction"
-               menubarPath="help/org.eclipse.update.ui.updateMenu/group0"
-               id="org.eclipse.update.ui.newUpdates">
-         </action>
-      </actionSet>
-      <actionSet
-            label="%KeyBindingActionSet.label"
-            visible="true"
-            id="org.eclipse.ui.actionSet.keyBindings">
-         <action
-               label="%KeyBindingActionSet.showKeyAssist.label"
-               class="org.eclipse.ui.internal.commands.ws.ShowKeyAssistHandler"
-               menubarPath="help/group.main"
-               id="org.eclipse.ui.actions.showKeyAssistHandler"
-               definitionId="org.eclipse.ui.window.showKeyAssist">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer class="org.eclipse.ui.internal.ide.IDEPreferenceInitializer"/>
-   </extension>
-<!-- End Update -->
-   <extension
-         point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-            namespace="org.eclipse.ui.ide"
-            type="org.eclipse.core.resources.mapping.ResourceMapping"
-            class="org.eclipse.ui.internal.ide.model.ProjectPersistentPropertyTester"
-            properties="projectPersistentProperty"
-            id="org.eclipse.ui.ide.projectPersistentPropertyTester"/>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.ui.ide/schema/markerHelp.exsd b/bundles/org.eclipse.ui.ide/schema/markerHelp.exsd
deleted file mode 100644
index 2c4745c..0000000
--- a/bundles/org.eclipse.ui.ide/schema/markerHelp.exsd
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.ide">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.ide" id="markerHelp" name="Marker Help"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to associate a help context id with a specific &quot;kind&quot; of marker (a marker of a certain type or having certain attribute values).
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="markerHelp" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="markerHelp">
-      <complexType>
-         <sequence>
-            <element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="markerType" type="string">
-            <annotation>
-               <documentation>
-                  the unique type of the marker for which the help context applies.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique id of the help context.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="attribute">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the attribute whose value is being specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the specified value of the attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally added in release 2.0 as org.eclipse.ui.markerHelp)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a marker help extension (note the sub-element and the way attributes are used):
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.ide.markerHelp&quot;&gt;
-  &lt;markerHelp
-   markerType=&quot;org.eclipse.ui.examples.readmetool.readmemarker&quot;
-   helpContextId=&quot;org.eclipse.ui.examples.readmetool.marker_example1_context&quot;&gt;
-   &lt;attribute name=&quot;org.eclipse.ui.examples.readmetool.id&quot; value=&quot;1234&quot;/&gt;
-  &lt;/markerHelp&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, a help context id is associated with markers of type org.eclipse.ui.examples.readmetool.readmemarker
-whose org.eclipse.ui.examples.readmetool.id attribute has a value of 1234.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         It is up to the developer to ensure that only a single help context id is supplied for a given marker.
-If two or more help context ids are supplied for a given kind of marker, the workbench does not define which will be returned.
-However the workbench does define that the &quot;most specific&quot; context id will always be returned for a given marker.
-That is, a context id associated with three matching attribute values will be returned before a context id associated with only two.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd b/bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd
deleted file mode 100644
index 1f394ac..0000000
--- a/bundles/org.eclipse.ui.ide/schema/markerImageProviders.exsd
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.ide">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.ide" id="markerImageProviders" name="Marker Image Providers"/>
-      </appInfo>
-      <documentation>
-         The markerImageProvider extension point is the point for specifying the images for marker types in the defining plug-in.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="imageprovider" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="imageprovider">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this markerImageProvider.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="markertype" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The markertype is the id of the type defined in &lt;code&gt;org.eclipse.core.resources.IMarker&lt;/code&gt; that this definition is applied to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  If there is no class defined the icon attribute is used to define the icon that will be applied to this type of marker.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  The class is the fully qualifed name of the class that will be used to look up an image. This class must implement &lt;code&gt;IMarkerImageProvider&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally added in release 2.1 as org.eclipse.ui.markerImageProviders)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following an example of the two forms of marker image providers. The first one is one where the image does not change and is declared directly. For the second one the image must be determined by an instance of IMarkerImageProvider.
- 
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension
-         point=&quot;org.eclipse.ui.ide.markerImageProviders&quot;&gt;
-      &lt;imageprovider
-        markertype=&quot;org.eclipse.core.resources.taskmarker&quot;
-            icon=&quot;taskicon.gif&quot;
-            id=&quot;myPlugin.declarativeMarkerProvider&quot;&gt;
-      &lt;/imageprovider&gt;
-      &lt;imageprovider
-            markertype=&quot;org.eclipse.core.resources.problemmarker&quot;
-            class=&quot;myPlugin.MyIMarkerImageProvider&quot;
-            id=&quot;myPlugin.implementedMarkerProvider&quot;&gt;
-      &lt;/imageprovider&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.ide/schema/markerResolution.exsd b/bundles/org.eclipse.ui.ide/schema/markerResolution.exsd
deleted file mode 100644
index 09faa89..0000000
--- a/bundles/org.eclipse.ui.ide/schema/markerResolution.exsd
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.ide" id="markerResolution" name="Marker Resolutions"/>

-      </appInfo>

-      <documentation>

-         This extension point is used to associate a marker resolution generator with a specific &quot;kind&quot; of marker.

-(a marker of a certain type or having certain attribute values).

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="markerResolutionGenerator">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  the name of the class implementing IMarkerResolutionGenerator

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the type of marker for which the help context applies.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="attribute">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  the name of the attribute whose value is being specified.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the specified value of the attribute.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0 (originally added in release 2.0 as org.eclipse.ui.markerResolution)

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a marker resolution generator extension (note the sub-element and the way attributes are used):

-

-&lt;p&gt;

-&lt;pre&gt;

- &lt;extension point=&quot;org.eclipse.ui.ide.markerResolution&quot;&gt;

-  &lt;markerResolutionGenerator

-   class=&quot;org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator&quot;

-   markerType=&quot;org.eclipse.ui.examples.readmetool.readmemarker&quot;&gt;

-   &lt;attribute name=&quot;org.eclipse.ui.examples.readmetool.id&quot; value=&quot;1234&quot;/&gt;

-  &lt;/markerResolutionGenerator&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

-In the example above, a marker resolution generator is associated with markers of type org.eclipse.ui.examples.readmetool.readmemarker

-whose org.eclipse.ui.examples.redmetool.id attribute has a value of 1234.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         More than one marker help generator may be supplied for a given marker.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies 

-this distribution, and is available at 

-&lt;a 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd b/bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd
deleted file mode 100644
index c8687f3..0000000
--- a/bundles/org.eclipse.ui.ide/schema/projectNatureImages.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.ide">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.ide" id="projectNatureImages" name="Project Nature Images"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to associate an image with a project nature.
-The supplied image is used to form a composite image consisting of the standard project image combined with the image of its nature.
-The supplied image is drawn over the top right corner of the base image.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="image" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="image">
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this nature image.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="natureId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique name of the nature for which the image is being supplied.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a relative name of the image that will be associated with this perspective.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            a short description of what this image represents.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally added in release 1.0 as org.eclipse.ui.projectNatureImages)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a nature image extension:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.ide.projectNatureImages&quot;&gt;
-  &lt;image 
-    id=&quot;org.eclipse.ui.javaNatureImage&quot;
-    natureId=&quot;Resource&quot;
-    icon=&quot;icons/javaNature.gif&quot;&gt;
-  &lt;/image&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;natureId&lt;/samp&gt; attribute is the nature id as defined by the plugin creating the project.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd b/bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd
deleted file mode 100644
index 45e70dd..0000000
--- a/bundles/org.eclipse.ui.ide/schema/resourceFilters.exsd
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.ide">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.ide" id="resourceFilters" name="Resource Filters"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add predefined filters to views which show resources, such as the Navigator view.
-These filters can be selected to hide resources whose names match the filter&apos;s pattern.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filter">
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="pattern" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the pattern to match.  May contain * and ? wildcards.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="selected" type="boolean" use="default" value="false">
-            <annotation>
-               <documentation>
-                  &quot;true&quot; if the pattern should be selected by default, &quot;false&quot; or undefined if not.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            the description of the purpose of this filter.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally added in release 1.0 as org.eclipse.ui.resourceFilters)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a resource filter extension, which filters out class files, and is selected by default:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.ide.resourceFilters&quot;&gt;
-  &lt;filter pattern=&quot;*.class&quot; selected=&quot;true&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2003 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
deleted file mode 100644
index 1969030..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDE.java
+++ /dev/null
@@ -1,761 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-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.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IMarkerHelpRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.EditorManager;
-import org.eclipse.ui.internal.Workbench;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.MarkerHelpRegistry;
-import org.eclipse.ui.internal.ide.registry.MarkerHelpRegistryReader;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Collection of IDE-specific APIs factored out of existing workbench.
- * This class cannot be instantiated; all functionality is provided by 
- * static methods and fields.
- * 
- * @since 3.0
- */
-public final class IDE {
-    /**
-     * The persistent property key used on IFile resources to contain
-     * the preferred editor ID to use.
-     * <p>
-     * Example of retrieving the persisted editor id:
-     * <pre><code>
-     * IFile file = ...
-     * IEditorDescriptor editorDesc = null;
-     * try {
-     * 	String editorID = file.getPersistentProperty(EDITOR_KEY);
-     * 	if (editorID != null) {
-     * 		editorDesc = editorReg.findEditor(editorID);
-     * 	}
-     * } catch (CoreException e) {
-     * 	// handle problem accessing persistent property here
-     * }
-     * </code></pre>
-     * </p><p>
-     * Example of persisting the editor id:
-     * <pre><code>
-     * IFile file = ...
-     * try {
-     * 	file.setPersistentProperty(EDITOR_KEY, editorDesc.getId());
-     * } catch (CoreException e) {
-     * 	// handle problem setting persistent property here
-     * }
-     * </code></pre>
-     * </p>
-     */
-    public static final QualifiedName EDITOR_KEY = new QualifiedName(
-            "org.eclipse.ui.internal.registry.ResourceEditorRegistry", "EditorProperty");//$NON-NLS-2$//$NON-NLS-1$
-
-    /**
-     * An optional attribute within a workspace marker (<code>IMarker</code>) which
-     * identifies the preferred editor type to be opened.
-     */
-    public static final String EDITOR_ID_ATTR = "org.eclipse.ui.editorID"; //$NON-NLS-1$
-
-    /**
-     * The resource based perspective identifier.
-     */
-    public static final String RESOURCE_PERSPECTIVE_ID = "org.eclipse.ui.resourcePerspective"; //$NON-NLS-1$
-
-    /**
-     * Marker help registry mapping markers to help context ids and resolutions;
-     * lazily initialized on fist access.
-     */
-    private static MarkerHelpRegistry markerHelpRegistry = null;
-
-    /**
-     * An empty unmodifiable list. Used to avoid garbage creation.
-     */
-    private static final List emptyUnmodifiableList = Collections
-            .unmodifiableList(new ArrayList(0));
-
-    /**
-     * Standard shared images defined by the IDE. These are over and above the
-     * standard workbench images declared in {@link org.eclipse.ui.ISharedImages
-     * ISharedImages}.
-     * <p>
-     * This interface is not intended to be implemented by clients.
-     * </p>
-     * 
-     * @see org.eclipse.ui.ISharedImages
-     */
-    public interface SharedImages {
-        /**
-         * Identifies a project image.
-         */
-        public final static String IMG_OBJ_PROJECT = "IMG_OBJ_PROJECT"; //$NON-NLS-1$
-
-        /**
-         * Identifies a closed project image.
-         */
-        public final static String IMG_OBJ_PROJECT_CLOSED = "IMG_OBJ_PROJECT_CLOSED"; //$NON-NLS-1$
-
-        /**
-         * Identifies the image used for "open marker".
-         */
-        public final static String IMG_OPEN_MARKER = "IMG_OPEN_MARKER"; //$NON-NLS-1$
-
-        /**
-         * Identifies the default image used to indicate a task.
-         */
-        public final static String IMG_OBJS_TASK_TSK = "IMG_OBJS_TASK_TSK"; //$NON-NLS-1$
-
-        /**
-         * Identifies the default image used to indicate a bookmark.
-         */
-        public final static String IMG_OBJS_BKMRK_TSK = "IMG_OBJS_BKMRK_TSK"; //$NON-NLS-1$
-    }
-
-    /**
-     * Preferences defined by the IDE workbench.
-     * <p>
-     * This interface is not intended to be implemented by clients.
-     * </p>
-     */
-    public interface Preferences {
-        /**
-         * A named preference for how a new perspective should be opened
-         * when a new project is created.
-         * <p>
-         * Value is of type <code>String</code>.  The possible values are defined 
-         * by the constants <code>OPEN_PERSPECTIVE_WINDOW, OPEN_PERSPECTIVE_PAGE, 
-         * OPEN_PERSPECTIVE_REPLACE, and NO_NEW_PERSPECTIVE</code>.
-         * </p>
-         * 
-         * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_WINDOW
-         * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_PAGE
-         * @see org.eclipse.ui.IWorkbenchPreferenceConstants#OPEN_PERSPECTIVE_REPLACE
-         * @see org.eclipse.ui.IWorkbenchPreferenceConstants#NO_NEW_PERSPECTIVE
-         */
-        public static final String PROJECT_OPEN_NEW_PERSPECTIVE = "PROJECT_OPEN_NEW_PERSPECTIVE"; //$NON-NLS-1$
-    }
-
-    /**
-     * Block instantiation.
-     */
-    private IDE() {
-        // do nothing
-    }
-
-    /**
-     * Returns the marker help registry for the workbench.
-     * 
-     * @return the marker help registry
-     */
-    public static IMarkerHelpRegistry getMarkerHelpRegistry() {
-        if (markerHelpRegistry == null) {
-            markerHelpRegistry = new MarkerHelpRegistry();
-            new MarkerHelpRegistryReader().addHelp(markerHelpRegistry);
-        }
-        return markerHelpRegistry;
-    }
-
-    /**
-     * Sets the cursor and selection state for the given editor to 
-     * reveal the position of the given marker.
-     * This is done on a best effort basis.  If the editor does not
-     * provide an <code>IGotoMarker</code> interface (either directly
-     * or via <code>IAdaptable.getAdapter</code>), this has no effect.
-     * 
-     * @param editor the editor
-     * @param marker the marker
-     */
-    public static void gotoMarker(IEditorPart editor, IMarker marker) {
-        IGotoMarker gotoMarker = null;
-        if (editor instanceof IGotoMarker) {
-            gotoMarker = (IGotoMarker) editor;
-        } else {
-            gotoMarker = (IGotoMarker) editor.getAdapter(IGotoMarker.class);
-        }
-        if (gotoMarker != null) {
-            gotoMarker.gotoMarker(marker);
-        }
-    }
-
-    /**
-     * Opens an editor on the given object.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened.
-     * <p>
-     * 
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param editorId
-     *            the id of the editor extension to use
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage#openEditor(IEditorInput, String)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page,
-            IEditorInput input, String editorId) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(input, editorId);
-    }
-
-    /**
-     * Opens an editor on the given object.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param editorId
-     *            the id of the editor extension to use
-     * @param activate
-     * 			  if <code>true</code> the editor will be activated
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage#openEditor(IEditorInput, String, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page,
-            IEditorInput input, String editorId, boolean activate)
-            throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(input, editorId, activate);
-    }
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param activate
-     * 			  if <code>true</code> the editor will be activated
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage#openEditor(org.eclipse.ui.IEditorInput,
-     *      String, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input,
-            boolean activate) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        IEditorDescriptor editorDesc = getEditorDescriptor(input);
-        return page.openEditor(new FileEditorInput(input), editorDesc.getId(),
-                activate);
-    }
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage#openEditor(IEditorInput, String)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input)
-            throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        IEditorDescriptor editorDesc = getEditorDescriptor(input);
-        return page.openEditor(new FileEditorInput(input), editorDesc.getId());
-    }
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param editorId
-     *            the id of the editor extension to use
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage#openEditor(IEditorInput, String)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input,
-            String editorId) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(new FileEditorInput(input), editorId);
-    }
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If the page already has an editor open on the target object then that
-     * editor is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * @param page
-     *            the page in which the editor will be opened
-     * @param input
-     *            the editor input
-     * @param editorId
-     *            the id of the editor extension to use
-     * @param activate
-     * 			  if <code>true</code> the editor will be activated
-     * @return an open editor or <code>null</code> if an external editor was
-     *         opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see org.eclipse.ui.IWorkbenchPage#openEditor(IEditorInput, String, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IFile input,
-            String editorId, boolean activate) throws PartInitException {
-        //sanity checks
-        if (page == null)
-            throw new IllegalArgumentException();
-
-        // open the editor on the file
-        return page.openEditor(new FileEditorInput(input), editorId, activate);
-    }
-
-    /**
-     * Returns an editor descriptor appropriate for opening the given file resource.
-     * <p>
-     * The editor descriptor is determined using a multistep process.
-     * </p>
-     * <ol>
-     *   <li>The file is consulted for a persistent property named
-     *       <code>IDE.EDITOR_KEY</code> containing the preferred editor id
-     *       to be used.</li>
-     *   <li>The workbench editor registry is consulted to determine if an editor 
-     *			extension has been registered for the file type.  If so, an 
-     *			instance of the editor extension is opened on the file.  
-     *			See <code>IEditorRegistry.getDefaultEditor(String)</code>.</li>
-     *   <li>The operating system is consulted to determine if an in-place
-     *       component editor is available (e.g. OLE editor on Win32 platforms).</li>
-     *   <li>The operating system is consulted to determine if an external
-     * 		editor is available.</li>
-     * </ol>
-     * </p>
-     * @param file the file
-     * @return an editor descriptor, appropriate for opening the file
-     * @throws PartInitException if no editor can be found
-     */
-    public static IEditorDescriptor getEditorDescriptor(IFile file)
-            throws PartInitException {
-
-		if (file == null) {
-			throw new IllegalArgumentException();
-		}
-
-		return getEditorDescriptor(file.getName(), PlatformUI.getWorkbench()
-				.getEditorRegistry(), getDefaultEditor(file));
-	}
-
-	/**
-	 * Returns an editor descriptor appropriate for opening a file resource with
-	 * the given name.
-	 * <p>
-	 * The editor descriptor is determined using a multistep process.
-	 * </p>
-	 * <ol>
-	 * <li>The file is consulted for a persistent property named
-	 * <code>IDE.EDITOR_KEY</code> containing the preferred editor id to be
-	 * used.</li>
-	 * <li>The workbench editor registry is consulted to determine if an editor
-	 * extension has been registered for the file type. If so, an instance of
-	 * the editor extension is opened on the file. See
-	 * <code>IEditorRegistry.getDefaultEditor(String)</code>.</li>
-	 * <li>The operating system is consulted to determine if an in-place
-	 * component editor is available (e.g. OLE editor on Win32 platforms).</li>
-	 * <li>The operating system is consulted to determine if an external editor
-	 * is available.</li>
-	 * </ol>
-	 * </p>
-	 * 
-	 * @param name
-	 *            the file name
-	 * @return an editor descriptor, appropriate for opening the file
-	 * @throws PartInitException
-	 *             if no editor can be found
-	 */
-	public static IEditorDescriptor getEditorDescriptor(String name)
-			throws PartInitException {
-
-		if (name == null) {
-			throw new IllegalArgumentException();
-		}
-
-		IEditorRegistry editorReg = PlatformUI.getWorkbench()
-				.getEditorRegistry();
-
-		return getEditorDescriptor(name, editorReg, editorReg
-				.getDefaultEditor(name));
-	}
-
-	/**
-	 * Get the editor descriptor for a given name using the editorDescriptor
-	 * passed in as a default as a starting point.
-	 * 
-	 * @param name
-	 *            The name of the element to open.
-	 * @param editorReg
-	 *            The editor registry to do the lookups from.
-	 * @param defaultDescriptor
-	 *            IEditorDescriptor or <code>null</code>
-	 * @return IEditorDescriptor
-	 * @throws PartInitException
-	 *             if no valid editor can be found
-	 */
-	private static IEditorDescriptor getEditorDescriptor(String name,
-			IEditorRegistry editorReg, IEditorDescriptor defaultDescriptor)
-			throws PartInitException {
-
-		if (defaultDescriptor != null)
-			return defaultDescriptor;
-
-		IEditorDescriptor editorDesc = defaultDescriptor;
-
-		// next check the OS for in-place editor (OLE on Win32)
-		if (editorReg.isSystemInPlaceEditorAvailable(name))
-			editorDesc = editorReg
-					.findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
-
-		// next check with the OS for an external editor
-		if (editorDesc == null
-				&& editorReg.isSystemExternalEditorAvailable(name))
-			editorDesc = editorReg
-					.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-
-		// next lookup the default text editor
-		if (editorDesc == null)
-			editorDesc = editorReg
-					.findEditor(IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID);
-
-		// if no valid editor found, bail out
-		if (editorDesc == null)
-			throw new PartInitException(IDEWorkbenchMessages
-					.getString("IDE.noFileEditorFound")); //$NON-NLS-1$
-
-		return editorDesc;
-	}
-
-    /**
-     * Opens an editor on the file resource of the given marker.
-     * <p>
-     * If this page already has an editor open on the marker resource file that
-     * editor is brought to front; otherwise, a new editor is opened.The cursor
-     * and selection state of the editor are then updated from information
-     * recorded in the marker.
-     * </p>
-     * <p>
-     * If the marker contains an <code>EDITOR_ID_ATTR</code> attribute the
-     * attribute value will be used to determine the editor type to be opened.
-     * If not, the registered editor for the marker resource file will be used.
-     * </p>
-     * 
-     * @param page
-     *            the workbench page to open the editor in
-     * @param marker
-     *            the marker to open
-     * @return an open editor or <code>null</code> not possible
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see #openEditor(org.eclipse.ui.IWorkbenchPage,
-     *      org.eclipse.core.resources.IMarker, boolean)
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IMarker marker)
-            throws PartInitException {
-        return openEditor(page, marker, true);
-    }
-
-    /**
-     * Opens an editor on the file resource of the given marker. 
-     * <p>
-     * If this page already has an editor open on the marker resource file that 
-     * editor is brought to front; otherwise, a new editor is opened. If 
-     * <code>activate == true</code> the editor will be activated.  The cursor and 
-     * selection state of the editor are then updated from information recorded in 
-     * the marker.
-     * </p><p>
-     * If the marker contains an <code>EDITOR_ID_ATTR</code> attribute 
-     * the attribute value will be used to determine the editor type to be opened. 
-     * If not, the registered editor for the marker resource file will be used. 
-     * </p>
-     *
-     * @param page the workbench page to open the editor in
-     * @param marker the marker to open
-     * @param activate if <code>true</code> the editor will be activated
-     * @return an open editor or <code>null</code> not possible
-     * @exception PartInitException if the editor could not be initialized
-     */
-    public static IEditorPart openEditor(IWorkbenchPage page, IMarker marker,
-            boolean activate) throws PartInitException {
-        // sanity checks
-        if (page == null || marker == null) {
-            throw new IllegalArgumentException();
-        }
-
-        // get the marker resource file
-        if (!(marker.getResource() instanceof IFile)) {
-            IDEWorkbenchPlugin
-                    .log("Open editor on marker failed; marker resource not an IFile"); //$NON-NLS-1$
-            return null;
-        }
-        IFile file = (IFile) marker.getResource();
-
-        // get the preferred editor id from the marker
-        IEditorRegistry editorReg = PlatformUI.getWorkbench()
-                .getEditorRegistry();
-        IEditorDescriptor editorDesc = null;
-        try {
-            String editorID = (String) marker.getAttribute(EDITOR_ID_ATTR);
-            if (editorID != null) {
-                editorDesc = editorReg.findEditor(editorID);
-            }
-        } catch (CoreException e) {
-            // ignore this
-        }
-
-        // open the editor on the marker resource file
-        IEditorPart editor = null;
-        if (editorDesc == null) {
-            editor = openEditor(page, file, activate);
-        } else {
-            editor = page.openEditor(new FileEditorInput(file), editorDesc
-                    .getId(), activate);
-        }
-
-        // get the editor to update its position based on the marker
-        if (editor != null) {
-            gotoMarker(editor, marker);
-        }
-
-        return editor;
-    }
-
-    /**
-     * Save all dirty editors in the workbench whose editor input is  
-     * a child resource of one of the <code>IResource</code>'s provided.
-     * Opens a dialog to prompt the user if <code>confirm</code> is true. 
-     * Return true if successful. Return false if the user has cancelled 
-     * the command.
-     * 
-     * @since 3.0
-     * 
-     * @param resourceRoots
-     *            the resource roots under which editor input should be saved,
-     *            other will be left dirty
-     * @param confirm
-     *            prompt the user if true
-     * @return boolean false if the operation was cancelled.
-     */
-    public static boolean saveAllEditors(IResource[] resourceRoots,
-            boolean confirm) {
-        final IResource[] finalResources = resourceRoots;
-        final boolean finalConfirm = confirm;
-        final boolean[] result = new boolean[1];
-        result[0] = true;
-
-        if (resourceRoots.length == 0)
-            return result[0];
-
-        Platform.run(new SafeRunnable(IDEWorkbenchMessages
-                .getString("ErrorClosing")) { //$NON-NLS-1$
-                    public void run() {
-                        //Collect dirtyEditors
-                        ArrayList dirtyEditors = new ArrayList();
-
-                        IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
-                                .getWorkbenchWindows();
-                        for (int i = 0; i < windows.length; i++) {
-                            IWorkbenchWindow window = windows[i];
-                            IWorkbenchPage[] pages = window.getPages();
-                            for (int j = 0; j < pages.length; j++) {
-                                IWorkbenchPage page = pages[j];
-                                IEditorPart[] dirty = page.getDirtyEditors();
-                                for (int k = 0; k < dirty.length; k++) {
-                                    IEditorPart part = dirty[k];
-                                    IFile file = (IFile) part.getEditorInput()
-                                            .getAdapter(IFile.class);
-                                    if (file != null) {
-                                        for (int l = 0; l < finalResources.length; l++) {
-                                            IResource resource = finalResources[l];
-                                            if (resource.getFullPath()
-                                                    .isPrefixOf(
-                                                            file.getFullPath())) {
-                                                dirtyEditors.add(part);
-                                                break;
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-
-                        }
-                        if (dirtyEditors.size() > 0) {
-                            IWorkbenchWindow w = Workbench.getInstance()
-                                    .getActiveWorkbenchWindow();
-                            if (w == null)
-                                w = windows[0];
-                            result[0] = EditorManager.saveAll(dirtyEditors,
-                                    finalConfirm, w);
-                        }
-                    }
-                });
-        return result[0];
-    }
-
-    /**
-     * Sets the default editor id for a given file.  This value will be used
-     * to determine the default editor descriptor for the file in future calls to
-     * <code>getDefaultEditor(IFile)</code>.
-     *
-     * @param file the file
-     * @param editorID the editor id
-     */
-    public static void setDefaultEditor(IFile file, String editorID) {
-        try {
-            file.setPersistentProperty(EDITOR_KEY, editorID);
-        } catch (CoreException e) {
-            // do nothing
-        }
-    }
-
-    /**
-     * Returns the default editor for a given file.
-     * <p>
-     * A default editor id may be registered for a specific file using
-     * <code>setDefaultEditor</code>.  If the given file has a registered
-     * default editor id the default editor will derived from it.  If not, 
-     * the default editor is determined by taking the file name for the 
-     * file and obtaining the default editor for that name.
-     * </p>
-     *
-     * @param file the file
-     * @return the descriptor of the default editor, or <code>null</code> if not
-     *   found
-     */
-    public static IEditorDescriptor getDefaultEditor(IFile file) {
-        // Try file specific editor.
-        IEditorRegistry editorReg = PlatformUI.getWorkbench()
-                .getEditorRegistry();
-        try {
-            String editorID = file.getPersistentProperty(EDITOR_KEY);
-            if (editorID != null) {
-                IEditorDescriptor desc = editorReg.findEditor(editorID);
-                if (desc != null)
-                    return desc;
-            }
-        } catch (CoreException e) {
-            // do nothing
-        }
-
-        // Try lookup with filename
-        return editorReg.getDefaultEditor(file.getName());
-    }
-
-    /**
-     * Extracts and returns the <code>IResource</code>s in the given
-     * selection or the resource objects they adapts to.
-     * 
-     * @param originalSelection the original selection, possibly empty
-     * @return list of resources (element type: <code>IResource</code>), 
-     *    possibly empty
-     */
-    public static List computeSelectedResources(
-            IStructuredSelection originalSelection) {
-        List resources = null;
-        for (Iterator e = originalSelection.iterator(); e.hasNext();) {
-            Object next = e.next();
-            Object resource = null;
-            if (next instanceof IResource) {
-                resource = next;
-            } else if (next instanceof IAdaptable) {
-                resource = ((IAdaptable) next).getAdapter(IResource.class);
-            }
-            if (resource != null) {
-                if (resources == null) {
-                    // lazy init to avoid creating empty lists
-                    // assume selection contains mostly resources most times
-                    resources = new ArrayList(originalSelection.size());
-                }
-                resources.add(resource);
-            }
-        }
-        if (resources == null) {
-            return emptyUnmodifiableList;
-        }
-        return resources;
-        
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
deleted file mode 100644
index 70cf39e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEActionFactory.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.ui.actions.NewWizardDropDownAction;
-import org.eclipse.ui.actions.NewWizardMenu;
-import org.eclipse.ui.actions.QuickStartAction;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.TipsAndTricksAction;
-import org.eclipse.ui.internal.ide.actions.BuildCleanAction;
-import org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction;
-import org.eclipse.ui.internal.ide.actions.ProjectPropertyDialogAction;
-import org.eclipse.ui.internal.ide.actions.RetargetActionWithDefault;
-import org.eclipse.ui.internal.ide.actions.ToggleAutoBuildAction;
-
-/**
- * Access to standard actions provided by the IDE workbench (including
- * those of the generic workbench).
- * <p>
- * The functionality of this class is provided by static fields.
- * Example usage:
- * <pre>
- * MenuManager menu = ...;
- * ActionFactory.IWorkbenchAction closeProjectAction
- * 	  = IDEActionFactory.CLOSE_PROJECT.create(window);
- * menu.add(closeProjectAction);
- * </pre>
- * </p>
- * 
- * @since 3.0
- */
-public final class IDEActionFactory {
-
-    /**
-     * Prevents instantiation.
-     */
-    private IDEActionFactory() {
-        // do nothing
-    }
-
-    /**
-     * IDE-specific workbench action: Add task.
-     * This action is a {@link RetargetAction} with 
-     * id "addTask". This action maintains its enablement state.
-     */
-    public static final ActionFactory ADD_TASK = new ActionFactory("addTask") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            RetargetAction action = new RetargetAction(getId(),
-                    IDEWorkbenchMessages.getString("Workbench.addTask")); //$NON-NLS-1$ //$NON-NLS-2$
-            action.setToolTipText(IDEWorkbenchMessages
-                    .getString("Workbench.addTaskToolTip")); //$NON-NLS-1$
-            window.getPartService().addPartListener(action);
-            action.setActionDefinitionId("org.eclipse.ui.edit.addTask"); //$NON-NLS-1$
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Add bookmark.
-     * This action is a {@link RetargetAction} with 
-     * id "bookmark". This action maintains its enablement state.
-     */
-    public static final ActionFactory BOOKMARK = new ActionFactory("bookmark") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            RetargetAction action = new RetargetAction(getId(),
-                    IDEWorkbenchMessages.getString("Workbench.addBookmark")); //$NON-NLS-1$ //$NON-NLS-2$
-            action.setToolTipText(IDEWorkbenchMessages
-                    .getString("Workbench.addBookmarkToolTip")); //$NON-NLS-1$
-            window.getPartService().addPartListener(action);
-            action.setActionDefinitionId("org.eclipse.ui.edit.addBookmark"); //$NON-NLS-1$
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Incremental build.
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory BUILD = new ActionFactory("build") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            return new GlobalBuildAction(window,
-                    IncrementalProjectBuilder.INCREMENTAL_BUILD);
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Build clean
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory BUILD_CLEAN = new ActionFactory(
-            "buildClean") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            return new BuildCleanAction(window);
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Build automaticaly
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory BUILD_AUTOMATICALLY = new ActionFactory(
-            "buildAutomatically") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            return new ToggleAutoBuildAction(window);
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Incremental build.
-     * This action is a {@link RetargetAction} with 
-     * id "buildProject". This action maintains its enablement state.
-     */
-    public static final ActionFactory BUILD_PROJECT = new ActionFactory(
-            "buildProject") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            RetargetAction action = new RetargetActionWithDefault(getId(),
-                    IDEWorkbenchMessages.getString("Workbench.buildProject")); //$NON-NLS-1$
-            action.setToolTipText(IDEWorkbenchMessages
-                    .getString("Workbench.buildProjectToolTip")); //$NON-NLS-1$
-            window.getPartService().addPartListener(action);
-            action.setActionDefinitionId("org.eclipse.ui.project.buildProject"); //$NON-NLS-1$
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Close project.
-     * This action is a {@link RetargetAction} with 
-     * id "closeProject". This action maintains its enablement state.
-     */
-    public static final ActionFactory CLOSE_PROJECT = new ActionFactory(
-            "closeProject") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            RetargetAction action = new RetargetAction(getId(),
-                    IDEWorkbenchMessages.getString("Workbench.closeProject")); //$NON-NLS-1$ //$NON-NLS-2$
-            action.setToolTipText(IDEWorkbenchMessages
-                    .getString("Workbench.closeProjectToolTip")); //$NON-NLS-1$
-            window.getPartService().addPartListener(action);
-            action.setActionDefinitionId("org.eclipse.ui.project.closeProject"); //$NON-NLS-1$
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Opens the "new" wizard drop down, including
-     * resource-specific items for Project... and Example...
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory NEW_WIZARD_DROP_DOWN = new ActionFactory(
-            "newWizardDropDown") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            // @issue we are creating a NEW action just to pass to NewWizardDropDownAction
-            IWorkbenchAction innerAction = ActionFactory.NEW.create(window);
-            NewWizardMenu newWizardMenu = new NewWizardMenu(window);
-            IWorkbenchAction action = new NewWizardDropDownAction(window,
-                    innerAction, newWizardMenu);
-            action.setId(getId());
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Open project.
-     * This action is a {@link RetargetAction} with 
-     * id "openProject". This action maintains its enablement state.
-     */
-    public static final ActionFactory OPEN_PROJECT = new ActionFactory(
-            "openProject") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            RetargetAction action = new RetargetAction(getId(),
-                    IDEWorkbenchMessages.getString("Workbench.openProject")); //$NON-NLS-1$ //$NON-NLS-2$
-            action.setToolTipText(IDEWorkbenchMessages
-                    .getString("Workbench.openProjectToolTip")); //$NON-NLS-1$
-            window.getPartService().addPartListener(action);
-            action.setActionDefinitionId("org.eclipse.ui.project.openProject"); //$NON-NLS-1$
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Open workspace.
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory OPEN_WORKSPACE = new ActionFactory(
-            "openWorkspace") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            IWorkbenchAction action = new OpenWorkspaceAction(window);
-            action.setId(getId());
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Open project properties.
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory OPEN_PROJECT_PROPERTIES = new ActionFactory(
-            "projectProperties") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            IWorkbenchAction action = new ProjectPropertyDialogAction(window);
-            action.setId(getId());
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Quick start.
-     * This action maintains its enablement state.
-     * 
-     * @deprecated the IDE now uses the new intro mechanism
-     */
-    public static final ActionFactory QUICK_START = new ActionFactory(
-            "quickStart") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            IWorkbenchAction action = new QuickStartAction(window);
-            action.setId(getId());
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Full build.
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory REBUILD_ALL = new ActionFactory(
-            "rebuildAll") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            IWorkbenchAction action = new GlobalBuildAction(window,
-                    IncrementalProjectBuilder.FULL_BUILD);
-            action.setId(getId());
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Rebuild project.
-     * This action is a {@link RetargetAction} with 
-     * id "rebuildProject". This action maintains its enablement state.
-     */
-    public static final ActionFactory REBUILD_PROJECT = new ActionFactory(
-            "rebuildProject") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            RetargetAction action = new RetargetAction(getId(),
-                    IDEWorkbenchMessages.getString("Workbench.rebuildProject")); //$NON-NLS-1$ //$NON-NLS-2$
-            action.setToolTipText(IDEWorkbenchMessages
-                    .getString("Workbench.rebuildProjectToolTip")); //$NON-NLS-1$
-            window.getPartService().addPartListener(action);
-            action
-                    .setActionDefinitionId("org.eclipse.ui.project.rebuildProject"); //$NON-NLS-1$
-            return action;
-        }
-    };
-
-    /**
-     * IDE-specific workbench action: Tips and tricks.
-     * This action maintains its enablement state.
-     */
-    public static final ActionFactory TIPS_AND_TRICKS = new ActionFactory(
-            "tipsAndTricks") { //$NON-NLS-1$
-        /* (non-javadoc) method declared on ActionFactory */
-        public IWorkbenchAction create(IWorkbenchWindow window) {
-            if (window == null) {
-                throw new IllegalArgumentException();
-            }
-            IWorkbenchAction action = new TipsAndTricksAction(window);
-            action.setId(getId());
-            return action;
-        }
-    };
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEEncoding.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEEncoding.java
deleted file mode 100644
index ab01e88..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEEncoding.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.jobs.Job;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.internal.WorkbenchMessages;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * IDEEncoding is a utility class for managing encoding information that
- * includes user preferences from the IDE and core resources.
- * 
- * @see org.eclipse.ui.WorkbenchEncoding
- * @see org.eclipse.core.resources.ResourcesPlugin
- * @since 3.1
- */
-public class IDEEncoding {
-
-	//The preference for the user entered encodings.
-	private static String IDE_ENCODINGS_PREFERENCE = "IDE_ENCODINGS_PREFERENCE"; //$NON-NLS-1$
-
-	private static String PREFERENCE_SEPARATOR = "'"; //$NON-NLS-1$
-
-	/**
-	 * Display constant for the UTF 8 byte order marker for resources.
-	 */
-	public static String BOM_UTF_8 = "UTF-8 (BOM)";//$NON-NLS-1$
-
-	/**
-	 * Display constant for the UTF 16 big endian byte order marker for
-	 * resources.
-	 */
-	public static String BOM_UTF_16BE = "UTF-16 Big-Endian (BOM)";//$NON-NLS-1$
-
-	/**
-	 * Display constant for the UTF 16 little endian byte order marker for
-	 * resources.
-	 */
-	public static String BOM_UTF_16LE = "UTF-16 Little-Endian (BOM)";//$NON-NLS-1$
-
-	/**
-	 * Get all of the available encodings including any that were saved as a
-	 * preference in the IDE or in core resources.
-	 * 
-	 * @return List of String
-	 */
-	public static List getIDEEncodings() {
-		List encodings = getIDEEncodingsPreference();
-		encodings.addAll(WorkbenchEncoding.getDefinedEncodings());
-
-		String enc = getResourceEncoding();
-
-		if (!(enc == null || encodings.contains(enc)))
-			encodings.add(enc);
-
-		Collections.sort(encodings);
-		return encodings;
-	}
-
-	/**
-	 * Get the current value of the encoding preference. If the value is not set
-	 * return <code>null</code>.
-	 * 
-	 * @return String
-	 */
-	public static String getResourceEncoding() {
-		String preference = ResourcesPlugin.getPlugin().getPluginPreferences().getString(
-				ResourcesPlugin.PREF_ENCODING);
-		if (preference == null || preference.length() == 0)
-			return null;
-		return preference;
-	}
-
-	/**
-	 * Set the resource encoding to be value. Add the encoding to the list of
-	 * encodings stored by the workbench.
-	 * 
-	 * @param value
-	 *            String or <code>null</code> if the preference is to be reset
-	 *            to the default.
-	 * @deprecated Use IWorkspaceRoot#setDefaultCharset and 
-	 * add the encoding using #addEncoding.
-	 * This API will be deleted before 3.1 M3.
-	 */
-	public static void setResourceEncoding(String value) {
-
-		if (value != null)
-			addIDEEncoding(value);
-
-		final String finalValue = value;
-		Job charsetJob = new Job(IDEWorkbenchMessages.getString("IDEEncoding.EncodingJob")) { //$NON-NLS-1$
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				try {
-					ResourcesPlugin.getWorkspace().getRoot().setDefaultCharset(finalValue, monitor);
-				} catch (CoreException exception) {
-					return exception.getStatus();
-				}
-				return Status.OK_STATUS;
-
-			}
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-			 */
-			public boolean shouldRun() {
-				//Do not run after shutdown
-				return PlatformUI.isWorkbenchRunning();
-			}
-		};
-		charsetJob.schedule();
-
-	}
-
-	/**
-	 * Add value to the list of workbench encodings.
-	 * 
-	 * @param value
-	 */
-	public static void addIDEEncoding(String value) {
-
-		if (WorkbenchEncoding.getDefinedEncodings().contains(value))
-			return;
-
-		writeEncodingsPreference(value, getIDEEncodingsPreference());
-
-	}
-
-	/**
-	 * Write the encodings preference. If value is not null
-	 * and not already in the list of currentEncodings add
-	 * it to the list.
-	 * @param value String or <code>null</code>
-	 * @param encodings The list of encodings to write
-	 */
-	private static void writeEncodingsPreference(String value, Collection encodings) {
-		boolean addValue = (value != null);
-
-		StringBuffer result = new StringBuffer();
-
-		Iterator currentEncodings = encodings.iterator();
-
-		while (currentEncodings.hasNext()) {
-			String string = (String) currentEncodings.next();
-			result.append(string);
-			result.append(PREFERENCE_SEPARATOR);
-			if (addValue && string.equals(value))//If we still think we are going to add it check first
-				addValue = false;
-		}
-
-		if (addValue)
-			result.append(value);
-
-		IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(IDE_ENCODINGS_PREFERENCE,
-				result.toString());
-	}
-
-	/**
-	 * Get the value of the encodings preference.
-	 * 
-	 * @return List
-	 */
-	private static List getIDEEncodingsPreference() {
-		
-		boolean updateRequired = false;
-		
-		String encodings = IDEWorkbenchPlugin.getDefault().getPreferenceStore().getString(
-				IDE_ENCODINGS_PREFERENCE);
-
-		if (encodings == null || encodings.length() == 0)
-			return new ArrayList();
-
-		String[] preferenceEncodings = encodings.split(PREFERENCE_SEPARATOR);//$NON-NLS-1$
-		ArrayList result = new ArrayList();
-
-		//Drop any encodings that are not valid
-		for (int i = 0; i < preferenceEncodings.length; i++) {
-			String string = preferenceEncodings[i];
-			boolean isSupported;
-			try {
-				isSupported = Charset.isSupported(string);
-			} catch (IllegalCharsetNameException e) {
-				isSupported = false;
-			}
-			if (isSupported)
-				result.add(string);
-			else{
-				WorkbenchPlugin.log(WorkbenchMessages.format("WorkbenchEncoding.invalidCharset", //$NON-NLS-1$
-						new String[] { string }));
-				updateRequired = true;
-			}
-				
-		}
-		
-		if(updateRequired)//If we logged a problem then clear the preference
-			writeEncodingsPreference(null, result);
-		return result;
-
-	}
-
-	/**
-	 * Clear the IDE encodings preference.
-	 */
-	public static void clearUserEncodings() {
-		IDEWorkbenchPlugin.getDefault().getPreferenceStore().setToDefault(IDE_ENCODINGS_PREFERENCE);
-	}
-
-	/**
-	 * Get the displayable string for the byte order marking from the supplied
-	 * file description.
-	 * 
-	 * @param description
-	 *            The description to query. May be <code>null</code>.
-	 * @return String or <code>null</code> if the byte order mark cannot be
-	 *         found or the description is <code>null</code>.
-	 * @see IContentDescription#getProperty(org.eclipse.core.runtime.QualifiedName)
-	 */
-	public static String getByteOrderMarkLabel(IContentDescription description) {
-
-		if (description == null)
-			return null;
-
-		byte[] bom = (byte[]) description.getProperty(IContentDescription.BYTE_ORDER_MARK);
-		if (bom == null)
-			return null;
-		if (bom == IContentDescription.BOM_UTF_8)
-			return IDEEncoding.BOM_UTF_8;
-		if (bom == IContentDescription.BOM_UTF_16BE)
-			return IDEEncoding.BOM_UTF_16BE;
-		if (bom == IContentDescription.BOM_UTF_16LE)
-			return IDEEncoding.BOM_UTF_16LE;
-
-		return null;
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java
deleted file mode 100644
index 27dd674..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IGotoMarker.java
+++ /dev/null
@@ -1,29 +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.ui.ide;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * An adapter interface for editors, which allows the editor
- * to reveal the position of a given marker.
- * 
- * @since 3.0
- */
-public interface IGotoMarker {
-    /**
-     * Sets the cursor and selection state for an editor to 
-     * reveal the position of the given marker.
-     *  
-     * @param marker the marker
-     */
-    public void gotoMarker(IMarker marker);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java
deleted file mode 100644
index a5ae12e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IIDEActionConstants.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide;
-
-/**
- * Identifiers for IDE menus, toolbars and groups.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- * Note: want to move IDE-specific stuff out of IWorkbenchActionConstants.
- *   There's still some cleanup to be done here (and there).
- * 
- * @since 3.0
- */
-public interface IIDEActionConstants {
-
-    /**
-     * Name of standard File menu (value <code>"file"</code>).
-     */
-    public static final String M_FILE = "file"; //$NON-NLS-1$
-
-    /**
-     * Name of standard Edit menu (value <code>"edit"</code>).
-     */
-    public static final String M_EDIT = "edit"; //$NON-NLS-1$
-
-    /**
-     * Name of standard Navigate menu (value <code>"navigate"</code>).
-     */
-    public static final String M_NAVIGATE = "navigate"; //$NON-NLS-1$
-
-    /**
-     * Name of standard Project menu (value <code>"project"</code>).
-     */
-    public static final String M_PROJECT = "project"; //$NON-NLS-1$
-
-    /**
-     * Name of standard Window menu (value <code>"window"</code>).
-     */
-    public static final String M_WINDOW = "window"; //$NON-NLS-1$
-
-    /**
-     * Name of standard Help menu (value <code>"help"</code>).
-     */
-    public static final String M_HELP = "help"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for start of menu (value <code>"fileStart"</code>).
-     */
-    public static final String FILE_START = "fileStart"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for end of menu (value <code>"fileEnd"</code>).
-     */
-    public static final String FILE_END = "fileEnd"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for extra New-like actions (value <code>"new.ext"</code>).
-     */
-    public static final String NEW_EXT = "new.ext"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for extra Close-like actions (value <code>"close.ext"</code>).
-     */
-    public static final String CLOSE_EXT = "close.ext"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for extra Save-like actions (value <code>"save.ext"</code>).
-     */
-    public static final String SAVE_EXT = "save.ext"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for extra Print-like actions (value <code>"print.ext"</code>).
-     */
-    public static final String PRINT_EXT = "print.ext"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of group for extra Import-like actions (value <code>"import.ext"</code>).
-     */
-    public static final String IMPORT_EXT = "import.ext"; //$NON-NLS-1$
-
-    /**
-     * File menu: name of "Most Recently Used File" group.
-     * (value <code>"mru"</code>).
-     */
-    public static final String MRU = "mru"; //$NON-NLS-1$
-
-    /**
-     * Edit menu: name of group for start of menu (value <code>"editStart"</code>).
-     */
-    public static final String EDIT_START = "editStart"; //$NON-NLS-1$
-
-    /**
-     * Edit menu: name of group for end of menu (value <code>"editEnd"</code>).
-     */
-    public static final String EDIT_END = "editEnd"; //$NON-NLS-1$
-
-    /**
-     * Edit menu: name of group for extra Undo-like actions (value <code>"undo.ext"</code>).
-     */
-    public static final String UNDO_EXT = "undo.ext"; //$NON-NLS-1$
-
-    /**
-     * Edit menu: name of group for extra Cut-like actions (value <code>"cut.ext"</code>).
-     */
-    public static final String CUT_EXT = "cut.ext"; //$NON-NLS-1$
-
-    /**
-     * Edit menu: name of group for extra Find-like actions (value <code>"find.ext"</code>).
-     */
-    public static final String FIND_EXT = "cut.ext"; //$NON-NLS-1$
-
-    /**
-     * Edit menu: name of group for extra Add-like actions (value <code>"add.ext"</code>).
-     */
-    public static final String ADD_EXT = "add.ext"; //$NON-NLS-1$
-
-    /**
-     * Workbench menu: name of group for extra Build-like actions
-     * (value <code>"build.ext"</code>).
-     */
-    public static final String BUILD_EXT = "build.ext"; //$NON-NLS-1$
-
-    /**
-     * Workbench toolbar id for file toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String TOOLBAR_FILE = "org.eclipse.ui.workbench.file"; //$NON-NLS-1$
-
-    /**
-     * Workbench toolbar id for navigate toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String TOOLBAR_NAVIGATE = "org.eclipse.ui.workbench.navigate"; //$NON-NLS-1$
-
-    // Workbench toolbar group ids.  To add an item at the beginning of the group, 
-    // use the GROUP id.  To add an item at the end of the group, use the EXT id.
-
-    /**
-     * Group id for pin toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String PIN_GROUP = "pin.group"; //$NON-NLS-1$
-
-    /**
-     * Group ids for history toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String HISTORY_GROUP = "history.group"; //$NON-NLS-1$
-
-    /**
-     * Group ids for new toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String NEW_GROUP = "new.group"; //$NON-NLS-1$
-
-    /**
-     * Group ids for save toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String SAVE_GROUP = "save.group"; //$NON-NLS-1$
-
-    /**
-     * Group ids for build toolbar group.
-     * 
-     * @since 2.1
-     */
-    public static final String BUILD_GROUP = "build.group"; //$NON-NLS-1$
-
-    // Pop-up menu groups:
-    /**
-     * Pop-up menu: name of group for Add actions (value <code>"group.add"</code>).
-     */
-    public static final String GROUP_ADD = "group.add"; //$NON-NLS-1$
-
-    /**
-     * Pop-up menu and cool bar: name of group for File actions (value <code>"group.file"</code>).
-     */
-    public static final String GROUP_FILE = "group.file"; //$NON-NLS-1$
-
-    /**
-     * Coolbar: name of group for Navigate actions (value <code>"group.nav"</code>).
-     */
-    public static final String GROUP_NAV = "group.nav"; //$NON-NLS-1$
-
-    /**
-     * Pop-up menu: name of group for Show In actions (value <code>"group.showIn"</code>).
-     * 
-     * @since 2.1
-     */
-    public static final String GROUP_SHOW_IN = "group.showIn"; //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of group for start of menu
-     * (value <code>"navStart"</code>).
-     */
-    public static final String NAV_START = "navStart"; //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of group for end of menu
-     * (value <code>"navEnd"</code>).
-     */
-    public static final String NAV_END = "navEnd"; //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of group for extra Open actions
-     * (value <code>"open.ext"</code>).
-     */
-    public static final String OPEN_EXT = "open.ext"; //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of group for extra Show actions
-     * (value <code>"show.ext"</code>).
-     */
-    public static final String SHOW_EXT = "show.ext"; //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of standard Go Into global action
-     * (value <code>"goInto"</code>).
-     */
-    public static final String GO_INTO = "goInto"; // Global action. //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of standard Go To submenu
-     * (value <code>"goTo"</code>).
-     */
-    public static final String GO_TO = "goTo"; //$NON-NLS-1$
-
-    /**
-     * Navigate menu: name of standard Go To Resource global action
-     * (value <code>"goToResource"</code>).
-     * 
-     * Note:should be in an action factory
-     */
-    public static final String GO_TO_RESOURCE = "goToResource"; // Global action. //$NON-NLS-1$
-
-    /**
-     * Project menu: name of group for start of menu
-     * (value <code>"projStart"</code>).
-     */
-    public static final String PROJ_START = "projStart"; //$NON-NLS-1$
-
-    /**
-     * Project menu: name of group for start of menu
-     * (value <code>"projEnd"</code>).
-     */
-    public static final String PROJ_END = "projEnd"; //$NON-NLS-1$
-
-    /**
-     * Help menu: name of group for start of menu
-     * (value <code>"helpStart"</code>).
-     */
-    public static final String HELP_START = "helpStart"; //$NON-NLS-1$
-
-    /**
-     * Help menu: name of group for end of menu
-     * (value <code>"helpEnd"</code>).
-     */
-    public static final String HELP_END = "helpEnd"; //$NON-NLS-1$
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/AbstractEncodingFieldEditor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/AbstractEncodingFieldEditor.java
deleted file mode 100644
index e4d87c8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/AbstractEncodingFieldEditor.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide.dialogs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.IllegalCharsetNameException;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.ide.IDEEncoding;
-
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * The abstract superclass of editors used to set an 
- * enconding. Any user entered
- * encodings will be added to the list of encodings in the 
- * IDEEncoding.
- * @since 3.1
- * @see org.eclipse.ui.ide.IDEEncoding
- */
-public abstract class AbstractEncodingFieldEditor extends FieldEditor {
-	private Composite container;
-
-	private Button defaultEncodingButton;
-
-	private String defaultEnc;
-
-	private Button otherEncodingButton;
-
-	private Combo encodingCombo;
-
-	private boolean isValid = true;
-
-	private String oldSelectedEncoding;
-
-	/**
-	 * Create an instance of the receiver with no parameters
-	 * set.
-	 */
-	public AbstractEncodingFieldEditor() {
-		super();
-	}
-
-	/**
-	 * Create a new instance of the receiver on the preference called name
-	 * with a label of labelText.
-	 * @param name
-	 * @param labelText
-	 * @param parent
-	 */
-	public AbstractEncodingFieldEditor(String name, String labelText, Composite parent) {
-		super(name, labelText, parent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#adjustForNumColumns(int)
-	 */
-	protected void adjustForNumColumns(int numColumns) {
-		((GridData) getContainer().getLayoutData()).horizontalSpan = numColumns;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#doFillIntoGrid(org.eclipse.swt.widgets.Composite, int)
-	 */
-	protected void doFillIntoGrid(Composite parent, int numColumns) {
-		container = createEncodingGroup(parent, numColumns);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#doLoad()
-	 */
-	protected void doLoad() {
-		if (encodingCombo != null) {
-			List encodings = IDEEncoding.getIDEEncodings();
-			String resourcePreference = getStoredValue();
-			populateEncodingsCombo(encodings, resourcePreference);
-			updateEncodingState(resourcePreference == null || resourcePreference.equals(defaultEnc));
-		}
-	}
-
-	/**
-	 * Get the value that is current stored for the encoding.
-	 * @return String
-	 */
-	protected abstract String getStoredValue();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#doLoadDefault()
-	 */
-	protected void doLoadDefault() {
-		updateEncodingState(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#getNumberOfControls()
-	 */
-	public int getNumberOfControls() {
-		return 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#isValid()
-	 */
-	public boolean isValid() {
-		return isValid;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#refreshValidState()
-	 */
-	protected void refreshValidState() {
-		updateValidState();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#setPreferenceStore(org.eclipse.jface.preference.IPreferenceStore)
-	 */
-	public void setPreferenceStore(IPreferenceStore store) {
-		super.setPreferenceStore(store);
-		defaultEnc = store.getDefaultString(getPreferenceName());
-		updateDefaultEncoding();
-	}
-
-	private void updateDefaultEncoding() {
-		defaultEncodingButton.setText(defaultButtonText()); //$NON-NLS-1$
-	}
-
-	private Composite getContainer() {
-		return container;
-	}
-
-	/**
-	 * Create the Groupd will all of the controls.
-	 * @param parent the parent widget
-	 * @param numColumns the number of columns in the parent
-	 * @return Group
-	 */
-	protected Group createEncodingGroup(Composite parent, int numColumns) {
-
-		Font font = parent.getFont();
-		Group group = new Group(parent, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(data);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		group.setLayout(layout);
-		group.setText(IDEWorkbenchMessages.getString("WorkbenchPreference.encoding")); //$NON-NLS-1$
-		group.setFont(font);
-
-		SelectionAdapter buttonListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEncodingState(defaultEncodingButton.getSelection());
-				updateValidState();
-			}
-		};
-
-		defaultEncodingButton = new Button(group, SWT.RADIO);
-		defaultEnc = findDefaultEncoding();
-		defaultEncodingButton.setText(defaultButtonText()); 
-		data = new GridData();
-		data.horizontalSpan = 2;
-		defaultEncodingButton.setLayoutData(data);
-		defaultEncodingButton.addSelectionListener(buttonListener);
-		defaultEncodingButton.setFont(font);
-
-		otherEncodingButton = new Button(group, SWT.RADIO);
-		otherEncodingButton.setText(IDEWorkbenchMessages
-				.getString("WorkbenchPreference.otherEncoding")); //$NON-NLS-1$
-		otherEncodingButton.addSelectionListener(buttonListener);
-		otherEncodingButton.setFont(font);
-
-		encodingCombo = new Combo(group, SWT.NONE);
-		data = new GridData();
-		encodingCombo.setFont(font);
-		encodingCombo.setLayoutData(data);
-		encodingCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateValidState();
-			}
-		});
-
-		return group;
-	}
-
-	/**
-	 * Get the default encoding for the object being shown.
-	 * @return String
-	 */
-	protected String findDefaultEncoding() {
-		return WorkbenchEncoding.getWorkbenchDefaultEncoding();
-	}
-
-	/**
-	 * Return the text for the default encoding button.
-	 * @return String
-	 */
-	protected String defaultButtonText() {
-		return IDEWorkbenchMessages.format(
-				"WorkbenchPreference.defaultEncoding", new String[] { defaultEnc });//$NON-NLS-1$
-	}
-
-	/**
-	 * Populate the encodings combo. Set the text based on the
-	 * selectedEncoding. If selectedEncoding is null set it to the
-	 * default.
-	 * @param encodings
-	 * @param selectedEncoding
-	 */
-	private void populateEncodingsCombo(List encodings, String selectedEncoding) {
-		String[] encodingStrings = new String[encodings.size()];
-		encodings.toArray(encodingStrings);
-		encodingCombo.setItems(encodingStrings);
-
-		if (selectedEncoding == null)
-			encodingCombo.setText(getDefaultEnc());
-		else
-			encodingCombo.setText(selectedEncoding);
-	}
-
-	private void updateEncodingState(boolean useDefault) {
-		defaultEncodingButton.setSelection(useDefault);
-		otherEncodingButton.setSelection(!useDefault);
-		encodingCombo.setEnabled(!useDefault);
-		updateValidState();
-	}
-
-	private void updateValidState() {
-		boolean isValidNow = isEncodingValid();
-		if (isValidNow != isValid) {
-			isValid = isValidNow;
-			if (isValid) {
-				clearErrorMessage();
-			} else {
-				showErrorMessage(IDEWorkbenchMessages
-						.getString("WorkbenchPreference.unsupportedEncoding")); //$NON-NLS-1$
-			}
-			fireStateChanged(IS_VALID, !isValid, isValid);
-
-			String newValue = getSelectedEncoding();
-			if (isValid && !newValue.equals(oldSelectedEncoding)) {
-				fireValueChanged(VALUE, oldSelectedEncoding, newValue);
-				oldSelectedEncoding = newValue;
-			}
-		}
-	}
-
-	/**
-	 * Get the encoding current selected.
-	 * @return String
-	 */
-	protected String getSelectedEncoding() {
-		if (defaultEncodingButton.getSelection()) {
-			return defaultEnc;
-		}
-		return encodingCombo.getText();
-	}
-
-	private boolean isEncodingValid() {
-		return defaultEncodingButton.getSelection() || isValidEncoding(encodingCombo.getText());
-	}
-
-	/**
-	 * Return whether or not this is a valid encoding.
-	 * @param enc
-	 * @return boolean
-	 */
-	private boolean isValidEncoding(String enc) {
-		try {
-			return Charset.isSupported(enc);
-		} catch (IllegalCharsetNameException e) {
-			//This is a valid exception
-			return false;
-		}
-		
-	}
-
-	/**
-	 * Return the default encoding.
-	 * @return String
-	 */
-	protected String getDefaultEnc() {
-		return defaultEnc;
-	}
-
-	/**
-	 * Return whether or not the encoding setting changed.
-	 * @param encodingSetting the setting from the page.
-	 * @return boolean <code>true</code> if the resource encoding
-	 * is the same as before.
-	 */
-	protected boolean hasSameEncoding(String encodingSetting) {
-
-		String current = getStoredValue();
-
-		if (encodingSetting == null) {
-			//Changed if default is selected and there is no setting
-			return current == null || current.length() == 0;
-		}
-		return encodingSetting.equals(current);
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/EncodingFieldEditor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/EncodingFieldEditor.java
deleted file mode 100644
index f1d56c7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/EncodingFieldEditor.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide.dialogs;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.ui.ide.IDEEncoding;
-
-/**
- * The EncodingFieldEditor is a field editor that allows the 
- * user to set an encoding on a preference in a preference
- * store.
- */
-public class EncodingFieldEditor extends AbstractEncodingFieldEditor {
-
-	/**
-	 * Create a new instance of the receiver on the preference called name
-	 * with a label of labelText.
-	 * @param name
-	 * @param labelText
-	 * @param parent
-	 */
-	public EncodingFieldEditor(String name, String labelText, Composite parent) {
-		super(name, labelText, parent);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.ide.dialogs.AbstractEncodingFieldEditor#getStoredValue()
-	 */
-	protected String getStoredValue() {
-		return getPreferenceStore().getString(getPreferenceName());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#doStore()
-	 */
-	protected void doStore() {
-		String encoding = getSelectedEncoding();
-		
-		if(hasSameEncoding(encoding))
-			return;
-		
-		IDEEncoding.addIDEEncoding(encoding);	
-		
-		if (encoding.equals(getDefaultEnc())) {
-			getPreferenceStore().setToDefault(getPreferenceName());
-		} else {
-			getPreferenceStore().setValue(getPreferenceName(), encoding);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceEncodingFieldEditor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceEncodingFieldEditor.java
deleted file mode 100644
index 2d75351..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/ResourceEncodingFieldEditor.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.ide.dialogs;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-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.content.IContentDescription;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.ide.IDEEncoding;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.misc.Assert;
-
-/**
- * The ResourceEncodingFieldEditor is a field editor for
- * editing the encoding of a resource and does not use a 
- * preference store.
- */
-public class ResourceEncodingFieldEditor extends AbstractEncodingFieldEditor {
-
-	/**
-	 * The resource being edited.
-	 */
-	private IResource resource;
-
-	/**
-	 * Create a new instance of the receiver for setting the
-	 * encoding on charsetResource.
-	 * @param labelText
-	 * @param parent
-	 * @param charsetResource Must be an IContainer or an IFile.
-	 * @see org.eclipse.core.resources.IContainer#getDefaultCharset()
-	 * @see org.eclipse.core.resources.IFile#getCharset()
-	 */
-	public ResourceEncodingFieldEditor(String labelText, Composite parent, IResource charsetResource) {
-		super();
-		setLabelText(labelText);
-		Assert.isTrue(charsetResource instanceof IContainer || charsetResource instanceof IFile);
-		this.resource = charsetResource;
-		createControl(parent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.ide.dialogs.AbstractEncodingFieldEditor#getStoredValue()
-	 */
-	protected String getStoredValue() {
-		try {
-			if (resource instanceof IContainer)
-				return ((IContainer) resource).getDefaultCharset();
-			return ((IFile) resource).getCharset();
-
-		} catch (CoreException e) {//If there is an error return the default
-			WorkbenchPlugin.log(IDEWorkbenchMessages
-					.getString("ResourceEncodingFieldEditor.ErrorLoadingMessage"), e.getStatus()); //$NON-NLS-1$
-			return WorkbenchEncoding.getWorkbenchDefaultEncoding();
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#doStore()
-	 */
-	protected void doStore() {
-
-		String encoding = getSelectedEncoding();
-
-		if (hasSameEncoding(encoding))
-			return;
-
-		String descriptionCharset = getCharsetFromDescription();
-		if (descriptionCharset != null && !(descriptionCharset.equals(encoding))) {
-			Shell shell = null;
-			DialogPage page = getPage();
-			if(page != null)
-				shell = page.getShell();
-			
-			MessageDialog dialog = new MessageDialog(
-					shell,
-					IDEWorkbenchMessages
-							.getString("ResourceEncodingFieldEditor.EncodingConflictTitle"), //$NON-NLS-1$
-					null,
-					IDEWorkbenchMessages
-							.format(
-									"ResourceEncodingFieldEditor.EncodingConflictMessage", new String[] { encoding, descriptionCharset }), //$NON-NLS-1$
-					MessageDialog.WARNING, new String[] { IDialogConstants.YES_LABEL,
-							IDialogConstants.NO_LABEL }, 0); // yes is the default
-			if (dialog.open() > 0)
-				return;
-		}
-
-		if (encoding.equals(getDefaultEnc()))
-			encoding = null;
-		else
-			IDEEncoding.addIDEEncoding(encoding);
-
-		final String finalEncoding = encoding;
-
-		Job charsetJob = new Job(IDEWorkbenchMessages.getString("IDEEncoding.EncodingJob")) {//$NON-NLS-1$
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				try {
-					if (resource instanceof IContainer)
-						((IContainer) resource).setDefaultCharset(finalEncoding, monitor);
-					else
-						((IFile) resource).setCharset(finalEncoding, monitor);
-					return Status.OK_STATUS;
-				} catch (CoreException e) {//If there is an error return the default
-					WorkbenchPlugin
-							.log(
-									IDEWorkbenchMessages
-											.getString("ResourceEncodingFieldEditor.ErrorStoringMessage"), e.getStatus()); //$NON-NLS-1$
-					return e.getStatus();
-				}
-			}
-		};
-
-		charsetJob.schedule();
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#store()
-	 */
-	public void store() {//Override the store method as we are not using a preference store
-		doStore();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#load()
-	 */
-	public void load() {//Override the load method as we are not using a preference store
-		setPresentsDefaultValue(false);
-		doLoad();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditor#loadDefault()
-	 */
-	public void loadDefault() {
-		setPresentsDefaultValue(true);
-		doLoadDefault();
-		refreshValidState();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ide.dialogs.AbstractEncodingFieldEditor#findDefaultEncoding()
-	 */
-	protected String findDefaultEncoding() {
-
-		if (resource instanceof IWorkspaceRoot)
-			return super.findDefaultEncoding();
-
-		String defaultCharset = getCharsetFromDescription();
-		defaultCharset = getCharsetFromDescription();
-
-		if (defaultCharset != null && defaultCharset.length() > 0)
-			return defaultCharset;
-		try {
-			//Query up the whole hierarchy
-			defaultCharset = resource.getParent().getDefaultCharset(true);
-		} catch (CoreException exception) {
-			//If there is an exception try again
-		}
-
-		if (defaultCharset != null && defaultCharset.length() > 0)
-			return defaultCharset;
-
-		return super.findDefaultEncoding();
-	}
-
-	/**
-	 * Get the charset from the content description if there is one.
-	 * @return String or <code>null</code>.
-	 */
-	private String getCharsetFromDescription() {
-		IContentDescription description = getContentDescription();
-		if (description != null)
-			return description.getCharset();
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ide.dialogs.AbstractEncodingFieldEditor#defaultButtonText()
-	 */
-	protected String defaultButtonText() {
-
-		if (resource instanceof IWorkspaceRoot)
-			return super.defaultButtonText();
-
-		if (resource instanceof IFile) {
-			try {
-				IContentDescription description = ((IFile) resource).getContentDescription();
-				//If we can find a charset from the description then derive from that
-				if (description == null || description.getCharset() == null)
-					return IDEWorkbenchMessages.format("ResourceInfo.fileContainerEncodingFormat", //$NON-NLS-1$
-							new String[] { getDefaultEnc() });
-
-				return IDEWorkbenchMessages.format("ResourceInfo.fileContentEncodingFormat", //$NON-NLS-1$
-						new String[] { getDefaultEnc() });
-
-			} catch (CoreException exception) {
-				//Do nothing here as we will just try to derive from the container
-			}
-		}
-
-		return IDEWorkbenchMessages.format("ResourceInfo.containerEncodingFormat", //$NON-NLS-1$
-				new String[] { getDefaultEnc() });
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ide.dialogs.AbstractEncodingFieldEditor#createEncodingGroup(org.eclipse.swt.widgets.Composite, int)
-	 */
-	protected Group createEncodingGroup(Composite parent, int numColumns) {
-		Group group = super.createEncodingGroup(parent, numColumns);
-		String byteOrderLabel = IDEEncoding.getByteOrderMarkLabel(getContentDescription());
-		if (byteOrderLabel != null) {
-			Label label = new Label(group, SWT.NONE);
-			label.setText(IDEWorkbenchMessages.format(
-					"WorkbenchPreference.encoding.encodingMessage", //$NON-NLS-1$
-					new String[] { byteOrderLabel }));
-			GridData layoutData = new GridData();
-			layoutData.horizontalSpan = numColumns + 1;
-			label.setLayoutData(layoutData);
-
-		}
-		return group;
-	}
-
-	/**
-	 * Get the content description of the resource if it is 
-	 * a file and it has a content description.
-	 * @return IContentDescription or <code>null</code> if resource is
-	 * not an IFile or it does not have a descrption.
-	 */
-	private IContentDescription getContentDescription() {
-		try {
-			if (resource instanceof IFile)
-				return (((IFile) resource).getContentDescription());
-		} catch (CoreException exception) {
-			//If we cannot find it return null
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/package.html
deleted file mode 100644
index 154f696..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/dialogs/package.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="Author" content="IBM">
-<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Package-level Javadoc</title>
-</head>
-
-<body>
-APIs for dialogs in the IDE-specific portion of the Eclipse Platform User Interface. 
-<h2>Package Specification</h2>
-This package containsthe dialog APIs for the Eclipse Platform User Interface that 
-are IDE specific. 
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html
deleted file mode 100644
index f447e63..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/package.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="Author" content="IBM">
-<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Package-level Javadoc</title>
-</head>
-
-<body>
-
-APIs for the IDE-specific portion of the Eclipse Platform User Interface.
-<h2>Package Specification</h2>
-This package contains APIs for the Eclipse Platform User Interface that are IDE
-specific.
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java
deleted file mode 100644
index 385bc00..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/AboutInfo.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedInputStream;
-
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.internal.BundleGroupProperties;
-import org.eclipse.ui.internal.ProductProperties;
-
-/**
- * The information within this object is obtained from the about INI file.
- * This file resides within an install configurations directory and must be a 
- * standard java property file.  
- * <p>
- * This class is not intended to be instantiated or subclassed by clients.
- * </p>
- */
-public final class AboutInfo {
-    private ProductProperties productProperties;
-
-    private BundleGroupProperties bundleGroupProperties;
-
-    private Long featureImageCRC;
-
-    private boolean calculatedImageCRC = false;
-
-    /**
-     * The information contained in this info will apply to only the argument product.
-     */
-    public AboutInfo(IProduct product) {
-        this.productProperties = new ProductProperties(product);
-    }
-
-    /**
-     * This info object will apply to the argument bundle group.
-     */
-    public AboutInfo(IBundleGroup bundleGroup) {
-        this.bundleGroupProperties = new BundleGroupProperties(bundleGroup);
-    }
-
-    /**
-     * Returns the configuration information for the feature with the given id.
-     * 
-     * @param featureId
-     *            the feature id
-     * @param versionId
-     *            the version id (of the feature)
-     * @return the configuration information for the feature
-     */
-    public static AboutInfo readFeatureInfo(String featureId, String versionId) {
-        Assert.isNotNull(featureId);
-        Assert.isNotNull(versionId);
-
-        // first see if the id matches the product
-        IProduct product = Platform.getProduct();
-        if (product != null
-                && featureId.equals(ProductProperties.getProductId(product)))
-            return new AboutInfo(product);
-
-        // then check the bundle groups
-        IBundleGroup bundleGroup = getBundleGroup(featureId, versionId);
-        if (bundleGroup != null)
-            return new AboutInfo(bundleGroup);
-
-        return null;
-    }
-
-    private static IBundleGroup getBundleGroup(String id, String versionId) {
-        if (id == null || versionId == null)
-            return null;
-
-        IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
-        for (int p = 0; p < providers.length; ++p) {
-            IBundleGroup[] groups = providers[p].getBundleGroups();
-            for (int g = 0; g < groups.length; ++g)
-                if (id.equals(groups[g].getIdentifier())
-                        && versionId.equals(groups[g].getVersion()))
-                    return groups[g];
-        }
-
-        return null;
-    }
-
-    /**
-     * Returns the descriptor for an image which can be shown in an "about" dialog 
-     * for this product. Products designed to run "headless" typically would not 
-     * have such an image.
-     * 
-     * @return the descriptor for an about image, or <code>null</code> if none
-     */
-    public ImageDescriptor getAboutImage() {
-        return productProperties == null ? null : productProperties
-                .getAboutImage();
-    }
-
-    /**
-     * Returns the descriptor for an image which can be shown in an "about features" 
-     * dialog. Products designed to run "headless" typically would not have such an image.
-     * 
-     * @return the descriptor for a feature image, or <code>null</code> if none
-     */
-    public ImageDescriptor getFeatureImage() {
-        return bundleGroupProperties == null ? null : bundleGroupProperties
-                .getFeatureImage();
-    }
-
-    /**
-     * Returns the simple name of the feature image file.
-     * 
-     * @return the simple name of the feature image file,
-     * or <code>null</code> if none
-     */
-    public String getFeatureImageName() {
-        if (bundleGroupProperties == null)
-            return null;
-
-        URL url = bundleGroupProperties.getFeatureImageUrl();
-        return url == null ? null : new Path(url.getPath()).lastSegment();
-    }
-
-    /**
-     * Returns the CRC of the feature image as supplied in the properties file.
-     * 
-     * @return the CRC of the feature image, or <code>null</code> if none
-     */
-    public Long getFeatureImageCRC() {
-        if (bundleGroupProperties == null)
-            return null;
-
-        if (!calculatedImageCRC) {
-            featureImageCRC = calculateImageCRC(bundleGroupProperties
-                    .getFeatureImageUrl());
-            calculatedImageCRC = featureImageCRC != null;
-        }
-
-        return featureImageCRC;
-    }
-
-    /**
-     * Calculate a CRC for the feature image
-     */
-    private static Long calculateImageCRC(URL url) {
-        if (url == null)
-            return null;
-
-        InputStream in = null;
-        try {
-            CRC32 checksum = new CRC32();
-            in = new CheckedInputStream(url.openStream(), checksum);
-
-            // the contents don't matter, the read just needs a place to go
-            byte[] sink = new byte[2048];
-            while (true)
-                if (in.read(sink) <= 0)
-                    break;
-
-            return new Long(checksum.getValue());
-        } catch (IOException e) {
-            return null;
-        } finally {
-            if (in != null)
-                try {
-                    in.close();
-                } catch (IOException e) {
-                    // do nothing
-                }
-        }
-    }
-
-    /**
-     * Returns a label for the feature plugn, or <code>null</code>.
-     */
-    public String getFeatureLabel() {
-        if (productProperties != null)
-            return productProperties.getProductName();
-        if (bundleGroupProperties != null)
-            return bundleGroupProperties.getFeatureLabel();
-        return null;
-    }
-
-    /**
-     * Returns the id for this feature.
-     * 
-     * @return the feature id
-     */
-    public String getFeatureId() {
-        String id = null;
-        if (productProperties != null)
-            id = productProperties.getProductId();
-        else if (bundleGroupProperties != null)
-            id = bundleGroupProperties.getFeatureId();
-        return id != null ? id : ""; //$NON-NLS-1$ 
-    }
-
-    /**
-     * Returns the text to show in an "about" dialog for this product.
-     * Products designed to run "headless" typically would not have such text.
-     * 
-     * @return the about text, or <code>null</code> if none
-     */
-    public String getAboutText() {
-        return productProperties == null ? null : productProperties
-                .getAboutText();
-    }
-
-    /**
-     * Returns the application name or <code>null</code>.
-     * Note this is never shown to the user.
-     * It is used to initialize the SWT Display.
-     * <p>
-     * On Motif, for example, this can be used
-     * to set the name used for resource lookup.
-     * </p>
-     *
-     * @return the application name, or <code>null</code>
-     * 
-     * @see org.eclipse.swt.widgets.Display#setAppName
-     */
-    public String getAppName() {
-        return productProperties == null ? null : productProperties
-                .getAppName();
-    }
-
-    /**
-     * Returns the product name or <code>null</code>.
-     * This is shown in the window title and the About action.
-     *
-     * @return the product name, or <code>null</code>
-     */
-    public String getProductName() {
-        return productProperties == null ? null : productProperties
-                .getProductName();
-    }
-
-    /**
-     * Returns the provider name or <code>null</code>.
-     *
-     * @return the provider name, or <code>null</code>
-     */
-    public String getProviderName() {
-        return bundleGroupProperties == null ? null : bundleGroupProperties
-                .getProviderName();
-    }
-
-    /**
-     * Returns the feature version id.
-     *
-     * @return the version id of the feature
-     */
-    public String getVersionId() {
-        return bundleGroupProperties == null ? "" : bundleGroupProperties.getFeatureVersion(); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns a <code>URL</code> for the welcome page.
-     * Products designed to run "headless" typically would not have such an page.
-     * 
-     * @return the welcome page, or <code>null</code> if none
-     */
-    public URL getWelcomePageURL() {
-        if (productProperties != null)
-            return productProperties.getWelcomePageUrl();
-        if (bundleGroupProperties != null)
-            return bundleGroupProperties.getWelcomePageUrl();
-        return null;
-    }
-
-    /**
-     * Returns the ID of a perspective in which to show the welcome page.
-     * May be <code>null</code>.
-     * 
-     * @return the welcome page perspective id, or <code>null</code> if none
-     */
-    public String getWelcomePerspectiveId() {
-        return bundleGroupProperties == null ? null : bundleGroupProperties
-                .getWelcomePerspective();
-    }
-
-    /**
-     * Returns a <code>String</code> for the tips and trick href.
-     * 
-     * @return the tips and tricks href, or <code>null</code> if none
-     */
-    public String getTipsAndTricksHref() {
-        return bundleGroupProperties == null ? null : bundleGroupProperties
-                .getTipsAndTricksHref();
-    }
-
-    /**
-     * Return an array of image descriptors for the window images to use for
-     * this product. The expectations is that the elements will be the same
-     * image rendered at different sizes. Products designed to run "headless"
-     * typically would not have such images.
-     * 
-     * @return an array of the image descriptors for the window images, or
-     *         <code>null</code> if none
-     * @since 3.0
-     */
-    public ImageDescriptor[] getWindowImages() {
-        return productProperties == null ? null : productProperties
-                .getWindowImages();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java
deleted file mode 100644
index c0c8631..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Category.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * Category provides for hierarchical grouping of elements
- * registered in the registry. One extension normally defines
- * a category, and other reference it via its ID.
- * <p>
- * A category may specify its parent category in order to
- * achieve hierarchy.
- * </p>
- */
-public class Category extends WorkbenchAdapter {
-    /**
-     * Name of the miscellaneous category
-     */
-    public final static String MISC_NAME = IDEWorkbenchMessages
-            .getString("ICategory.other"); //$NON-NLS-1$
-
-    /**
-     * Identifier of the miscellaneous category
-     */
-    public final static String MISC_ID = "org.eclipse.ui.internal.otherCategory"; //$NON-NLS-1$
-
-    private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-    private static final String ATT_PARENT = "parentCategory"; //$NON-NLS-1$
-
-    private static final String ATT_NAME = "name"; //$NON-NLS-1$
-
-    private String id;
-
-    private String name;
-
-    private String[] parentPath;
-
-    private String unparsedPath;
-
-    private ArrayList elements;
-
-    /**
-     * Creates an instance of <code>Category</code> as a
-     * miscellaneous category.
-     */
-    public Category() {
-        this.id = MISC_ID;
-        this.name = MISC_NAME;
-    }
-
-    /**
-     * Creates an instance of <code>Category</code> with
-     * an ID and label.
-     * 
-     * @param id the unique identifier for the category
-     * @param label the presentation label for this category
-     */
-    public Category(String id, String label) {
-        this.id = id;
-        this.name = label;
-    }
-
-    /**
-     * Creates an instance of <code>Category</code> using the
-     * information from the specified configuration element.
-     * 
-     * @param configElement the <code>IConfigurationElement<code> containing
-     * 		the ID, label, and optional parent category path.
-     * @throws a <code>WorkbenchException</code> if the ID or label is <code>null</code
-     */
-    public Category(IConfigurationElement configElement)
-            throws WorkbenchException {
-        id = configElement.getAttribute(ATT_ID);
-        name = configElement.getAttribute(ATT_NAME);
-        unparsedPath = configElement.getAttribute(ATT_PARENT);
-
-        if (id == null || name == null)
-            throw new WorkbenchException("Invalid category: " + id); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public void addElement(Object element) {
-        if (elements == null)
-            elements = new ArrayList(5);
-        elements.add(element);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable.
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        else
-            return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter.
-     */
-    public Object[] getChildren(Object o) {
-        return getElements().toArray();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter.
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
-                ISharedImages.IMG_OBJ_FOLDER);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter.
-     */
-    public String getLabel(Object o) {
-        return getLabel();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public String getId() {
-        return id;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public String getLabel() {
-        return name;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public String[] getParentPath() {
-        if (unparsedPath != null) {
-            StringTokenizer stok = new StringTokenizer(unparsedPath, "/"); //$NON-NLS-1$
-            parentPath = new String[stok.countTokens()];
-            for (int i = 0; stok.hasMoreTokens(); i++) {
-                parentPath[i] = stok.nextToken();
-            }
-            unparsedPath = null;
-        }
-
-        return parentPath;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public String getRootPath() {
-        String[] path = getParentPath();
-        if (path != null && path.length > 0)
-            return path[0];
-        else
-            return id;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public ArrayList getElements() {
-        return elements;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICategory.
-     */
-    public boolean hasElements() {
-        if (elements != null)
-            return !elements.isEmpty();
-        else
-            return false;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
deleted file mode 100644
index 1cc8420..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.ConfigurationScope;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * This class stores the information behind the "Launch Workspace" dialog. The
- * class is able to read and write itself to a well known configuration file.
- */
-public class ChooseWorkspaceData {
-    /**
-     * The default max length of the recent workspace mru list.
-     */
-    private static final int RECENT_MAX_LENGTH = 5;
-
-    /**
-     * The directory within the config area that will be used for the
-     * receiver's persisted data.
-     */
-    private static final String PERS_FOLDER = "org.eclipse.ui.ide"; //$NON-NLS-1$
-
-    /**
-     * The name of the file within the config area that will be used for
-     * the recever's persisted data.
-     * @see PERS_FOLDER
-     */
-    private static final String PERS_FILENAME = "recentWorkspaces.xml"; //$NON-NLS-1$
-
-    /**
-     * In the past a file was used to store persist these values.  This file was written
-     * with this value as its protocol identifier.
-     */
-    private static final int PERS_ENCODING_VERSION = 1;
-
-    /**
-     * This is the first version of the encode/decode protocol that uses the config area
-     * preference store for persistence.  The only encoding done is to convert the recent
-     * workspace list into a comma-separated list.
-     */
-    private static final int PERS_ENCODING_VERSION_CONFIG_PREFS = 2;
-
-    private boolean showDialog = true;
-
-    private String initialDefault;
-
-    private String selection;
-
-    private String[] recentWorkspaces;
-
-    // xml tags
-    private static interface XML {
-        public static final String PROTOCOL = "protocol"; //$NON-NLS-1$
-
-        public static final String VERSION = "version"; //$NON-NLS-1$
-
-        public static final String ALWAYS_ASK = "alwaysAsk"; //$NON-NLS-1$
-
-        public static final String SHOW_DIALOG = "showDialog"; //$NON-NLS-1$
-
-        public static final String WORKSPACE = "workspace"; //$NON-NLS-1$
-
-        public static final String RECENT_WORKSPACES = "recentWorkspaces"; //$NON-NLS-1$
-
-        public static final String MAX_LENGTH = "maxLength"; //$NON-NLS-1$
-
-        public static final String PATH = "path"; //$NON-NLS-1$
-    }
-
-    /**
-     * Creates a new instance, loading persistent data if its found.
-     */
-    public ChooseWorkspaceData(String initialDefault) {
-        readPersistedData();
-        setInitialDefault(initialDefault);
-    }
-
-    /**
-     * Creates a new instance, loading persistent data if its found.
-     */
-    public ChooseWorkspaceData(URL instanceUrl) {
-        readPersistedData();
-        if (instanceUrl != null)
-            setInitialDefault(new File(instanceUrl.getFile()).toString());
-    }
-
-    /**
-     * Return the folder to be used as a default if no other information
-     * exists. Does not return null.
-     */
-    public String getInitialDefault() {
-        if (initialDefault == null)
-            setInitialDefault(System.getProperty("user.dir") //$NON-NLS-1$
-                    + File.separator + "workspace"); //$NON-NLS-1$
-        return initialDefault;
-    }
-
-    /**
-     * Set this data's initialDefault parameter to a properly formatted version
-     * of the argument directory string. The proper format is to the platform
-     * appropriate separator character without meaningless leading or trailing
-     * separator characters.
-     */
-    private void setInitialDefault(String dir) {
-        if (dir == null || dir.length() <= 0) {
-            initialDefault = null;
-            return;
-        }
-
-        dir = new Path(dir).toOSString();
-        while (dir.charAt(dir.length() - 1) == File.separatorChar)
-            dir = dir.substring(0, dir.length() - 1);
-        initialDefault = dir;
-    }
-
-    /**
-     * Return the currently selected workspace or null if nothing is selected.
-     */
-    public String getSelection() {
-        return selection;
-    }
-
-    /**
-     * Return the currently selected workspace or null if nothing is selected.
-     */
-    public boolean getShowDialog() {
-        return showDialog;
-    }
-
-    /**
-     * Return an array of recent workspaces sorted with the most recently used at
-     * the start.
-     */
-    public String[] getRecentWorkspaces() {
-        return recentWorkspaces;
-    }
-
-    /**
-     * The argument workspace has been selected, update the receiver.  Does not
-     * persist the new values.
-     */
-    public void workspaceSelected(String dir) {
-        // this just stores the selection, it is not inserted and persisted
-        // until the workspace is actually selected
-        selection = dir;
-    }
-
-    /**
-     * Toggle value of the showDialog persistent setting.
-     */
-    public void toggleShowDialog() {
-        showDialog = !showDialog;
-    }
-
-    /**
-	 * Update the persistent store. Call this function after the currently
-	 * selected value has been found to be ok.
-	 */
-	public void writePersistedData() {
-		// 1. get config pref node
-		Preferences node = new ConfigurationScope().getNode(PlatformUI.PLUGIN_ID);
-
-		// 2. get value for showDialog
-		node.putBoolean(
-				IWorkbenchPreferenceConstants.SHOW_WORKSPACE_SELECTION_DIALOG,
-				showDialog);
-
-		// 3. use value of numRecent to create proper length array
-		node.putInt(IWorkbenchPreferenceConstants.MAX_RECENT_WORKSPACES,
-				recentWorkspaces.length);
-
-		// move the new selection to the front of the list
-		if (selection != null) {
-			String oldEntry = recentWorkspaces[0];
-			recentWorkspaces[0] = selection;
-			for (int i = 1; i < recentWorkspaces.length && oldEntry != null; ++i) {
-				if (selection.equals(oldEntry))
-					break;
-				String tmp = recentWorkspaces[i];
-				recentWorkspaces[i] = oldEntry;
-				oldEntry = tmp;
-			}
-		}
-
-		// 4. store values of recent workspaces into array
-		String encodedRecentWorkspaces = encodeStoredWorkspacePaths(recentWorkspaces);
-		node.put(IWorkbenchPreferenceConstants.RECENT_WORKSPACES,
-				encodedRecentWorkspaces);
-
-		// 5. store the protocol version used to encode the list
-		node.putInt(IWorkbenchPreferenceConstants.RECENT_WORKSPACES_PROTOCOL,
-				PERS_ENCODING_VERSION_CONFIG_PREFS);
-
-		// 6. store the node
-		try {
-			node.flush();
-		} catch (BackingStoreException e) {
-			// do nothing
-		}
-	}
-
-    /**
-	 * Look for and read data that might have been persisted from some previous
-	 * run. Leave the receiver in a default state if no persistent data is
-	 * found.
-	 * 
-	 * @return true if a file was successfully read and false otherwise
-	 */
-    private boolean readPersistedData_file() {
-	    URL persUrl = null;
-
-	    Location configLoc = Platform.getConfigurationLocation();
-	    if (configLoc != null)
-	        persUrl = getPersistenceUrl(configLoc.getURL(), false);
-
-	    try {
-	        // inside try to get the safe default creation in the finally
-	        // clause
-	        if (persUrl == null)
-	            return false;
-
-	        // E.g.,
-	        //	<launchWorkspaceData>
-	        //		<protocol version="1"/>
-	        //      <alwaysAsk showDialog="1"/>
-	        // 		<recentWorkspaces maxLength="5">
-	        //			<workspace path="C:\eclipse\workspace0"/>
-	        //			<workspace path="C:\eclipse\workspace1"/>
-	        //		</recentWorkspaces>
-	        //	</launchWorkspaceData>
-
-	        Reader reader = new FileReader(persUrl.getFile());
-	        XMLMemento memento = XMLMemento.createReadRoot(reader);
-	        if (memento == null || !compatibleFileProtocol(memento))
-	            return false;
-
-	        IMemento alwaysAskTag = memento.getChild(XML.ALWAYS_ASK);
-	        showDialog = alwaysAskTag == null ? true : alwaysAskTag.getInteger(
-	                XML.SHOW_DIALOG).intValue() == 1;
-
-	        IMemento recent = memento.getChild(XML.RECENT_WORKSPACES);
-	        if (recent == null)
-	            return false;
-
-	        Integer maxLength = recent.getInteger(XML.MAX_LENGTH);
-	        int max = RECENT_MAX_LENGTH;
-	        if (maxLength != null)
-	            max = maxLength.intValue();
-
-	        IMemento indices[] = recent.getChildren(XML.WORKSPACE);
-	        if (indices == null || indices.length <= 0)
-	            return false;
-
-	        // if a user has edited maxLength to be shorter than the listed
-	        // indices, accept the list (its tougher for them to retype a long
-	        // list of paths than to update a max number)
-	        max = Math.max(max, indices.length);
-
-	        recentWorkspaces = new String[max];
-	        for (int i = 0; i < indices.length; ++i) {
-	            String path = indices[i].getString(XML.PATH);
-	            if (path == null)
-	                break;
-	            recentWorkspaces[i] = path;
-	        }
-	    } catch (IOException e) {
-	        // cannot log because instance area has not been set
-	        return false;
-	    } catch (WorkbenchException e) {
-	        // cannot log because instance area has not been set
-	        return false;
-	    } finally {
-	        // create safe default if needed
-	        if (recentWorkspaces == null)
-	            recentWorkspaces = new String[RECENT_MAX_LENGTH];
-	    }
-
-	    return true;
-	}
-
-    /**
-     * Return the current (persisted) value of the "showDialog on startup"
-     * preference. Return the global default if the file cannot be accessed.
-     */
-    public static boolean getShowDialogValue() {
-    	// TODO See the long comment in #readPersistedData -- when the
-		//      transition time is over this method can be changed to
-    	//      read the preference directly.
-
-        ChooseWorkspaceData data = new ChooseWorkspaceData(""); //$NON-NLS-1$
-
-        // return either the value in the file or true, which is the global
-        // default
-        return data.readPersistedData() ? data.showDialog : true;
-    }
-
-    /**
-	 * Return the current (persisted) value of the "showDialog on startup"
-	 * preference. Return the global default if the file cannot be accessed.
-	 */
-	public static void setShowDialogValue(boolean showDialog) {
-		// TODO See the long comment in #readPersistedData -- when the
-		//      transition time is over this method can be changed to
-		//      read the preference directly.
-
-		ChooseWorkspaceData data = new ChooseWorkspaceData(""); //$NON-NLS-1$
-
-		// update the value and write the new settings
-		data.showDialog = showDialog;
-		data.writePersistedData();
-	}
-
-    /**
-	 * Look in the config area preference store for the list of recently used
-	 * workspaces.
-	 * 
-	 * NOTE: During the transition phase the file will be checked if no config
-	 * preferences are found.
-	 * 
-	 * @return true if the values were successfully retrieved and false
-	 *         otherwise
-	 */
-	public boolean readPersistedData() {
-		IPreferenceStore store = new ScopedPreferenceStore(
-				new ConfigurationScope(), PlatformUI.PLUGIN_ID);
-
-		// The old way was to store this information in a file, the new is to
-		// use the configuration area preference store. To help users with the
-		// transition, this code always looks for values in the preference
-		// store; they are used if found. If there aren't any related
-		// preferences, then the file method is used instead. This class always
-		// writes to the preference store, so the fall-back should be needed no
-		// more than once per-user, per-configuration.
-
-		// This code always sets the value of the protocol to a non-zero value
-		// (currently at 2).  If the value comes back as the default (0), then
-		// none of the preferences were set, revert to the file method.
-
-		int protocol = store
-				.getInt(IWorkbenchPreferenceConstants.RECENT_WORKSPACES_PROTOCOL);
-		if (protocol == IPreferenceStore.INT_DEFAULT_DEFAULT
-				&& readPersistedData_file())
-			return true;
-
-		// 2. get value for showDialog
-		showDialog = store
-				.getBoolean(IWorkbenchPreferenceConstants.SHOW_WORKSPACE_SELECTION_DIALOG);
-
-		// 3. use value of numRecent to create proper length array
-		int max = store
-				.getInt(IWorkbenchPreferenceConstants.MAX_RECENT_WORKSPACES);
-		max = Math.max(max, RECENT_MAX_LENGTH);
-
-		// 4. load values of recent workspaces into array
-		String workspacePathPref = store
-				.getString(IWorkbenchPreferenceConstants.RECENT_WORKSPACES);
-		recentWorkspaces = decodeStoredWorkspacePaths(max, workspacePathPref);
-
-		return true;
-	}
-
-	/**
-	 * The the list of recent workspaces must be stored as a string in the preference node.
-	 */
-    private static String encodeStoredWorkspacePaths(String[] recent) {
-		StringBuffer buff = new StringBuffer();
-
-		String path = null;
-		for (int i = 0; i < recent.length; ++i) {
-			if (recent[i] == null)
-				break;
-
-			if (path != null)
-				buff.append(","); //$NON-NLS-1$
-
-			path = recent[i];
-			buff.append(path);
-		}
-
-		return buff.toString();
-	}
-
-	/**
-	 * The the preference for recent workspaces must be converted from the
-	 * storage string into an array.
-	 */
-    private static String[] decodeStoredWorkspacePaths(int max, String prefValue) {
-		String[] paths = new String[max];
-		if (prefValue == null || prefValue.length() <= 0)
-			return paths;
-
-		StringTokenizer tokenizer = new StringTokenizer(prefValue, ","); //$NON-NLS-1$
-		for (int i = 0; i < paths.length && tokenizer.hasMoreTokens(); ++i)
-			paths[i] = tokenizer.nextToken();
-
-		return paths;
-	}
-
-    /**
-	 * Return true if the protocol used to encode the argument memento is
-	 * compatible with the receiver's implementation and false otherwise.
-	 */
-    private static boolean compatibleFileProtocol(IMemento memento) {
-        IMemento protocolMemento = memento.getChild(XML.PROTOCOL);
-        if (protocolMemento == null)
-            return false;
-
-        Integer version = protocolMemento.getInteger(XML.VERSION);
-        return version != null && version.intValue() == PERS_ENCODING_VERSION;
-    }
-
-    /**
-     * The workspace data is stored in the well known file pointed to by the result
-     * of this method.
-     * @param create If the directory and file does not exist this parameter
-     *               controls whether it will be created.
-     * @return An url to the file and null if it does not exist or could not
-     *         be created.
-     */
-    private static URL getPersistenceUrl(URL baseUrl, boolean create) {
-        if (baseUrl == null)
-            return null;
-
-        try {
-            // make sure the directory exists
-            URL url = new URL(baseUrl, PERS_FOLDER);
-            File dir = new File(url.getFile());
-            if (!dir.exists() && (!create || !dir.mkdir()))
-                return null;
-
-            // make sure the file exists
-            url = new URL(dir.toURL(), PERS_FILENAME);
-            File persFile = new File(url.getFile());
-            if (!persFile.exists() && (!create || !persFile.createNewFile()))
-                return null;
-
-            return persFile.toURL();
-        } catch (IOException e) {
-            // cannot log because instance area has not been set
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
deleted file mode 100644
index 4012044..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-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.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.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog that prompts for a directory to use as a workspace.
- */
-public class ChooseWorkspaceDialog extends TitleAreaDialog {
-    private ChooseWorkspaceData launchData;
-
-    private Combo text;
-
-    private boolean suppressAskAgain = false;
-
-    /**
-     * Create a modal dialog on the arugment shell, using and updating the
-     * argument data object.
-     * 
-     * @param suppressAskAgain
-     *            true means the dialog will not have a "don't ask again" button
-     */
-    public ChooseWorkspaceDialog(Shell parentShell,
-            ChooseWorkspaceData launchData, boolean suppressAskAgain) {
-        super(parentShell);
-        this.launchData = launchData;
-        this.suppressAskAgain = suppressAskAgain;
-    }
-
-    /**
-     * Show the dialog to the user (if needed). When this method finishes,
-     * #getSelection will return the workspace that should be used (whether it
-     * was just selected by the user or some previous default has been used.
-     * The parameter can be used to override the users preference.  For example,
-     * this is important in cases where the default selection is already in use
-     * and the user is forced to choose a different one.
-     * 
-     * @param force
-     *            true if the dialog should be opened regardless of the value of
-     *            the show dialog checkbox
-     */
-    public void prompt(boolean force) {
-        if (force || launchData.getShowDialog()) {
-            open();
-
-            // 70576: make sure dialog gets dismissed on ESC too
-            if (getReturnCode() == CANCEL)
-                launchData.workspaceSelected(null);
-
-            return;
-        }
-
-        String[] recent = launchData.getRecentWorkspaces();
-
-        // If the selection dialog was not used then the workspace to use is either the
-        // most recent selection or the initialDefault (if there is no history).
-        String workspace = null;
-        if (recent != null && recent.length > 0)
-        	workspace = recent[0];
-        if (workspace == null || workspace.length() == 0)
-        	workspace = launchData.getInitialDefault();
-        launchData.workspaceSelected(workspace);
-    }
-
-    /**
-     * Creates and returns the contents of the upper part of this dialog (above
-     * the button bar).
-     * <p>
-     * The <code>Dialog</code> implementation of this framework method creates
-     * and returns a new <code>Composite</code> with no margins and spacing.
-     * </p>
-     *
-     * @param parent the parent composite to contain the dialog area
-     * @return the dialog area control
-     */
-    protected Control createDialogArea(Composite parent) {
-        String productName = null;
-        IProduct product = Platform.getProduct();
-        if (product != null) {
-            productName = product.getName();
-        }
-        if (productName == null) {
-            productName = IDEWorkbenchMessages
-                    .getString("ChooseWorkspaceDialog.defaultProductName"); //$NON-NLS-1$
-        }
-
-        Composite composite = (Composite) super.createDialogArea(parent);
-        setTitle(IDEWorkbenchMessages
-                .getString("ChooseWorkspaceDialog.dialogTitle")); //$NON-NLS-1$
-        setMessage(IDEWorkbenchMessages.format(
-                "ChooseWorkspaceDialog.dialogMessage", //$NON-NLS-1$
-                new Object[] { productName }));
-
-        // bug 59934: load title image for sizing, but set it non-visible so the
-        //            white background is displayed
-        if (getTitleImageLabel() != null)
-            getTitleImageLabel().setVisible(false);
-
-        createWorkspaceBrowseRow(composite);
-        if (!suppressAskAgain)
-            createShowDialogButton(composite);
-        Dialog.applyDialogFont(composite);
-        return composite;
-    }
-
-    /**
-     * Configures the given shell in preparation for opening this window
-     * in it.
-     * <p>
-     * The default implementation of this framework method
-     * sets the shell's image and gives it a grid layout. 
-     * Subclasses may extend or reimplement.
-     * </p>
-     * 
-     * @param shell the shell
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        shell.setText(IDEWorkbenchMessages
-                .getString("ChooseWorkspaceDialog.dialogName")); //$NON-NLS-1$
-    }
-
-    /**
-     * Notifies that the ok button of this dialog has been pressed.
-     * <p>
-     * The <code>Dialog</code> implementation of this framework method sets
-     * this dialog's return code to <code>Window.OK</code>
-     * and closes the dialog. Subclasses may override.
-     * </p>
-     */
-    protected void okPressed() {
-        launchData.workspaceSelected(text.getText());
-        super.okPressed();
-    }
-
-    /**
-     * Notifies that the cancel button of this dialog has been pressed.
-     * <p>
-     * The <code>Dialog</code> implementation of this framework method sets
-     * this dialog's return code to <code>Window.CANCEL</code>
-     * and closes the dialog. Subclasses may override if desired.
-     * </p>
-     */
-    protected void cancelPressed() {
-        launchData.workspaceSelected(null);
-        super.cancelPressed();
-    }
-
-    /**
-     * The main area of the dialog is just a row with the current selection
-     * information and a drop-down of the most recently used workspaces.
-     */
-    private void createWorkspaceBrowseRow(Composite parent) {
-        Composite panel = new Composite(parent, SWT.NONE);
-
-        GridLayout layout = new GridLayout(3, false);
-        layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-        layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-        layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-        layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-        panel.setLayout(layout);
-        panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-        panel.setFont(parent.getFont());
-
-        Label label = new Label(panel, SWT.NONE);
-        label.setText(IDEWorkbenchMessages
-                .getString("ChooseWorkspaceDialog.workspaceEntryLabel")); //$NON-NLS-1$
-
-        text = new Combo(panel, SWT.BORDER | SWT.LEAD | SWT.DROP_DOWN);
-        text.setFocus();
-        text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-                | GridData.FILL_HORIZONTAL));
-        setInitialTextValues(text);
-
-        Button browseButton = new Button(panel, SWT.PUSH);
-        browseButton.setText(IDEWorkbenchMessages
-                .getString("ChooseWorkspaceDialog.browseLabel")); //$NON-NLS-1$
-        setButtonLayoutData(browseButton);
-        GridData data = (GridData) browseButton.getLayoutData();
-        data.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-        browseButton.setLayoutData(data);
-        browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                DirectoryDialog dialog = new DirectoryDialog(getShell());
-                dialog.setText(IDEWorkbenchMessages
-                        .getString("ChooseWorkspaceDialog.directoryBrowserTitle")); //$NON-NLS-1$
-                dialog.setMessage(IDEWorkbenchMessages
-                        .getString("ChooseWorkspaceDialog.directoryBrowserMessage")); //$NON-NLS-1$
-                dialog.setFilterPath(getInitialBrowsePath());
-                String dir = dialog.open();
-                if (dir != null)
-                    text.setText(dir);
-            }
-        });
-    }
-
-    /**
-     * Return a string containing the path that is closest to the current
-     * selection in the text widget. This starts with the current value and
-     * works toward the root until there is a directory for which File.exists
-     * returns true. Return the current working dir if the text box does not
-     * contain a valid path.
-     * 
-     * @return closest parent that exists or an empty string
-     */
-    private String getInitialBrowsePath() {
-        File dir = new File(text.getText());
-        while (dir != null && !dir.exists())
-            dir = dir.getParentFile();
-
-        return dir != null ? dir.getAbsolutePath() : System
-                .getProperty("user.dir"); //$NON-NLS-1$
-    }
-
-    /**
-     * The show dialog button allows the user to choose to neven be nagged again.
-     */
-    private void createShowDialogButton(Composite parent) {
-        Composite panel = new Composite(parent, SWT.NONE);
-        panel.setFont(parent.getFont());
-
-        GridLayout layout = new GridLayout(1, false);
-        layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-        panel.setLayout(layout);
-
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.verticalAlignment = GridData.END;
-        panel.setLayoutData(data);
-
-        Button button = new Button(panel, SWT.CHECK);
-        button.setText(IDEWorkbenchMessages
-                .getString("ChooseWorkspaceDialog.useDefaultMessage")); //$NON-NLS-1$
-        button.setSelection(!launchData.getShowDialog());
-        button.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                launchData.toggleShowDialog();
-            }
-        });
-    }
-
-    private void setInitialTextValues(Combo text) {
-        String[] recentWorkspaces = launchData.getRecentWorkspaces();
-        for (int i = 0; i < recentWorkspaces.length; ++i)
-            if (recentWorkspaces[i] != null)
-                text.add(recentWorkspaces[i]);
-
-        text.setText(text.getItemCount() > 0 ? text.getItem(0) : launchData
-                .getInitialDefault());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java
deleted file mode 100644
index 319fd69..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DefaultContributorResourceAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.IContributorResourceAdapter2;
-
-/**
- * The DefaultContributorResourceAdapter is the default
- * implementation of the IContributorResourceAdapter used for 
- * one to one resource adaption.
- */
-public class DefaultContributorResourceAdapter implements
-        IContributorResourceAdapter2 {
-
-    private static IContributorResourceAdapter singleton;
-
-    /**
-     * Constructor for DefaultContributorResourceAdapter.
-     */
-    public DefaultContributorResourceAdapter() {
-        super();
-    }
-
-    /**
-     * Return the default instance used for TaskList adapting.
-     * @return the default instance used for TaskList adapting
-     */
-    public static IContributorResourceAdapter getDefault() {
-        if (singleton == null)
-            singleton = new DefaultContributorResourceAdapter();
-        return singleton;
-    }
-
-    /*
-     * @see IContributorResourceAdapter#getAdaptedResource(IAdaptable)
-     */
-    public IResource getAdaptedResource(IAdaptable adaptable) {
-        return (IResource) adaptable.getAdapter(IResource.class);
-    }
-
-    public ResourceMapping getAdaptedResourceMapping(IAdaptable adaptable) {
-        return (ResourceMapping) adaptable.getAdapter(ResourceMapping.class);
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java
deleted file mode 100644
index 509adf7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/DialogUtil.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Utility class to help with dialogs.
- * <p>
- * Note that a copy of this class exists in the
- * org.eclipse.ui.internal package.
- * </p>
- */
-public class DialogUtil {
-
-    /**
-     * Prevent instantiation.
-     */
-    private DialogUtil() {
-    }
-
-    /**
-     * Open an error style dialog for PartInitException by
-     * including any extra information from the nested
-     * CoreException if present.
-     */
-    public static void openError(Shell parent, String title, String message,
-            PartInitException exception) {
-        // Check for a nested CoreException
-        CoreException nestedException = null;
-        IStatus status = exception.getStatus();
-        if (status != null && status.getException() instanceof CoreException)
-            nestedException = (CoreException) status.getException();
-
-        if (nestedException != null) {
-            // Open an error dialog and include the extra
-            // status information from the nested CoreException
-            ErrorDialog.openError(parent, title, message, nestedException
-                    .getStatus());
-        } else {
-            // Open a regular error dialog since there is no
-            // extra information to display
-            MessageDialog.openError(parent, title, message);
-        }
-    }
-
-    /**
-     * Removes the '&' accelerator indicator from a label, if any.
-     * Also removes the () accelerators which are used in Asian
-     * languages.
-     */
-    public static String removeAccel(String label) {
-
-        int startBracket = label.indexOf("(&"); //$NON-NLS-1$
-        //Non latin accelerator?
-        if (startBracket >= 0) {
-            int endBracket = label.indexOf(')');
-
-            //If there is more than one character it is not an accelerator
-            if ((endBracket - startBracket) == 3)
-                return label.substring(0, startBracket)
-                        + label.substring(endBracket + 1);
-        }
-
-        int i = label.indexOf('&');
-        if (i >= 0)
-            label = label.substring(0, i) + label.substring(i + 1);
-
-        return label;
-    }
-
-    /**
-     * Return the number of rows available in the current display using the
-     * current font.
-     * @param parent The Composite whose Font will be queried.
-     * @return int The result of the display size divided by the font size.
-     */
-    public static int availableRows(Composite parent) {
-
-        int fontHeight = (parent.getFont().getFontData())[0].getHeight();
-        int displayHeight = parent.getDisplay().getClientArea().height;
-
-        return displayHeight / fontHeight;
-    }
-
-    /**
-     * Return whether or not the font in the parent is the size of a regular
-     * font.  Typically used to know if a font is smaller than the High Contrast 
-     * Font. This method is used to make layout decisions based on screen space.
-     * 
-     * @param parent The Composite whose Font will be queried.
-     * @return boolean. True if there are more than 50 lines of possible
-     * text in the display.
-     */
-    public static boolean inRegularFontMode(Composite parent) {
-
-        return availableRows(parent) > 50;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java
deleted file mode 100644
index e63713b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/EditorAreaDropAdapter.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-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.jface.util.Assert;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.EditorInputTransfer;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * An editor area drop adapter to handle transfer types
- * <code>EditorInputTransfer</code>, <code>MarkerTransfer</code>,
- * and <code>ResourceTransfer</code>.
- */
-public class EditorAreaDropAdapter extends DropTargetAdapter {
-    private IWorkbenchWindow window;
-
-    /**
-     * Constructs a new EditorAreaDropAdapter.
-     * @param window the workbench window
-     */
-    public EditorAreaDropAdapter(IWorkbenchWindow window) {
-        this.window = window;
-    }
-
-    public void dragEnter(DropTargetEvent event) {
-        // always indicate a copy
-        event.detail = DND.DROP_COPY;
-    }
-
-    public void dragOperationChanged(DropTargetEvent event) {
-        // always indicate a copy
-        event.detail = DND.DROP_COPY;
-    }
-
-    public void drop(final DropTargetEvent event) {
-        Display d = window.getShell().getDisplay();
-        final IWorkbenchPage page = window.getActivePage();
-        if (page != null) {
-            d.asyncExec(new Runnable() {
-                public void run() {
-                    asyncDrop(event, page);
-                }
-            });
-        }
-    }
-
-    private void asyncDrop(DropTargetEvent event, IWorkbenchPage page) {
-
-        /* Open Editor for generic IEditorInput */
-        if (EditorInputTransfer.getInstance().isSupportedType(
-                event.currentDataType)) {
-            /* event.data is an array of EditorInputData, which contains an IEditorInput and 
-             * the corresponding editorId */
-            Assert
-                    .isTrue(event.data instanceof EditorInputTransfer.EditorInputData[]);
-            EditorInputTransfer.EditorInputData[] editorInputs = (EditorInputTransfer.EditorInputData []) event.data;
-            for (int i = 0; i < editorInputs.length; i++) {
-                IEditorInput editorInput = editorInputs[i].input;
-                String editorId = editorInputs[i].editorId;
-                openNonExternalEditor(page, editorInput, editorId);
-            }
-        }
-
-        /* Open Editor for Marker (e.g. Tasks, Bookmarks, etc) */
-        else if (MarkerTransfer.getInstance().isSupportedType(
-                event.currentDataType)) {
-            Assert.isTrue(event.data instanceof IMarker[]);
-            IMarker[] markers = (IMarker[]) event.data;
-            for (int i = 0; i < markers.length; i++) {
-                openNonExternalEditor(page, markers[i]);
-            }
-        }
-
-        /* Open Editor for resource */
-        else if (ResourceTransfer.getInstance().isSupportedType(
-                event.currentDataType)) {
-            Assert.isTrue(event.data instanceof IResource[]);
-            IResource[] files = (IResource[]) event.data;
-            for (int i = 0; i < files.length; i++) {
-                if (files[i] instanceof IFile) {
-                    IFile file = (IFile) files[i];
-                    openNonExternalEditor(page, file);
-                }
-            }
-        }
-
-    }
-
-    /**
-     * Opens an editor for the given file on the given workbench page in response
-     * to a drop on the workbench editor area. In contrast to other ways of opening
-     * an editor, we never open an external editor in this case (since external
-     * editors appear in their own window and not in the editor area).
-     * The operation fails silently if there is no suitable editor to open.
-     * 
-     * @param page the workbench page
-     * @param file the file to open
-     * @return the editor part that was opened, or <code>null</code> if no editor
-     * was opened
-     */
-    private IEditorPart openNonExternalEditor(IWorkbenchPage page, IFile file) {
-        IEditorPart result;
-        try {
-            // find out which editor we would normal open
-            IEditorDescriptor defaultEditorDesc = IDE.getDefaultEditor(file);
-            if (defaultEditorDesc != null
-                    && !defaultEditorDesc.isOpenExternal()) {
-                // open an internal or in-place editor
-                result = IDE.openEditor(page, file, true);
-            } else {
-                // never open an external editor in response to a drop
-                // check the OS for in-place editor (OLE on Win32)
-                IEditorRegistry editorReg = PlatformUI.getWorkbench()
-                        .getEditorRegistry();
-                IEditorDescriptor editorDesc = null;
-                if (editorReg.isSystemInPlaceEditorAvailable(file.getName())) {
-                    editorDesc = editorReg
-                            .findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID);
-                }
-
-                // next lookup the default text editor
-                if (editorDesc == null) {
-                    editorDesc = editorReg
-                            .findEditor(IDEWorkbenchPlugin.DEFAULT_TEXT_EDITOR_ID);
-                }
-
-                // if no valid editor found, bail out
-                if (editorDesc == null) {
-                    throw new PartInitException(IDEWorkbenchMessages
-                            .getString("IDE.noFileEditorFound")); //$NON-NLS-1$
-                }
-
-                // open the editor on the file
-                result = page.openEditor(new FileEditorInput(file), editorDesc
-                        .getId(), true);
-            }
-        } catch (PartInitException e) {
-            // silently ignore problems opening the editor
-            result = null;
-        }
-        return result;
-    }
-
-    /**
-     * Opens an editor for the given marker on the given workbench page in response
-     * to a drop on the workbench editor area. In contrast to other ways of opening
-     * an editor, we never open an external editor in this case (since external
-     * editors appear in their own window and not in the editor area).
-     * The operation fails silently if there is no suitable editor to open.
-     * 
-     * @param page the workbench page
-     * @param marker the marker to open
-     * @return the editor part that was opened, or <code>null</code> if no editor
-     * was opened
-     */
-    private IEditorPart openNonExternalEditor(IWorkbenchPage page,
-            IMarker marker) {
-        IEditorPart result;
-        try {
-            // get the marker resource file
-            if (!(marker.getResource() instanceof IFile)) {
-                return null;
-            }
-            IFile file = (IFile) marker.getResource();
-
-            // get the preferred editor id from the marker
-            IEditorDescriptor editorDesc = null;
-            try {
-                String editorID = (String) marker
-                        .getAttribute(IDE.EDITOR_ID_ATTR);
-                if (editorID != null) {
-                    IEditorRegistry editorReg = PlatformUI.getWorkbench()
-                            .getEditorRegistry();
-                    editorDesc = editorReg.findEditor(editorID);
-                }
-            } catch (CoreException e) {
-                // ignore problems with getting the marker
-            }
-
-            // open the editor on the marker resource file
-            if (editorDesc != null && !editorDesc.isOpenExternal()) {
-                result = page.openEditor(new FileEditorInput(file), editorDesc
-                        .getId(), true);
-            } else {
-                result = openNonExternalEditor(page, file);
-            }
-
-            // get the editor to update its position based on the marker
-            if (result != null) {
-                IDE.gotoMarker(result, marker);
-            }
-
-        } catch (PartInitException e) {
-            // silently ignore problems opening the editor
-            result = null;
-        }
-        return result;
-    }
-
-    /**
-     * Opens an editor for the given editor input and editor id combination on the
-     * given workbench page in response to a drop on the workbench editor area.
-     * In contrast to other ways of opening an editor, we never open an external
-     * editor in this case (since external editors appear in their own window and
-     * not in the editor area). The operation fails silently if the editor
-     * cannot be opened.
-     * 
-     * @param page the workbench page
-     * @param editorInput the editor input
-     * @param editorId the editor id
-     * @return the editor part that was opened, or <code>null</code> if no editor
-     * was opened
-     */
-    private IEditorPart openNonExternalEditor(IWorkbenchPage page,
-            IEditorInput editorInput, String editorId) {
-        IEditorPart result;
-        try {
-            IEditorRegistry editorReg = PlatformUI.getWorkbench()
-                    .getEditorRegistry();
-            IEditorDescriptor editorDesc = editorReg.findEditor(editorId);
-            if (editorDesc != null && !editorDesc.isOpenExternal()) {
-                result = page.openEditor(editorInput, editorId);
-            } else {
-                result = null;
-            }
-        } catch (PartInitException e) {
-            // silently ignore problems opening the editor
-            result = null;
-        }
-        return result;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java
deleted file mode 100644
index 2be3661..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/FeatureSelectionDialog.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Locale;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.internal.ide.dialogs.SimpleListContentProvider;
-
-/**
- * Dialog to allow the user to select a feature from a list.
- */
-public class FeatureSelectionDialog extends SelectionDialog {
-    /**
-     * List width in characters.
-     */
-    private final static int LIST_WIDTH = 60;
-
-    /**
-     * List height in characters.
-     */
-    private final static int LIST_HEIGHT = 10;
-
-    /**
-     * The feature about infos.
-     */
-    private AboutInfo[] features;
-
-    /**
-     * List to display the resolutions.
-     */
-    private ListViewer listViewer;
-
-    /**
-     * The help context id
-     */
-    private String helpContextId;
-
-    /**
-     * Creates an instance of this dialog to display
-     * the given features.
-     * <p>
-     * There must be at least one feature.
-     * </p>
-     * 
-     * @param shell  the parent shell
-     * @param features  the features to display
-     * @param primaryFeatureId  the id of the primary feature or null if none
-     * @param shellTitle  shell title
-     * @param shellMessage  shell message
-     * @param helpContextId  help context id
-     */
-    public FeatureSelectionDialog(Shell shell, AboutInfo[] features,
-            String primaryFeatureId, String shellTitle, String shellMessage,
-            String helpContextId) {
-
-        super(shell);
-        if (features == null || features.length == 0) {
-            throw new IllegalArgumentException();
-        }
-        this.features = features;
-        this.helpContextId = helpContextId;
-        setTitle(shellTitle);
-        setMessage(shellMessage);
-
-        // Sort ascending
-        Arrays.sort(features, new Comparator() {
-            Collator coll = Collator.getInstance(Locale.getDefault());
-
-            public int compare(Object a, Object b) {
-                AboutInfo i1, i2;
-                String name1, name2;
-                i1 = (AboutInfo) a;
-                name1 = i1.getFeatureLabel();
-                i2 = (AboutInfo) b;
-                name2 = i2.getFeatureLabel();
-                if (name1 == null)
-                    name1 = ""; //$NON-NLS-1$
-                if (name2 == null)
-                    name2 = ""; //$NON-NLS-1$
-                return coll.compare(name1, name2);
-            }
-        });
-
-        // Find primary feature
-        for (int i = 0; i < features.length; i++) {
-            if (features[i].getFeatureId().equals(primaryFeatureId)) {
-                setInitialSelections(new Object[] { features[i] });
-                return;
-            }
-        }
-
-        // set a safe default		
-        setInitialSelections(new Object[0]);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-				helpContextId);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        // Create label
-        createMessageArea(composite);
-        // Create list viewer	
-        listViewer = new ListViewer(composite, SWT.SINGLE | SWT.H_SCROLL
-                | SWT.V_SCROLL | SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.heightHint = convertHeightInCharsToPixels(LIST_HEIGHT);
-        data.widthHint = convertWidthInCharsToPixels(LIST_WIDTH);
-        listViewer.getList().setLayoutData(data);
-        listViewer.getList().setFont(parent.getFont());
-        // Set the label provider		
-        listViewer.setLabelProvider(new LabelProvider() {
-            public String getText(Object element) {
-                // Return the features's label.
-                return element == null ? "" : ((AboutInfo) element).getFeatureLabel(); //$NON-NLS-1$
-            }
-        });
-
-        // Set the content provider
-        SimpleListContentProvider cp = new SimpleListContentProvider();
-        cp.setElements(features);
-        listViewer.setContentProvider(cp);
-        listViewer.setInput(new Object());
-        // it is ignored but must be non-null
-
-        // Set the initial selection
-        listViewer.setSelection(new StructuredSelection(
-                getInitialElementSelections()), true);
-
-        // Add a selection change listener
-        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                // Update OK button enablement
-                getOkButton().setEnabled(!event.getSelection().isEmpty());
-            }
-        });
-
-        // Add double-click listener
-        listViewer.addDoubleClickListener(new IDoubleClickListener() {
-            public void doubleClick(DoubleClickEvent event) {
-                okPressed();
-            }
-        });
-        return composite;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void okPressed() {
-        IStructuredSelection selection = (IStructuredSelection) listViewer
-                .getSelection();
-        setResult(selection.toList());
-        super.okPressed();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
deleted file mode 100644
index 26d481b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEApplication.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The "main program" for the Eclipse IDE.
- * 
- * @since 3.0
- */
-public class IDEApplication implements IPlatformRunnable, IExecutableExtension {
-
-    private static final String METADATA_FOLDER = ".metadata"; //$NON-NLS-1$
-
-    private static final String VERSION_FILENAME = "version.ini"; //$NON-NLS-1$
-
-    private static final String WORKSPACE_VERSION_KEY = "org.eclipse.core.runtime"; //$NON-NLS-1$
-
-    private static final String WORKSPACE_VERSION_VALUE = "1"; //$NON-NLS-1$
-
-    private static final String PROP_EXIT_CODE = "eclipse.exitcode"; //$NON-NLS-1$
-
-    /**
-     * A special return code that will be recognized by the launcher and used to
-     * restart the workbench.
-     */
-    private static final Integer EXIT_RELAUNCH = new Integer(24);
-
-    private static final int MIN_JVM_VERSION_MAJOR = 1;
-
-    private static final int MIN_JVM_VERSION_MINOR = 4;
-
-    private static final int MIN_JVM_VERSION_SERVICE = 1;
-
-    /**
-     * Creates a new IDE application.
-     */
-    public IDEApplication() {
-        // There is nothing to do for IDEApplication
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.boot.IPlatformRunnable#run(java.lang.Object)
-     */
-    public Object run(Object args) throws Exception {
-        Display display = createDisplay();
-
-        try {
-            Shell shell = new Shell(display, SWT.ON_TOP);
-
-            if (!checkJavaRuntimeVersion(shell)) {
-                Platform.endSplash();
-                return EXIT_OK;
-            }
-
-            try {
-                if (!checkInstanceLocation(shell)) {
-                    Platform.endSplash();
-                    return EXIT_OK;
-                }
-            } finally {
-                if (shell != null)
-                    shell.dispose();
-            }
-
-            // create the workbench with this advisor and run it until it exits
-            // N.B. createWorkbench remembers the advisor, and also registers
-            // the workbench globally so that all UI plug-ins can find it using
-            // PlatformUI.getWorkbench() or AbstractUIPlugin.getWorkbench()
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    new IDEWorkbenchAdvisor());
-
-            // the workbench doesn't support relaunch yet (bug 61809) so
-            // for now restart is used, and exit data properties are checked
-            // here to substitute in the relaunch return code if needed
-            if (returnCode != PlatformUI.RETURN_RESTART)
-                return EXIT_OK;
-
-            // if the exit code property has been set to the relaunch code, then
-            // return that code now, otherwise this is a normal restart
-            return EXIT_RELAUNCH.equals(Integer.getInteger(PROP_EXIT_CODE)) ? EXIT_RELAUNCH
-                    : EXIT_RESTART;
-        } finally {
-            if (display != null)
-                display.dispose();
-        }
-    }
-
-    /**
-     * Creates the display used by the application.
-     * 
-     * @return the display used by the application
-     */
-    protected Display createDisplay() {
-        return PlatformUI.createDisplay();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
-     */
-    public void setInitializationData(IConfigurationElement config,
-            String propertyName, Object data) throws CoreException {
-        // There is nothing to do for IDEApplication
-    }
-
-    /**
-     * Return a boolean value indicating whether or not the version of the Java runtime
-     * ("java.version" system property) is deemed to be compatible with Eclipse.  
-     * The current implementation compares only the version (and not things like vendor name), 
-     * which matches the implementation that used to be in the runtime.
-     */
-    private boolean checkJavaRuntimeVersion(Shell shell) {
-        try {
-            if (isCompatibleVersion(System.getProperty("java.version"))) //$NON-NLS-1$
-                return true;
-
-            // build the requirement into a version string
-            String reqVersion = Integer.toString(MIN_JVM_VERSION_MAJOR) + '.'
-                    + MIN_JVM_VERSION_MINOR + '.' + MIN_JVM_VERSION_SERVICE;
-
-            MessageDialog.openError(shell, IDEWorkbenchMessages
-                    .getString("IDEApplication.incompatibleJVMTitle"), //$NON-NLS-1$
-                    IDEWorkbenchMessages.format(
-                            "IDEApplication.incompatibleJVMMessage", //$NON-NLS-1$
-                            new Object[] { reqVersion }));
-            return false;
-        } catch (SecurityException e) {
-            // If the security manager won't allow us to get the system
-            // property, continue for now and let things fail later on
-            // their own if necessary.
-            return true;
-        } catch (NumberFormatException e) {
-            // If the version string was in a format that we don't understand,
-            // continue and let things fail later on their own if necessary.
-            return true;
-        }
-    }
-
-    /**
-     * Return true if a valid workspace path has been set and false otherwise.
-     * Prompt for and set the path if possible and required.
-     * 
-     * @return true if a valid instance location has been set and false
-     *         otherwise
-     */
-    private boolean checkInstanceLocation(Shell shell) {
-        // -data @none was specified but an ide requires workspace
-        Location instanceLoc = Platform.getInstanceLocation();
-        if (instanceLoc == null) {
-            MessageDialog
-                    .openError(
-                            shell,
-                            IDEWorkbenchMessages
-                                    .getString("IDEApplication.workspaceMandatoryTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("IDEApplication.workspaceMandatoryMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        // -data "/valid/path", workspace already set
-        if (instanceLoc.isSet()) {
-            // make sure the meta data version is compatible (or the user has
-            // chosen to overwrite it).
-            if (!checkValidWorkspace(shell, instanceLoc.getURL()))
-                return false;
-
-            // at this point its valid, so try to lock it and update the
-            // metadata version information if successful
-            try {
-                if (instanceLoc.lock()) {
-                    writeWorkspaceVersion();
-                    return true;
-                }
-                MessageDialog
-                .openError(
-                        shell,
-                        IDEWorkbenchMessages
-                                .getString("IDEApplication.workspaceCannotLockTitle"), //$NON-NLS-1$
-                        IDEWorkbenchMessages
-                                .getString("IDEApplication.workspaceCannotLockMessage")); //$NON-NLS-1$                
-            } catch (IOException e) {
-                IDEWorkbenchPlugin.log("Could not obtain lock for workspace location", //$NON-NLS-1$
-                        e);            	
-                MessageDialog
-                .openError(
-                        shell,
-                        IDEWorkbenchMessages
-                                .getString("InternalError"), //$NON-NLS-1$
-                        e.getMessage()); //$NON-NLS-1$                
-            }            
-            return false;
-        }
-
-        // -data @noDefault or -data not specified, prompt and set
-        ChooseWorkspaceData launchData = new ChooseWorkspaceData(instanceLoc
-                .getDefault());
-
-        boolean force = false;
-        while (true) {
-            URL workspaceUrl = promptForWorkspace(shell, launchData, force);
-            if (workspaceUrl == null)
-                return false;
-
-            // if there is an error with the first selection, then force the
-            // dialog to open to give the user a chance to correct
-            force = true;
-
-            try {
-                // the operation will fail if the url is not a valid
-                // instance data area, so other checking is unneeded
-                if (instanceLoc.setURL(workspaceUrl, true)) {
-                    launchData.writePersistedData();
-                    writeWorkspaceVersion();
-                    return true;
-                }
-            } catch (IllegalStateException e) {
-                MessageDialog
-                        .openError(
-                                shell,
-                                IDEWorkbenchMessages
-                                        .getString("IDEApplication.workspaceCannotBeSetTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .getString("IDEApplication.workspaceCannotBeSetMessage")); //$NON-NLS-1$
-                return false;
-            }
-
-            // by this point it has been determined that the workspace is
-            // already in use -- force the user to choose again
-            MessageDialog.openError(shell, IDEWorkbenchMessages
-                    .getString("IDEApplication.workspaceInUseTitle"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("IDEApplication.workspaceInUseMessage")); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Return true if the argument version is >= the product's requirement and
-     * false otherwise. This algorithm (including behaviour in error cases) was
-     * copied from the old code in the runtime.
-     */
-    private static boolean isCompatibleVersion(String vmVersion) {
-        if (vmVersion == null)
-            return false;
-
-        StringTokenizer tokenizer = new StringTokenizer(vmVersion, " ._"); //$NON-NLS-1$
-        try {
-            // make sure the running vm's major is >= the requirement
-            if (!tokenizer.hasMoreTokens())
-                return true;
-            int major = Integer.parseInt(tokenizer.nextToken());
-            if (major != MIN_JVM_VERSION_MAJOR)
-                return major > MIN_JVM_VERSION_MINOR;
-
-            // make sure the running vm's minor is >= the requirement
-            if (!tokenizer.hasMoreTokens())
-                return true;
-            int minor = Integer.parseInt(tokenizer.nextToken());
-            if (minor != MIN_JVM_VERSION_MINOR)
-                return minor > MIN_JVM_VERSION_MINOR;
-
-            // make sure the running vm's service is >= the requirement
-            if (!tokenizer.hasMoreTokens())
-                return true;
-            int service = Integer.parseInt(tokenizer.nextToken());
-            return service >= MIN_JVM_VERSION_SERVICE;
-        } catch (SecurityException e) {
-            // If the security manager won't allow us to get the system
-            // property, continue for now and let things fail later on
-            // their own if necessary.
-            return true;
-        } catch (NumberFormatException e) {
-            // If the version string was in a format that we don't understand,
-            // continue and let things fail later on their own if necessary.
-            return true;
-        }
-    }
-
-    /**
-     * Open a workspace selection dialog on the argument shell, populating the
-     * argument data with the user's selection. Perform first level validation
-     * on the selection by comparing the version information. This method does
-     * not examine the runtime state (e.g., is the workspace already locked?).
-     * 
-     * @param shell
-     * @param launchData
-     * @param force
-     *            setting to true makes the dialog open regardless of the
-     *            showDialog value
-     * @return An URL storing the selected workspace or null if the user has
-     *         canceled the launch operation.
-     */
-    private URL promptForWorkspace(Shell shell, ChooseWorkspaceData launchData,
-            boolean force) {
-        URL url = null;
-        do {
-            new ChooseWorkspaceDialog(shell, launchData, false).prompt(force);
-            String instancePath = launchData.getSelection();
-            if (instancePath == null)
-                return null;
-
-            // the dialog is not forced on the first iteration, but is on every
-            // subsequent one -- if there was an error then the user needs to be
-            // allowed to fix it
-            force = true;
-
-            // 70576: don't accept empty input
-            if (instancePath.length() <= 0) {
-                MessageDialog
-                .openError(
-                        shell,
-                        IDEWorkbenchMessages
-                                .getString("IDEApplication.workspaceEmptyTitle"), //$NON-NLS-1$
-                        IDEWorkbenchMessages
-                                .getString("IDEApplication.workspaceEmptyMessage")); //$NON-NLS-1$
-                continue;
-            }
-
-            // create the workspace if it does not already exist
-            File workspace = new File(instancePath);
-            if (!workspace.exists())
-                workspace.mkdir();
-
-            try {
-                // Don't use File.toURL() since it adds a leading slash that Platform does not
-                // handle properly.  See bug 54081 for more details.  
-                String path = workspace.getAbsolutePath().replace(
-                        File.separatorChar, '/');
-                url = new URL("file", null, path); //$NON-NLS-1$
-            } catch (MalformedURLException e) {
-                MessageDialog
-                        .openError(
-                                shell,
-                                IDEWorkbenchMessages
-                                        .getString("IDEApplication.workspaceInvalidTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .getString("IDEApplication.workspaceInvalidMessage")); //$NON-NLS-1$
-                continue;
-            }
-        } while (!checkValidWorkspace(shell, url));
-
-        return url;
-    }
-
-    /**
-     * Return true if the argument directory is ok to use as a workspace and
-     * false otherwise. A version check will be performed, and a confirmation
-     * box may be displayed on the argument shell if an older version is
-     * detected.
-     * 
-     * @return true if the argument URL is ok to use as a workspace and false
-     *         otherwise.
-     */
-    private boolean checkValidWorkspace(Shell shell, URL url) {
-        // a null url is not a valid workspace
-        if (url == null)
-            return false;
-
-        String version = readWorkspaceVersion(url);
-
-        // if the version could not be read, then there is not any existing
-        // workspace data to trample, e.g., perhaps its a new directory that
-        // is just starting to be used as a workspace
-        if (version == null)
-            return true;
-
-        final int ide_version = Integer.parseInt(WORKSPACE_VERSION_VALUE);
-        int workspace_version = Integer.parseInt(version);
-
-        // equality test is required since any version difference (newer
-        // or older) may result in data being trampled
-        if (workspace_version == ide_version)
-            return true;
-
-        // At this point workspace has been detected to be from a version
-        // other than the current ide version -- find out if the user wants
-        // to use it anyhow.
-        String title = IDEWorkbenchMessages
-                .getString("IDEApplication.versionTitle"); //$NON-NLS-1$
-        String message = IDEWorkbenchMessages.format(
-                "IDEApplication.versionMessage", //$NON-NLS-1$
-                new Object[] { url.getFile() });
-
-        MessageBox mbox = new MessageBox(shell, SWT.OK | SWT.CANCEL
-                | SWT.ICON_WARNING | SWT.APPLICATION_MODAL);
-        mbox.setText(title);
-        mbox.setMessage(message);
-        return mbox.open() == SWT.OK;
-    }
-
-    /**
-     * Look at the argument URL for the workspace's version information. Return
-     * that version if found and null otherwise.
-     */
-    private static String readWorkspaceVersion(URL workspace) {
-        File versionFile = getVersionFile(workspace, false);
-        if (versionFile == null || !versionFile.exists())
-            return null;
-
-        try {
-            // Although the version file is not spec'ed to be a Java properties
-            // file, it happens to follow the same format currently, so using
-            // Properties to read it is convenient.
-            Properties props = new Properties();
-            FileInputStream is = new FileInputStream(versionFile);
-            try {
-                props.load(is);
-            } finally {
-                is.close();
-            }
-
-            return props.getProperty(WORKSPACE_VERSION_KEY);
-        } catch (IOException e) {
-            IDEWorkbenchPlugin.log("Could not read version file", new Status( //$NON-NLS-1$
-                    IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                    IStatus.ERROR,
-                    e.getMessage() == null ? "" : e.getMessage(), //$NON-NLS-1$, 
-                    e));
-            return null;
-        }
-    }
-
-    /**
-     * Write the version of the metadata into a known file overwriting any
-     * existing file contents. Writing the version file isn't really crucial,
-     * so the function is silent about failure
-     */
-    private static void writeWorkspaceVersion() {
-        Location instanceLoc = Platform.getInstanceLocation();
-        if (instanceLoc == null || instanceLoc.isReadOnly())
-            return;
-
-        File versionFile = getVersionFile(instanceLoc.getURL(), true);
-        if (versionFile == null)
-            return;
-
-        OutputStream output = null;
-        try {
-            String versionLine = WORKSPACE_VERSION_KEY + '='
-                    + WORKSPACE_VERSION_VALUE;
-
-            output = new FileOutputStream(versionFile);
-            output.write(versionLine.getBytes("UTF-8")); //$NON-NLS-1$
-        } catch (IOException e) {
-            IDEWorkbenchPlugin.log("Could not write version file", //$NON-NLS-1$
-                    StatusUtil.newStatus(IStatus.ERROR, e.getMessage(), e));
-        } finally {
-            try {
-                if (output != null)
-                    output.close();
-            } catch (IOException e) {
-                // do nothing
-            }
-        }
-    }
-
-    /**
-     * The version file is stored in the metadata area of the workspace. This
-     * method returns an URL to the file or null if the directory or file does
-     * not exist (and the create parameter is false).
-     * 
-     * @param create
-     *            If the directory and file does not exist this parameter
-     *            controls whether it will be created.
-     * @return An url to the file or null if the version file does not exist or
-     *         could not be created.
-     */
-    private static File getVersionFile(URL workspaceUrl, boolean create) {
-        if (workspaceUrl == null)
-            return null;
-
-        try {
-            // make sure the directory exists
-            File metaDir = new File(workspaceUrl.getPath(), METADATA_FOLDER);
-            if (!metaDir.exists() && (!create || !metaDir.mkdir()))
-                return null;
-
-            // make sure the file exists
-            File versionFile = new File(metaDir, VERSION_FILENAME);
-            if (!versionFile.exists()
-                    && (!create || !versionFile.createNewFile()))
-                return null;
-
-            return versionFile;
-        } catch (IOException e) {
-            // cannot log because instance area has not been set
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java
deleted file mode 100644
index 5d12073..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEExceptionHandler.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.internal.ide.dialogs.InternalErrorDialog;
-
-/**
- * Handles exception while running the event loop.
- * <p>
- * In case of a "simpler" exception such as NPE, log the exception,
- * open a dialog to inform the user and try to keep running.
- * In case of a exception like OutOfMemory and SWTError, log the exception,
- * open a dialog to ask the user to decide if the workbench should 
- * be terminated.
- * </p>
- */
-public final class IDEExceptionHandler {
-
-    private int exceptionCount = 0;
-
-    private InternalErrorDialog dialog;
-
-    private Shell defaultParent = new Shell();
-
-    private boolean closing = false;
-
-    private IWorkbenchConfigurer workbenchConfigurer;
-
-    //Pre-load all Strings trying to run as light as possible in case of fatal errors.
-    private static String MSG_OutOfMemoryError = IDEWorkbenchMessages
-            .getString("FatalError_OutOfMemoryError"); //$NON-NLS-1$
-
-    private static String MSG_StackOverflowError = IDEWorkbenchMessages
-            .getString("FatalError_StackOverflowError"); //$NON-NLS-1$
-
-    private static String MSG_VirtualMachineError = IDEWorkbenchMessages
-            .getString("FatalError_VirtualMachineError"); //$NON-NLS-1$
-
-    private static String MSG_SWTError = IDEWorkbenchMessages
-            .getString("FatalError_SWTError"); //$NON-NLS-1$
-
-    private static String MSG_FATAL_ERROR = IDEWorkbenchMessages
-            .getString("FatalError"); //$NON-NLS-1$
-
-    private static String MSG_FATAL_ERROR_Recursive = IDEWorkbenchMessages
-            .getString("FatalError_RecursiveError"); //$NON-NLS-1$
-
-    private static String MSG_FATAL_ERROR_RecursiveTitle = IDEWorkbenchMessages
-            .getString("Internal_error"); //$NON-NLS-1$
-
-    /**
-     * Creates the exception handle for the IDE application
-     */
-    public IDEExceptionHandler(IWorkbenchConfigurer configurer) {
-        super();
-        workbenchConfigurer = configurer;
-    }
-
-    /**
-     * Handles an event loop exception
-     */
-    public void handleException(Throwable t) {
-        try {
-            exceptionCount++;
-            if (exceptionCount > 1) {
-                if (closing) {
-                    return;
-                }
-                Shell parent = defaultParent;
-                if (dialog != null && dialog.getShell() != null
-                        && !dialog.getShell().isDisposed())
-                    parent = dialog.getShell();
-                MessageBox box = new MessageBox(parent, SWT.ICON_ERROR
-                        | SWT.YES | SWT.NO | SWT.SYSTEM_MODAL);
-                box.setText(MSG_FATAL_ERROR_RecursiveTitle);
-                box.setMessage(MessageFormat.format(MSG_FATAL_ERROR,
-                        new Object[] { MSG_FATAL_ERROR_Recursive }));
-                int result = box.open();
-                if (result == SWT.YES) {
-                    closeWorkbench();
-                }
-            } else {
-                if (openQuestionDialog(t)) {
-                    closeWorkbench();
-                }
-            }
-        } finally {
-            exceptionCount--;
-        }
-    }
-
-    /**
-     * Close the workbench and make sure all exceptions are handled.
-     */
-    private void closeWorkbench() {
-        if (closing) {
-            return;
-        }
-
-        try {
-            closing = true;
-            if (dialog != null && dialog.getShell() != null
-                    && !dialog.getShell().isDisposed())
-                dialog.close();
-            workbenchConfigurer.emergencyClose();
-        } catch (RuntimeException re) {
-            // Workbench may be in such bad shape (no OS handles left, out of memory, etc)
-            // that is cannot even close. Just bail out now.
-            System.err
-                    .println("Fatal runtime error happened during workbench emergency close."); //$NON-NLS-1$
-            re.printStackTrace();
-            throw re;
-        } catch (Error e) {
-            // Workbench may be in such bad shape (no OS handles left, out of memory, etc)
-            // that is cannot even close. Just bail out now.
-            System.err
-                    .println("Fatal error happened during workbench emergency close."); //$NON-NLS-1$
-            e.printStackTrace();
-            throw e;
-        }
-    }
-
-    /**
-     * Inform the user about a fatal error. Return true if the user decide to 
-     * exit workbench or if another fatal error happens while reporting it.
-     */
-    private boolean openQuestionDialog(Throwable internalError) {
-        try {
-            String msg = null;
-            if (internalError instanceof OutOfMemoryError) {
-                msg = MSG_OutOfMemoryError;
-            } else if (internalError instanceof StackOverflowError) {
-                msg = MSG_StackOverflowError;
-            } else if (internalError instanceof VirtualMachineError) {
-                msg = MSG_VirtualMachineError;
-            } else if (internalError instanceof SWTError) {
-                msg = MSG_SWTError;
-            } else {
-                if (internalError.getMessage() == null) {
-                    msg = IDEWorkbenchMessages.getString("InternalErrorNoArg"); //$NON-NLS-1$
-                } else {
-                    msg = IDEWorkbenchMessages
-                            .format(
-                                    "InternalErrorOneArg", new Object[] { internalError.getMessage() }); //$NON-NLS-1$
-                }
-                if (Policy.DEBUG_OPEN_ERROR_DIALOG)
-                    return openQuestion(null, IDEWorkbenchMessages
-                            .getString("Internal_error"), msg, internalError, 1); //$NON-NLS-1$
-                else
-                    return false;
-            }
-            // Always open the dialog in case of major error but do not show the
-            // detail button if not in debug mode.
-            Throwable detail = internalError;
-            if (!Policy.DEBUG_OPEN_ERROR_DIALOG)
-                detail = null;
-            return InternalErrorDialog
-                    .openQuestion(null, IDEWorkbenchMessages
-                            .getString("Internal_error"),//$NON-NLS-1$
-                            MessageFormat.format(MSG_FATAL_ERROR,
-                                    new Object[] { msg }), detail, 1);
-        } catch (Throwable th) {
-            // Workbench may be in such bad shape (no OS handles left, out of memory, etc)
-            // that is cannot show a message to the user. Just bail out now.
-            System.err
-                    .println("Error while informing user about event loop exception:"); //$NON-NLS-1$
-            internalError.printStackTrace();
-            System.err.println("Dialog open exception:"); //$NON-NLS-1$
-            th.printStackTrace();
-            return true;
-        }
-    }
-
-    private boolean openQuestion(Shell parent, String title, String message,
-            Throwable detail, int defaultIndex) {
-        String[] labels;
-        if (detail == null)
-            labels = new String[] { IDialogConstants.YES_LABEL,
-                    IDialogConstants.NO_LABEL };
-        else
-            labels = new String[] { IDialogConstants.YES_LABEL,
-                    IDialogConstants.NO_LABEL,
-                    IDialogConstants.SHOW_DETAILS_LABEL };
-
-        dialog = new InternalErrorDialog(parent, title, null, message, detail,
-                MessageDialog.QUESTION, labels, defaultIndex);
-
-        if (detail != null)
-            dialog.setDetailButton(2);
-        boolean result = dialog.open() == 0;
-        dialog = null;
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java
deleted file mode 100644
index 4a6a6be..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalPreferences.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-
-/**
- * The IDEInternalPreferences are the internal constants used by the Workbench.
- */
-public interface IDEInternalPreferences {
-    // (boolean) Save all dirty editors before running a full or incremental build 
-    public static final String SAVE_ALL_BEFORE_BUILD = "SAVE_ALL_BEFORE_BUILD"; //$NON-NLS-1$
-
-    // (boolean) Refresh workspace on startup 
-    public static final String REFRESH_WORKSPACE_ON_STARTUP = "REFRESH_WORKSPACE_ON_STARTUP"; //$NON-NLS-1$
-
-    // (int) Workspace save interval in minutes
-    // @issue we should drop this and have clients refer to the core preference instead. its not even kept up-to-date if client uses core api directly
-    public final static String SAVE_INTERVAL = "saveInterval"; //$NON-NLS-1$
-
-    public static final int MAX_SAVE_INTERVAL = 9999;
-
-    // (boolean) Show Problems view to users when build contains errors
-    //public static final String SHOW_TASKS_ON_BUILD = "SHOW_TASKS_ON_BUILD"; //$NON-NLS-1$
-
-    // (boolean) Prompt for exit confirmation when last window closed.
-    public static final String EXIT_PROMPT_ON_CLOSE_LAST_WINDOW = "EXIT_PROMPT_ON_CLOSE_LAST_WINDOW"; //$NON-NLS-1$
-
-    // Switch perspectives when creating a new project
-    public static final String PROJECT_SWITCH_PERSP_MODE = "SWITCH_PERSPECTIVE_ON_PROJECT_CREATION"; //$NON-NLS-1$
-
-    public static final String PSPM_PROMPT = MessageDialogWithToggle.PROMPT; //$NON-NLS-1$
-
-    public static final String PSPM_ALWAYS = MessageDialogWithToggle.ALWAYS; //$NON-NLS-1$
-
-    public static final String PSPM_NEVER = MessageDialogWithToggle.NEVER; //$NON-NLS-1$
-
-    // (boolean) Whether or not to display the Welcome dialog on startup.
-    public static final String WELCOME_DIALOG = "WELCOME_DIALOG"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java
deleted file mode 100644
index af86341..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEInternalWorkbenchImages.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class defines internal constants for images that intended to be 
- * available only within the IDE UI proper. Use 
- * <code>IDEInternalWorkbenchImages.getImageDescriptor} to retrieve image
- * descriptors for any of the images named in this class.
- * <p>
- * <b>Note:</b> The existence of these images is not made publically available
- * because such images are subject to change as the dialogs evolve through
- * successive releases.
- * </p>
- */
-public final class IDEInternalWorkbenchImages {
-
-    /** Block instantiation. */
-    private IDEInternalWorkbenchImages() {
-    }
-
-    /*** Constants for Images ***/
-
-    // other toolbar buttons
-    public final static String IMG_ETOOL_BUILD_EXEC = "IMG_ETOOL_BUILD_EXEC"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_BUILD_EXEC_HOVER = "IMG_ETOOL_BUILD_EXEC_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_BUILD_EXEC_DISABLED = "IMG_ETOOL_BUILD_EXEC_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_CLOSE_EDIT = "IMG_ETOOL_CLOSE_EDIT"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_CLOSE_EDIT_HOVER = "IMG_ETOOL_CLOSE_EDIT_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_CLOSE_EDIT_DISABLED = "IMG_ETOOL_CLOSE_EDIT_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVE_EDIT = "IMG_ETOOL_SAVE_EDIT"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVE_EDIT_HOVER = "IMG_ETOOL_SAVE_EDIT_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVE_EDIT_DISABLED = "IMG_ETOOL_SAVE_EDIT_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVEAS_EDIT = "IMG_ETOOL_SAVEAS_EDIT"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVEAS_EDIT_HOVER = "IMG_ETOOL_SAVEAS_EDIT_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVEAS_EDIT_DISABLED = "IMG_ETOOL_SAVEAS_EDIT_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVEALL_EDIT = "IMG_ETOOL_SAVEALL_EDIT"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVEALL_EDIT_HOVER = "IMG_ETOOL_SAVEALL_EDIT_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SAVEALL_EDIT_DISABLED = "IMG_ETOOL_SAVEALL_EDIT_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PRINT_EDIT = "IMG_ETOOL_PRINT_EDIT"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PRINT_EDIT_HOVER = "IMG_ETOOL_PRINT_EDIT_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PRINT_EDIT_DISABLED = "IMG_ETOOL_PRINT_EDIT_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SEARCH_SRC = "IMG_ETOOL_SEARCH_SRC"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SEARCH_SRC_HOVER = "IMG_ETOOL_SEARCH_SRC_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SEARCH_SRC_DISABLED = "IMG_ETOOL_SEARCH_SRC_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_REFRESH_NAV = "IMG_ETOOL_REFRESH_NAV"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_REFRESH_NAV_HOVER = "IMG_ETOOL_REFRESH_NAV_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_REFRESH_NAV_DISABLED = "IMG_ETOOL_REFRESH_NAV_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_STOP_NAV = "IMG_ETOOL_STOP_NAV"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_STOP_NAV_HOVER = "IMG_ETOOL_STOP_NAV_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_STOP_NAV_DISABLED = "IMG_ETOOL_STOP_NAV_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEXT_NAV = "IMG_ETOOL_NEXT_NAV"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PREVIOUS_NAV = "IMG_ETOOL_PREVIOUS_NAV"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEW_PAGE = "IMG_ETOOL_NEW_PAGE"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEW_PAGE_HOVER = "IMG_ETOOL_NEW_PAGE_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEW_PAGE_DISABLED = "IMG_ETOOL_NEW_PAGE_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SET_PAGE = "IMG_ETOOL_SET_PAGE"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SET_PAGE_HOVER = "IMG_ETOOL_SET_PAGE_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_SET_PAGE_DISABLED = "IMG_ETOOL_SET_PAGE_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEW_WND = "IMG_ETOOL_NEW_WND"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEW_WND_HOVER = "IMG_ETOOL_NEW_WND_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_NEW_WND_DISABLED = "IMG_ETOOL_NEW_WND_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PIN_EDITOR = "IMG_ETOOL_PIN_EDITOR"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PIN_EDITOR_HOVER = "IMG_ETOOL_PIN_EDITOR_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_PIN_EDITOR_DISABLED = "IMG_ETOOL_PIN_EDITOR_DISABLED"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_DEF_PERSPECTIVE = "IMG_ETOOL_DEF_PERSPECTIVE"; //$NON-NLS-1$
-
-    public final static String IMG_ETOOL_DEF_PERSPECTIVE_HOVER = "IMG_ETOOL_DEF_PERSPECTIVE_HOVER"; //$NON-NLS-1$
-
-    // local toolbars
-    public final static String IMG_LCL_CLOSE_VIEW = "IMG_LCL_CLOSE_VIEW"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_CLOSE_VIEW_HOVER = "IMG_LCL_CLOSE_VIEW_HOVER"; //$NON-NLS-1$	
-
-    public final static String IMG_LCL_PIN_VIEW = "IMG_LCL_PIN_VIEW"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_PIN_VIEW_HOVER = "IMG_LCL_PIN_VIEW_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_MIN_VIEW = "IMG_LCL_MIN_VIEW"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_MIN_VIEW_HOVER = "IMG_LCL_MIN_VIEW_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_GOTOOBJ_TSK = "IMG_LCL_GOTOOBJ_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_ADDTSK_TSK = "IMG_LCL_ADDTSK_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_REMTSK_TSK = "IMG_LCL_REMTSK_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_SHOWCOMPLETE_TSK = "IMG_LCL_SHOWCOMPLETE_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_VIEW_MENU = "IMG_LCL_VIEW_MENU"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_VIEW_MENU_HOVER = "IMG_LCL_VIEW_MENU_HOVER"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_SELECTED_MODE = "IMG_LCL_SELECTED_MODE"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_SHOWCHILD_MODE = "IMG_LCL_SHOWCHILD_MODE"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_TREE_MODE = "IMG_LCL_TREE_MODE"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_DEFAULTS_PS = "IMG_LCL_DEFAULTS_PS"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_FILTER_PS = "IMG_LCL_FILTER_PS"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_REMBKMRK_TSK = "IMG_LCL_REMBKMRK_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_LCL_SHOWSYNC_RN = "IMG_LCL_SHOWSYNC_RN"; //$NON-NLS-1$
-
-    //wizard images
-    public final static String IMG_WIZBAN_NEWPRJ_WIZ = "IMG_WIZBAN_NEWPRJ_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_NEWFOLDER_WIZ = "IMG_WIZBAN_NEWFOLDER_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_NEWFILE_WIZ = "IMG_WIZBAN_NEWFILE_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_IMPORTDIR_WIZ = "IMG_WIZBAN_IMPORTDIR_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_IMPORTZIP_WIZ = "IMG_WIZBAN_IMPORTZIP_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_EXPORTDIR_WIZ = "IMG_WIZBAN_EXPORTDIR_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_EXPORTZIP_WIZ = "IMG_WIZBAN_EXPORTZIP_WIZ"; //$NON-NLS-1$
-
-    public final static String IMG_WIZBAN_RESOURCEWORKINGSET_WIZ = "IMG_WIZBAN_EXPORTZIP_WIZ"; //$NON-NLS-1$	
-
-    public final static String IMG_VIEW_DEFAULTVIEW_MISC = "IMG_VIEW_DEFAULTVIEW_MISC"; //$NON-NLS-1$
-
-    // task objects
-    public final static String IMG_OBJS_HPRIO_TSK = "IMG_OBJS_HPRIO_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_MPRIO_TSK = "IMG_OBJS_MPRIO_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_LPRIO_TSK = "IMG_OBJS_LPRIO_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_COMPLETE_TSK = "IMG_OBJS_COMPLETE_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_INCOMPLETE_TSK = "IMG_OBJS_INCOMPLETE_TSK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_BRKPT_TSK = "IMG_OBJS_BRKPT_TSK"; //$NON-NLS-1$
-
-    // product
-    public final static String IMG_OBJS_DEFAULT_PROD = "IMG_OBJS_DEFAULT_PROD"; //$NON-NLS-1$
-
-    // welcome
-    public final static String IMG_OBJS_WELCOME_ITEM = "IMG_OBJS_WELCOME_ITEM"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_WELCOME_BANNER = "IMG_OBJS_WELCOME_BANNER"; //$NON-NLS-1$
-
-    // synchronization indicator objects
-    public final static String IMG_OBJS_WBET_STAT = "IMG_OBJS_WBET_STAT"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_SBET_STAT = "IMG_OBJS_SBET_STAT"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_CONFLICT_STAT = "IMG_OBJS_CONFLICT_STAT"; //$NON-NLS-1$
-
-    // local content indicator objects
-    public final static String IMG_OBJS_NOTLOCAL_STAT = "IMG_OBJS_NOTLOCAL_STAT"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_LOCAL_STAT = "IMG_OBJS_LOCAL_STAT"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_FILLLOCAL_STAT = "IMG_OBJS_FILLLOCAL_STAT"; //$NON-NLS-1$
-
-    // part direct manipulation objects
-    public final static String IMG_OBJS_DND_LEFT_SOURCE = "IMG_OBJS_DND_LEFT_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_LEFT_MASK = "IMG_OBJS_DND_LEFT_MASK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_RIGHT_SOURCE = "IMG_OBJS_DND_RIGHT_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_RIGHT_MASK = "IMG_OBJS_DND_RIGHT_MASK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_TOP_SOURCE = "IMG_OBJS_DND_TOP_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_TOP_MASK = "IMG_OBJS_DND_TOP_MASK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_BOTTOM_SOURCE = "IMG_OBJS_DND_BOTTOM_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_BOTTOM_MASK = "IMG_OBJS_DND_BOTTOM_MASK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_INVALID_SOURCE = "IMG_OBJS_DND_INVALID_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_INVALID_MASK = "IMG_OBJS_DND_INVALID_MASK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_STACK_SOURCE = "IMG_OBJS_DND_STACK_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_STACK_MASK = "IMG_OBJS_DND_STACK_MASK"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_OFFSCREEN_SOURCE = "IMG_OBJS_DND_OFFSCREEN_SOURCE"; //$NON-NLS-1$
-
-    public final static String IMG_OBJS_DND_OFFSCREEN_MASK = "IMG_OBJS_DND_OFFSCREEN_MASK"; //$NON-NLS-1$
-
-    /**
-     * Returns the image descriptor for the workbench image with the given
-     * symbolic name. Use this method to retrieve image descriptors for any
-     * of the images named in this class.
-     *
-     * @param symbolicName the symbolic name of the image
-     * @return the image descriptor, or <code>null</code> if none
-     */
-    public static ImageDescriptor getImageDescriptor(String symbolicName) {
-        return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
-                symbolicName);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEPreferenceInitializer.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEPreferenceInitializer.java
deleted file mode 100644
index 49a8a2e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEPreferenceInitializer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * The IDEPreferenceInitializer is the preference initializer for 
- * the IDE preferences.
- */
-public class IDEPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		
-		IEclipsePreferences node = new DefaultScope().getNode(IDEWorkbenchPlugin.getDefault().getBundle().getSymbolicName());
-		node.putBoolean(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD, false);
-		node.putInt(IDEInternalPreferences.SAVE_INTERVAL, 5); //5 minutes
-		node.putBoolean(IDEInternalPreferences.WELCOME_DIALOG, true);
-		node.putBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP,
-                false);
-		node.putBoolean(
-                IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW, true);
-		node.put(IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE,
-                IDEInternalPreferences.PSPM_PROMPT);
-		node.put(IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE,
-                IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-    
-
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
deleted file mode 100644
index 209b429..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchActivityHelper.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IRegistryChangeEvent;
-import org.eclipse.core.runtime.IRegistryChangeListener;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * Utility class that manages promotion of activites in response to workspace changes.
- * 
- * @since 3.0
- */
-public class IDEWorkbenchActivityHelper {
-
-    /**
-     * Resource listener that reacts to new projects (and associated natures) 
-     * coming into the workspace.
-     */
-    private IResourceChangeListener listener;
-
-    /**
-     * Mapping from composite nature ID to IPluginContribution.  Used for proper
-     * activity mapping of natures.
-     */
-    private Map natureMap;
-
-    /**
-     * Singleton instance.
-     */
-    private static IDEWorkbenchActivityHelper singleton;
-
-    /**
-     * Get the singleton instance of this class.
-     * @return the singleton instance of this class.
-     * @since 3.0
-     */
-    public static IDEWorkbenchActivityHelper getInstance() {
-        if (singleton == null) {
-            singleton = new IDEWorkbenchActivityHelper();
-        }
-        return singleton;
-    }
-
-    /**
-     * Create a new <code>IDEWorkbenchActivityHelper</code> which will listen 
-     * for workspace changes and promote activities accordingly.
-     */
-    private IDEWorkbenchActivityHelper() {
-        natureMap = new HashMap();
-        // for dynamic UI
-        Platform.getExtensionRegistry().addRegistryChangeListener(
-                new IRegistryChangeListener() {
-                    public void registryChanged(IRegistryChangeEvent event) {
-                        if (event.getExtensionDeltas(
-                                "org.eclipse.core.resources", "natures").length > 0) //$NON-NLS-1$ //$NON-NLS-2$
-                            loadNatures();
-                    }
-                }, "org.eclipse.core.resources"); //$NON-NLS-1$
-        loadNatures();
-        listener = getChangeListener();
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(listener);
-        // crawl the initial projects to set up nature bindings
-        IProject[] projects = ResourcesPlugin.getWorkspace().getRoot()
-                .getProjects();
-        IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI
-                .getWorkbench().getActivitySupport();
-        for (int i = 0; i < projects.length; i++) {
-            try {
-                processProject(projects[i], workbenchActivitySupport);
-            } catch (CoreException e) {
-                // do nothing
-            }
-        }
-    }
-
-    /**
-     * For dynamic UI.  Clears the cache of known natures and recreates it.
-     */
-    public void loadNatures() {
-        natureMap.clear();
-        IExtensionPoint point = Platform.getExtensionRegistry()
-                .getExtensionPoint("org.eclipse.core.resources.natures"); //$NON-NLS-1$
-        IExtension[] extensions = point.getExtensions();
-        for (int i = 0; i < extensions.length; i++) {
-            IExtension extension = extensions[i];
-            final String localId = extension.getSimpleIdentifier();
-            final String pluginId = extension.getNamespace();
-            String natureId = extension.getUniqueIdentifier();
-            natureMap.put(natureId, new IPluginContribution() {
-                public String getLocalId() {
-                    return localId;
-                }
-
-                public String getPluginId() {
-                    return pluginId;
-                }
-            });
-        }
-    }
-
-    /**
-     * Get a change listener for listening to resource changes.
-     * 
-     * @return
-     */
-    private IResourceChangeListener getChangeListener() {
-        return new IResourceChangeListener() {
-            /*
-             * (non-Javadoc) @see
-             * org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-             */
-            public void resourceChanged(IResourceChangeEvent event) {
-                if (!WorkbenchActivityHelper.isFiltering())
-                    return;
-                IResourceDelta mainDelta = event.getDelta();
-
-                if (mainDelta == null)
-                    return;
-                //Has the root changed?
-                if (mainDelta.getKind() == IResourceDelta.CHANGED
-                        && mainDelta.getResource().getType() == IResource.ROOT) {
-
-                    try {
-                        IResourceDelta[] children = mainDelta
-                                .getAffectedChildren();
-                        IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI
-                                .getWorkbench().getActivitySupport();
-                        for (int i = 0; i < children.length; i++) {
-                            IResourceDelta delta = children[i];
-                            if (delta.getResource().getType() == IResource.PROJECT) {
-                                IProject project = (IProject) delta
-                                        .getResource();
-                                processProject(project,
-                                        workbenchActivitySupport);
-                            }
-                        }
-                    } catch (CoreException exception) {
-                        //Do nothing if there is a CoreException
-                    }
-                }
-            }
-        };
-    }
-
-    /**
-     * Handle natures for the given project.
-     * 
-     * @param project the project
-     * @param workbenchActivitySupport the activity support
-     */
-    protected void processProject(IProject project,
-            IWorkbenchActivitySupport workbenchActivitySupport)
-            throws CoreException {
-        if (!project.isOpen())
-            return;
-        IActivityManager activityManager = workbenchActivitySupport
-                .getActivityManager();
-        String[] ids = project.getDescription().getNatureIds();
-        if (ids.length == 0)
-            return;
-        Set activities = new HashSet(activityManager.getEnabledActivityIds());
-        boolean changed = false;
-        for (int j = 0; j < ids.length; j++) {
-            IPluginContribution contribution = (IPluginContribution) natureMap
-                    .get(ids[j]);
-            if (contribution == null)
-                continue; //bad nature ID.
-            IIdentifier identifier = activityManager
-                    .getIdentifier(WorkbenchActivityHelper
-                            .createUnifiedId(contribution));
-            if (activities.addAll(identifier.getActivityIds())) {
-                changed = true;
-            }
-        }
-        if (changed)
-            workbenchActivitySupport.setEnabledActivityIds(activities);
-    }
-
-    /**
-     * Unhooks the <code>IResourceChangeListener</code>.
-     */
-    public void shutdown() {
-        if (listener != null) {
-            ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-                    listener);
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
deleted file mode 100644
index 4e21fca..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
+++ /dev/null
@@ -1,1153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-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.IAdaptable;
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.IProduct;
-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.PluginVersionIdentifier;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-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.jface.resource.JFaceResources;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.dialogs.SelectPerspectiveDialog;
-import org.eclipse.ui.internal.ide.dialogs.WelcomeEditorInput;
-import org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.part.EditorInputTransfer;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.progress.IProgressService;
-import org.eclipse.update.configurator.ConfiguratorUtils;
-import org.eclipse.update.configurator.IPlatformConfiguration;
-import org.eclipse.update.core.SiteManager;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleException;
-
-/**
- * IDE-specified workbench advisor which configures the workbench for use as
- * an IDE.
- * <p>
- * Note: This class replaces <code>org.eclipse.ui.internal.Workbench</code>.
- * </p>
- * 
- * @since 3.0
- */
-public class IDEWorkbenchAdvisor extends WorkbenchAdvisor {
-    private static final String ACTION_BUILDER = "ActionBuilder"; //$NON-NLS-1$
-
-    private static final String WELCOME_EDITOR_ID = "org.eclipse.ui.internal.ide.dialogs.WelcomeEditor"; //$NON-NLS-1$
-
-    private static final String WORKBENCH_PREFERENCE_CATEGORY_ID = "org.eclipse.ui.preferencePages.Workbench"; //$NON-NLS-1$
-
-    /**
-     * The dialog setting key to access the known installed features
-     * since the last time the workbench was run.
-     */
-    private static final String INSTALLED_FEATURES = "installedFeatures"; //$NON-NLS-1$
-
-    private static IDEWorkbenchAdvisor workbenchAdvisor = null;
-
-    /**
-     * Event loop exception handler for the advisor.
-     */
-    private IDEExceptionHandler exceptionHandler = null;
-
-    /**
-     * Contains the workspace location if the -showlocation command line
-     * argument is specified, or <code>null</code> if not specified.
-     */
-    private String workspaceLocation = null;
-
-    /**
-     * Ordered map of versioned feature ids -> info that are new for this
-     * session; <code>null</code> if uninitialized. Key type:
-     * <code>String</code>, Value type: <code>AboutInfo</code>.
-     */
-    private Map newlyAddedBundleGroups;
-
-    /**
-     * List of <code>AboutInfo</code> for all new installed
-     * features that specify a welcome perspective.
-     */
-    private ArrayList welcomePerspectiveInfos = null;
-
-    /**
-     * Helper for managing activites in response to workspace changes.
-     */
-    private IDEWorkbenchActivityHelper activityHelper = null;
-
-    /**
-     * Signals that the welcome editors and/or intros have been opened.
-     */
-    private boolean editorsAndIntrosOpened = false;
-
-    /**
-     * Creates a new workbench advisor instance.
-     */
-    protected IDEWorkbenchAdvisor() {
-        super();
-        if (workbenchAdvisor != null) {
-            throw new IllegalStateException();
-        }
-        workbenchAdvisor = this;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#initialize
-     */
-    public void initialize(IWorkbenchConfigurer configurer) {
-
-        // make sure we always save and restore workspace state
-        configurer.setSaveAndRestore(true);
-
-        // setup the event loop exception handler
-        exceptionHandler = new IDEExceptionHandler(configurer);
-
-        // register workspace adapters
-        WorkbenchAdapterBuilder.registerAdapters();
-
-        // get the command line arguments
-        String[] cmdLineArgs = Platform.getCommandLineArgs();
-
-        // include the workspace location in the title 
-        // if the command line option -showlocation is specified
-        for (int i = 0; i < cmdLineArgs.length; i++) {
-            if ("-showlocation".equalsIgnoreCase(cmdLineArgs[i])) { //$NON-NLS-1$
-                workspaceLocation = Platform.getLocation().toOSString();
-                break;
-            }
-        }
-
-        // register shared images
-        declareWorkbenchImages();
-
-        // initialize the activity helper
-        activityHelper = IDEWorkbenchActivityHelper.getInstance();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#preStartup()
-     */
-    public void preStartup() {
-
-        //Suspend background jobs while we startup
-        Platform.getJobManager().suspend();
-
-        // support old welcome perspectives if intro plugin is not present
-        if (!hasIntro()) {
-            Map m = getNewlyAddedBundleGroups();
-            welcomePerspectiveInfos = new ArrayList(m.size());
-            for (Iterator i = m.values().iterator(); i.hasNext();) {
-                AboutInfo info = (AboutInfo) i.next();
-                if (info != null && info.getWelcomePerspectiveId() != null
-                        && info.getWelcomePageURL() != null)
-                    welcomePerspectiveInfos.add(info);
-            }
-        }
-
-        //Register the build actions
-        IProgressService service = PlatformUI.getWorkbench()
-                .getProgressService();
-        ImageDescriptor newImage = IDEInternalWorkbenchImages
-                .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC);
-        service.registerIconForFamily(newImage,
-                ResourcesPlugin.FAMILY_MANUAL_BUILD);
-        service.registerIconForFamily(newImage,
-                ResourcesPlugin.FAMILY_AUTO_BUILD);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#postStartup()
-     */
-    public void postStartup() {
-        try {
-            refreshFromLocal();
-            checkUpdates();
-        } finally {//Resume background jobs after we startup
-            Platform.getJobManager().resume();
-        }
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#postShutdown
-     */
-    public void postShutdown() {
-        if (activityHelper != null) {
-            activityHelper.shutdown();
-            activityHelper = null;
-        }
-        if (IDEWorkbenchPlugin.getPluginWorkspace() != null) {
-            disconnectFromWorkspace();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#eventLoopException
-     */
-    public void eventLoopException(Throwable exception) {
-        super.eventLoopException(exception);
-        if (exceptionHandler != null) {
-            exceptionHandler.handleException(exception);
-        } else {
-            if (getWorkbenchConfigurer() != null) {
-                getWorkbenchConfigurer().emergencyClose();
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#preWindowShellClose
-     */
-    public boolean preWindowShellClose(
-            IWorkbenchWindowConfigurer windowConfigurer) {
-        if (getWorkbenchConfigurer().getWorkbench().getWorkbenchWindowCount() > 1) {
-            return true;
-        }
-        // the user has asked to close the last window, while will cause the
-        // workbench to close in due course - prompt the user for confirmation
-        IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        boolean promptOnExit = store
-                .getBoolean(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW);
-
-        if (promptOnExit) {
-            String message;
-
-            String productName = null;
-            IProduct product = Platform.getProduct();
-            if (product != null) {
-                productName = product.getName();
-            }
-            if (productName == null) {
-                message = IDEWorkbenchMessages
-                        .getString("PromptOnExitDialog.message0"); //$NON-NLS-1$
-            } else {
-                message = IDEWorkbenchMessages
-                        .format(
-                                "PromptOnExitDialog.message1", new Object[] { productName }); //$NON-NLS-1$
-            }
-
-            MessageDialogWithToggle dlg = MessageDialogWithToggle
-                    .openOkCancelConfirm(windowConfigurer.getWindow()
-                            .getShell(), IDEWorkbenchMessages
-                            .getString("PromptOnExitDialog.shellTitle"), //$NON-NLS-1$,
-                            message, IDEWorkbenchMessages
-                                    .getString("PromptOnExitDialog.choice"), //$NON-NLS-1$,
-                            false, null, null);
-            if (dlg.getReturnCode() != IDialogConstants.OK_ID) {
-                return false;
-            }
-            if (dlg.getToggleState()) {
-                store
-                        .setValue(
-                                IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW,
-                                false);
-                IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-            }
-        }
-
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#preWindowOpen
-     */
-    public void preWindowOpen(IWorkbenchWindowConfigurer windowConfigurer) {
-
-        // show the shortcut bar and progress indicator, which are hidden by default
-        windowConfigurer.setShowPerspectiveBar(true);
-        windowConfigurer.setShowFastViewBars(true);
-        windowConfigurer.setShowProgressIndicator(true);
-
-        // add the drag and drop support for the editor area
-        windowConfigurer.addEditorAreaTransfer(EditorInputTransfer
-                .getInstance());
-        windowConfigurer.addEditorAreaTransfer(ResourceTransfer.getInstance());
-        windowConfigurer.addEditorAreaTransfer(MarkerTransfer.getInstance());
-        windowConfigurer
-                .configureEditorAreaDropListener(new EditorAreaDropAdapter(
-                        windowConfigurer.getWindow()));
-
-        // hook up the listeners to update the window title
-        windowConfigurer.getWindow().addPageListener(new IPageListener() {
-            public void pageActivated(IWorkbenchPage page) {
-                // do nothing
-            }
-
-            public void pageClosed(IWorkbenchPage page) {
-                updateTitle(page.getWorkbenchWindow());
-            }
-
-            public void pageOpened(IWorkbenchPage page) {
-                // do nothing
-            }
-        });
-        windowConfigurer.getWindow().addPerspectiveListener(
-                new IPerspectiveListener() {
-                    public void perspectiveActivated(IWorkbenchPage page,
-                            IPerspectiveDescriptor perspective) {
-                        updateTitle(page.getWorkbenchWindow());
-                    }
-
-                    public void perspectiveChanged(IWorkbenchPage page,
-                            IPerspectiveDescriptor perspective, String changeId) {
-                        // do nothing
-                    }
-                });
-        windowConfigurer.getWindow().getPartService().addPartListener(
-                new IPartListener2() {
-                    public void partActivated(IWorkbenchPartReference ref) {
-                        if (ref instanceof IEditorReference
-                                || ref.getPage().getActiveEditor() == null) {
-                            updateTitle(ref.getPage().getWorkbenchWindow());
-                        }
-                    }
-
-                    public void partBroughtToTop(IWorkbenchPartReference ref) {
-                        if (ref instanceof IEditorReference
-                                || ref.getPage().getActiveEditor() == null) {
-                            updateTitle(ref.getPage().getWorkbenchWindow());
-                        }
-                    }
-
-                    public void partClosed(IWorkbenchPartReference ref) {
-                        // do nothing
-                    }
-
-                    public void partDeactivated(IWorkbenchPartReference ref) {
-                        // do nothing
-                    }
-
-                    public void partOpened(IWorkbenchPartReference ref) {
-                        // do nothing
-                    }
-
-                    public void partHidden(IWorkbenchPartReference ref) {
-                        // do nothing
-                    }
-
-                    public void partVisible(IWorkbenchPartReference ref) {
-                        // do nothing
-                    }
-
-                    public void partInputChanged(IWorkbenchPartReference ref) {
-                        // do nothing
-                    }
-                });
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowRestore
-     */
-    public void postWindowRestore(IWorkbenchWindowConfigurer windowConfigurer)
-            throws WorkbenchException {
-        int index = PlatformUI.getWorkbench().getWorkbenchWindowCount() - 1;
-
-        if (index >= 0 && welcomePerspectiveInfos != null
-                && index < welcomePerspectiveInfos.size()) {
-            // find a page that exist in the window
-            IWorkbenchPage page = windowConfigurer.getWindow().getActivePage();
-            if (page == null) {
-                IWorkbenchPage pages[] = windowConfigurer.getWindow()
-                        .getPages();
-                if (pages != null && pages.length > 0)
-                    page = pages[0];
-            }
-
-            // if the window does not contain a page, create one
-            String perspectiveId = ((AboutInfo) welcomePerspectiveInfos
-                    .get(index)).getWelcomePerspectiveId();
-            if (page == null) {
-                IAdaptable root = getDefaultPageInput();
-                page = windowConfigurer.getWindow().openPage(perspectiveId,
-                        root);
-            } else {
-                IPerspectiveRegistry reg = PlatformUI.getWorkbench()
-                        .getPerspectiveRegistry();
-                IPerspectiveDescriptor desc = reg
-                        .findPerspectiveWithId(perspectiveId);
-                if (desc != null) {
-                    page.setPerspective(desc);
-                }
-            }
-
-            // set the active page and open the welcome editor
-            windowConfigurer.getWindow().setActivePage(page);
-            page.openEditor(new WelcomeEditorInput(
-                    (AboutInfo) welcomePerspectiveInfos.get(index)),
-                    WELCOME_EDITOR_ID, true);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#postWindowClose
-     */
-    public void postWindowClose(IWorkbenchWindowConfigurer windowConfigurer) {
-        WorkbenchActionBuilder a = (WorkbenchActionBuilder) windowConfigurer
-                .getData(ACTION_BUILDER);
-        if (a != null) {
-            windowConfigurer.setData(ACTION_BUILDER, null);
-            a.dispose();
-        }
-    }
-
-    private void refreshFromLocal() {
-        String[] commandLineArgs = Platform.getCommandLineArgs();
-        IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        boolean refresh = store
-                .getBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP);
-        if (!refresh)
-            return;
-
-        //Do not refresh if it was already done by core on startup.
-        for (int i = 0; i < commandLineArgs.length; i++)
-            if (commandLineArgs[i].equalsIgnoreCase("-refresh")) //$NON-NLS-1$
-                return;
-
-        IWorkbenchWindow window = getWorkbenchConfigurer().getWorkbench()
-                .getActiveWorkbenchWindow();
-        Shell shell = window == null ? null : window.getShell();
-        ProgressMonitorDialog dlg = new ProgressMonitorJobsDialog(shell);
-        final CoreException ex[] = new CoreException[1];
-        try {
-            dlg.run(true, true, new IRunnableWithProgress() {
-                public void run(IProgressMonitor monitor)
-                        throws InvocationTargetException, InterruptedException {
-                    try {
-                        IContainer root = ResourcesPlugin.getWorkspace()
-                                .getRoot();
-                        root.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-                    } catch (CoreException e) {
-                        ex[0] = e;
-                    }
-                }
-            });
-            if (ex[0] != null) {
-                ErrorDialog.openError(shell, IDEWorkbenchMessages
-                        .getString("Workspace.problemsTitle"), //$NON-NLS-1$ 
-                        IDEWorkbenchMessages
-                                .getString("Workspace.problemMessage"), //$NON-NLS-1$
-                        ex[0].getStatus());
-            }
-        } catch (InterruptedException e) {
-            //Do nothing. Operation was canceled.
-        } catch (InvocationTargetException e) {
-            String msg = "InvocationTargetException refreshing from local on startup"; //$NON-NLS-1$
-            IDEWorkbenchPlugin.log(msg, new Status(IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH, 0, msg, e
-                            .getTargetException()));
-        }
-    }
-
-    /**
-     * Disconnect from the core workspace.
-     */
-    private void disconnectFromWorkspace() {
-        // save the workspace
-        final MultiStatus status = new MultiStatus(
-                IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages
-                        .getString("ProblemSavingWorkbench"), null); //$NON-NLS-1$
-        IRunnableWithProgress runnable = new IRunnableWithProgress() {
-            public void run(IProgressMonitor monitor) {
-                try {
-                    status.merge(ResourcesPlugin.getWorkspace().save(true,
-                            monitor));
-                } catch (CoreException e) {
-                    status.merge(e.getStatus());
-                }
-            }
-        };
-        try {
-            new ProgressMonitorJobsDialog(null).run(true, false, runnable);
-        } catch (InvocationTargetException e) {
-            status
-                    .merge(new Status(
-                            IStatus.ERROR,
-                            IDEWorkbenchPlugin.IDE_WORKBENCH,
-                            1,
-                            IDEWorkbenchMessages.getString("InternalError"), e.getTargetException())); //$NON-NLS-1$
-        } catch (InterruptedException e) {
-            status.merge(new Status(IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages
-                            .getString("InternalError"), e)); //$NON-NLS-1$
-        }
-        ErrorDialog.openError(null, IDEWorkbenchMessages
-                .getString("ProblemsSavingWorkspace"), //$NON-NLS-1$
-                null, status, IStatus.ERROR | IStatus.WARNING);
-        if (!status.isOK()) {
-            IDEWorkbenchPlugin.log(IDEWorkbenchMessages
-                    .getString("ProblemsSavingWorkspace"), status); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Checks if the -newUpdates command line argument is present
-     * and if so, opens the update manager.
-     */
-    private void checkUpdates() {
-        boolean newUpdates = false;
-        String[] commandLineArgs = Platform.getCommandLineArgs();
-        for (int i = 0; i < commandLineArgs.length; i++) {
-            if (commandLineArgs[i].equalsIgnoreCase("-newUpdates")) { //$NON-NLS-1$
-                newUpdates = true;
-                break;
-            }
-        }
-
-        if (newUpdates) {
-            try {
-                SiteManager.handleNewChanges();
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin.log(
-                        "Problem opening update manager", e.getStatus()); //$NON-NLS-1$
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#isApplicationMenu
-     */
-    public boolean isApplicationMenu(
-            IWorkbenchWindowConfigurer windowConfigurer, String menuID) {
-        WorkbenchActionBuilder a = (WorkbenchActionBuilder) windowConfigurer
-                .getData(ACTION_BUILDER);
-        return a.isContainerMenu(menuID);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#getDefaultPageInput
-     */
-    public IAdaptable getDefaultPageInput() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public String getInitialWindowPerspectiveId() {
-        int index = PlatformUI.getWorkbench().getWorkbenchWindowCount() - 1;
-
-        String perspectiveId = null;
-        if (index >= 0 && welcomePerspectiveInfos != null
-                && index < welcomePerspectiveInfos.size()) {
-            perspectiveId = ((AboutInfo) welcomePerspectiveInfos.get(index))
-                    .getWelcomePerspectiveId();
-        }
-        if (perspectiveId == null) {
-            perspectiveId = IDE.RESOURCE_PERSPECTIVE_ID;
-        }
-        return perspectiveId;
-    }
-
-    /*
-     * Open the welcome editor for the primary feature and
-     * for any newly installed features.
-     */
-    private void openWelcomeEditors(IWorkbenchWindow window) {
-        if (IDEWorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(
-                IDEInternalPreferences.WELCOME_DIALOG)) {
-            // show the welcome page for the product the first time the workbench opens
-            IProduct product = Platform.getProduct();
-            if (product == null)
-                return;
-
-            AboutInfo productInfo = new AboutInfo(product);
-            URL url = productInfo.getWelcomePageURL();
-            if (url == null)
-                return;
-
-            IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(
-                    IDEInternalPreferences.WELCOME_DIALOG, false);
-            openWelcomeEditor(window, new WelcomeEditorInput(productInfo), null);
-        } else {
-            // Show the welcome page for any newly installed features
-            List welcomeFeatures = new ArrayList();
-            for (Iterator it = getNewlyAddedBundleGroups().entrySet()
-                    .iterator(); it.hasNext();) {
-                Map.Entry entry = (Map.Entry) it.next();
-                String versionedId = (String) entry.getKey();
-                String featureId = versionedId.substring(0, versionedId
-                        .indexOf(':'));
-                AboutInfo info = (AboutInfo) entry.getValue();
-
-                if (info != null && info.getWelcomePageURL() != null) {
-                    welcomeFeatures.add(info);
-                    // activate the feature plug-in so it can run some install code
-                    IPlatformConfiguration platformConfiguration = ConfiguratorUtils
-                            .getCurrentPlatformConfiguration();
-                    IPlatformConfiguration.IFeatureEntry feature = platformConfiguration
-                            .findConfiguredFeatureEntry(featureId);
-                    if (feature != null) {
-                        String pi = feature.getFeaturePluginIdentifier();
-                        if (pi != null) {
-                        	//Start the bundle if there is one
-                        	Bundle bundle = Platform.getBundle(pi);
-                        	if(bundle != null)
-                        		try{
-                        			bundle.start();
-                        		}
-                            	catch(BundleException exception){
-                            		IDEWorkbenchPlugin.log("Failed to load feature", exception);//$NON-NLS-1$
-                            	}
-                        }
-                    }
-                }
-            }
-
-            int wCount = getWorkbenchConfigurer().getWorkbench()
-                    .getWorkbenchWindowCount();
-            for (int i = 0; i < welcomeFeatures.size(); i++) {
-                AboutInfo newInfo = (AboutInfo) welcomeFeatures.get(i);
-                String id = newInfo.getWelcomePerspectiveId();
-                // Other editors were already opened in postWindowRestore(..)
-                if (id == null || i >= wCount) {
-                    openWelcomeEditor(window, new WelcomeEditorInput(newInfo),
-                            id);
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns the map of versioned feature ids -> info object for all installed
-     * features. The format of the versioned feature id (the key of the map) is
-     * featureId + ":" + versionId.
-     * 
-     * @return map of versioned feature ids -> info object (key type:
-     *         <code>String</code>, value type: <code>AboutInfo</code>)
-     * @since 3.0
-     */
-    private Map computeBundleGroupMap() {
-        // use tree map to get predicable order
-        Map ids = new TreeMap();
-
-        IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
-        for (int i = 0; i < providers.length; ++i) {
-            IBundleGroup[] groups = providers[i].getBundleGroups();
-            for (int j = 0; j < groups.length; ++j) {
-                IBundleGroup group = groups[j];
-                AboutInfo info = new AboutInfo(group);
-
-                String version = info.getVersionId();
-                version = version == null ? "0.0.0" //$NON-NLS-1$
-                        : new PluginVersionIdentifier(version).toString();
-                String versionedFeature = group.getIdentifier() + ":" + version; //$NON-NLS-1$
-
-                ids.put(versionedFeature, info);
-            }
-        }
-
-        return ids;
-    }
-
-    /**
-     * Returns the ordered map of versioned feature ids -> AboutInfo that are
-     * new for this session.
-     * 
-     * @return ordered map of versioned feature ids (key type:
-     *         <code>String</code>) -> infos (value type:
-     *         <code>AboutInfo</code>).
-     */
-    private Map getNewlyAddedBundleGroups() {
-        if (newlyAddedBundleGroups == null)
-            newlyAddedBundleGroups = createNewBundleGroupsMap();
-        return newlyAddedBundleGroups;
-    }
-
-    /**
-     * Updates the old features setting and returns a map of new features.
-     */
-    private Map createNewBundleGroupsMap() {
-        // retrieve list of installed bundle groups from last session	
-        IDialogSettings settings = IDEWorkbenchPlugin.getDefault()
-                .getDialogSettings();
-        String[] previousFeaturesArray = settings.getArray(INSTALLED_FEATURES);
-
-        // get a map of currently installed bundle groups and store it for next session
-        Map bundleGroups = computeBundleGroupMap();
-        String[] currentFeaturesArray = new String[bundleGroups.size()];
-        bundleGroups.keySet().toArray(currentFeaturesArray);
-        settings.put(INSTALLED_FEATURES, currentFeaturesArray);
-
-        // remove the previously known from the current set
-        if (previousFeaturesArray != null)
-            for (int i = 0; i < previousFeaturesArray.length; ++i)
-                bundleGroups.remove(previousFeaturesArray[i]);
-
-        return bundleGroups;
-    }
-
-    /*
-     * Open a welcome editor for the given input
-     */
-    private void openWelcomeEditor(IWorkbenchWindow window,
-            WelcomeEditorInput input, String perspectiveId) {
-        if (getWorkbenchConfigurer().getWorkbench().getWorkbenchWindowCount() == 0) {
-            // Something is wrong, there should be at least
-            // one workbench window open by now.
-            return;
-        }
-
-        IWorkbenchWindow win = window;
-        if (perspectiveId != null) {
-            try {
-                win = getWorkbenchConfigurer().getWorkbench()
-                        .openWorkbenchWindow(perspectiveId,
-                                getDefaultPageInput());
-                if (win == null) {
-                    win = window;
-                }
-            } catch (WorkbenchException e) {
-                IDEWorkbenchPlugin
-                        .log(
-                                "Error opening window with welcome perspective.", e.getStatus()); //$NON-NLS-1$
-                return;
-            }
-        }
-
-        if (win == null) {
-            win = getWorkbenchConfigurer().getWorkbench().getWorkbenchWindows()[0];
-        }
-
-        IWorkbenchPage page = win.getActivePage();
-        String id = perspectiveId;
-        if (id == null) {
-            id = getWorkbenchConfigurer().getWorkbench()
-                    .getPerspectiveRegistry().getDefaultPerspective();
-        }
-
-        if (page == null) {
-            try {
-                page = win.openPage(id, getDefaultPageInput());
-            } catch (WorkbenchException e) {
-                ErrorDialog.openError(win.getShell(), IDEWorkbenchMessages
-                        .getString("Problems_Opening_Page"), //$NON-NLS-1$
-                        e.getMessage(), e.getStatus());
-            }
-        }
-        if (page == null)
-            return;
-
-        if (page.getPerspective() == null) {
-            try {
-                page = getWorkbenchConfigurer().getWorkbench().showPerspective(
-                        id, win);
-            } catch (WorkbenchException e) {
-                ErrorDialog
-                        .openError(
-                                win.getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("Workbench.openEditorErrorDialogTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-                                e.getStatus());
-                return;
-            }
-        }
-
-        page.setEditorAreaVisible(true);
-
-        // see if we already have an editor
-        IEditorPart editor = page.findEditor(input);
-        if (editor != null) {
-            page.activate(editor);
-            return;
-        }
-
-        try {
-            page.openEditor(input, WELCOME_EDITOR_ID);
-        } catch (PartInitException e) {
-            ErrorDialog
-                    .openError(
-                            win.getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("Workbench.openEditorErrorDialogTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-                            e.getStatus());
-        }
-        return;
-    }
-
-    /**
-     * Updates the window title. Format will be:
-     * [pageInput -] [currentPerspective -] [editorInput -] [workspaceLocation -] productName
-     * @param window The window being updated.
-     */
-    private void updateTitle(IWorkbenchWindow window) {
-        IWorkbenchWindowConfigurer windowConfigurer = getWorkbenchConfigurer()
-                .getWindowConfigurer(window);
-
-        String title = null;
-        IProduct product = Platform.getProduct();
-        if (product != null) {
-            title = product.getName();
-        }
-        if (title == null) {
-            title = ""; //$NON-NLS-1$
-        }
-
-        if (workspaceLocation != null) {
-            title = IDEWorkbenchMessages
-                    .format(
-                            "WorkbenchWindow.shellTitle", new Object[] { workspaceLocation, title }); //$NON-NLS-1$
-        }
-
-        IWorkbenchPage currentPage = window.getActivePage();
-        if (currentPage != null) {
-            IEditorPart editor = currentPage.getActiveEditor();
-            if (editor != null) {
-                String editorTitle = editor.getTitle();
-                title = IDEWorkbenchMessages
-                        .format(
-                                "WorkbenchWindow.shellTitle", new Object[] { editorTitle, title }); //$NON-NLS-1$
-            }
-            IPerspectiveDescriptor persp = currentPage.getPerspective();
-            String label = ""; //$NON-NLS-1$
-            if (persp != null)
-                label = persp.getLabel();
-            IAdaptable input = currentPage.getInput();
-            if (input != null && !input.equals(getDefaultPageInput())) {
-                label = currentPage.getLabel();
-            }
-            if (label != null && !label.equals("")) { //$NON-NLS-1$	
-                title = IDEWorkbenchMessages
-                        .format(
-                                "WorkbenchWindow.shellTitle", new Object[] { label, title }); //$NON-NLS-1$
-            }
-        }
-
-        windowConfigurer.setTitle(title);
-    }
-
-    /**
-     * Declares all IDE-specific workbench images. This includes both "shared"
-     * images (named in {@link IDE.SharedImages}) and
-     * internal images (named in
-     * {@link org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages}).
-     * 
-     * @see IWorkbenchConfigurer#declareImage
-     */
-    private void declareWorkbenchImages() {
-
-        final String ICONS_PATH = "icons/full/";//$NON-NLS-1$
-        final String PATH_ELOCALTOOL = ICONS_PATH + "elcl16/"; //Enabled toolbar icons.//$NON-NLS-1$
-        final String PATH_ETOOL = ICONS_PATH + "etool16/"; //Enabled toolbar icons.//$NON-NLS-1$
-        final String PATH_DTOOL = ICONS_PATH + "dtool16/"; //Disabled toolbar icons.//$NON-NLS-1$
-        final String PATH_OBJECT = ICONS_PATH + "obj16/"; //Model object icons//$NON-NLS-1$
-        final String PATH_WIZBAN = ICONS_PATH + "wizban/"; //Wizard icons//$NON-NLS-1$
-
-        Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH);
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC, PATH_ETOOL
-                        + "build_exec.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER,
-                PATH_ETOOL + "build_exec.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED,
-                PATH_DTOOL + "build_exec.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC, PATH_ETOOL
-                        + "search_src.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER,
-                PATH_ETOOL + "search_src.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED,
-                PATH_DTOOL + "search_src.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, PATH_ETOOL
-                        + "next_nav.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV, PATH_ETOOL
-                        + "prev_nav.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ, PATH_WIZBAN
-                        + "newprj_wiz.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ,
-                PATH_WIZBAN + "newfolder_wiz.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ, PATH_WIZBAN
-                        + "newfile_wiz.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ,
-                PATH_WIZBAN + "importdir_wiz.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ,
-                PATH_WIZBAN + "importzip_wiz.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ,
-                PATH_WIZBAN + "exportdir_wiz.gif", false); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ,
-                PATH_WIZBAN + "exportzip_wiz.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ,
-                PATH_WIZBAN + "workset_wiz.gif", false); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT,
-                PATH_OBJECT + "prj_obj.gif", true); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT
-                        + "cprj_obj.gif", true); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OPEN_MARKER,
-                PATH_ELOCALTOOL + "gotoobj_tsk.gif", true); //$NON-NLS-1$
-
-        // task objects
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_HPRIO_TSK, PATH_OBJECT+"hprio_tsk.gif");
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_MPRIO_TSK, PATH_OBJECT+"mprio_tsk.gif");
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LPRIO_TSK, PATH_OBJECT+"lprio_tsk.gif");
-
-        declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK,
-                PATH_OBJECT + "taskmrk_tsk.gif", true); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK,
-                PATH_OBJECT + "bkmrk_tsk.gif", true); //$NON-NLS-1$
-
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK, PATH_OBJECT
-                        + "complete_tsk.gif", true); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK, PATH_OBJECT
-                        + "incomplete_tsk.gif", true); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM, PATH_OBJECT
-                        + "welcome_item.gif", true); //$NON-NLS-1$
-        declareWorkbenchImage(ideBundle,
-                IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER, PATH_OBJECT
-                        + "welcome_banner.gif", true); //$NON-NLS-1$
-
-        // synchronization indicator objects
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_WBET_STAT, PATH_OVERLAY+"wbet_stat.gif");
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_SBET_STAT, PATH_OVERLAY+"sbet_stat.gif");
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_CONFLICT_STAT, PATH_OVERLAY+"conflict_stat.gif");
-
-        // content locality indicator objects
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_NOTLOCAL_STAT, PATH_STAT+"notlocal_stat.gif");
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LOCAL_STAT, PATH_STAT+"local_stat.gif");
-        //declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_FILLLOCAL_STAT, PATH_STAT+"filllocal_stat.gif");
-    }
-
-    /**
-     * Declares an IDE-specific workbench image.
-     * 
-     * @param symbolicName the symbolic name of the image
-     * @param path the path of the image file; this path is relative to the base
-     * of the IDE plug-in
-     * @param shared <code>true</code> if this is a shared image, and
-     * <code>false</code> if this is not a shared image
-     * @see IWorkbenchConfigurer#declareImage
-     */
-    private void declareWorkbenchImage(Bundle ideBundle, String symbolicName,
-            String path, boolean shared) {
-        URL url = ideBundle.getEntry(path);
-        ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-        getWorkbenchConfigurer().declareImage(symbolicName, desc, shared);
-    }
-
-    public void fillActionBars(IWorkbenchWindow window,
-            IActionBarConfigurer actionConfigurer, int flags) {
-
-        // setup the action builder to populate the toolbar and menubar in the configurer
-        WorkbenchActionBuilder actionBuilder = null;
-        IWorkbenchWindowConfigurer windowConfigurer = getWorkbenchConfigurer()
-                .getWindowConfigurer(window);
-
-        // For proxy calls to this method it is important that we use the same object
-        // associated with the windowConfigurer
-        actionBuilder = (WorkbenchActionBuilder) windowConfigurer
-                .getData(ACTION_BUILDER);
-        if (actionBuilder == null) {
-            actionBuilder = new WorkbenchActionBuilder(window);
-        }
-
-        if ((flags & FILL_PROXY) != 0) {
-            // Filling in fake actionbars
-            if ((flags & FILL_MENU_BAR) != 0) {
-                actionBuilder.populateMenuBar(actionConfigurer);
-            }
-            if ((flags & FILL_COOL_BAR) != 0) {
-                actionBuilder.populateCoolBar(actionConfigurer);
-            }
-        } else {
-            // make, fill, and hook listeners to action builder
-            // reference to IWorkbenchConfigurer is need for the ABOUT action
-            windowConfigurer.setData(ACTION_BUILDER, actionBuilder);
-            actionBuilder.makeAndPopulateActions(getWorkbenchConfigurer(),
-                    actionConfigurer);
-        }
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#getMainPreferencePageId
-     */
-    public String getMainPreferencePageId() {
-        // indicate that we want the Workench preference page to be prominent
-        return WORKBENCH_PREFERENCE_CATEGORY_ID;
-    }
-
-    /**
-     * Tries to open the intro,if one exists and otherwise will open the legacy 
-     * Welcome pages.
-     * 
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#openIntro(org.eclipse.ui.application.IWorkbenchWindowConfigurer)
-     */
-    public void openIntro(IWorkbenchWindowConfigurer windowConfigurer) {
-        if (editorsAndIntrosOpened)
-            return;
-
-        editorsAndIntrosOpened = true;
-
-        // don't try to open the welcome editors if there is an intro
-        if (hasIntro())
-            super.openIntro(windowConfigurer);
-        else {
-            openWelcomeEditors(windowConfigurer.getWindow());
-            // save any preferences changes caused by the above actions
-            IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-        }
-    }
-
-    /**
-     * Return true if the intro plugin is present and false otherwise.
-     */
-    private boolean hasIntro() {
-        IWorkbenchConfigurer wc = getWorkbenchConfigurer();
-        return wc == null ? false : wc.getWorkbench().getIntroManager()
-                .hasIntro();
-    }
-
-    /**
-     * Returns the workbench action builder for the given window 
-     * @param window
-     * @return WorkbenchActionBuilder
-     */
-    static WorkbenchActionBuilder getActionBuilder(IWorkbenchWindow window) {
-        IWorkbenchWindowConfigurer configurer = workbenchAdvisor
-                .getWorkbenchConfigurer().getWindowConfigurer(window);
-        return (WorkbenchActionBuilder) configurer.getData("ActionBuilder"); //$NON-NLS-1$
-    }
-    
-    /* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor#createEmptyWindowContents(org.eclipse.ui.application.IWorkbenchWindowConfigurer, org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createEmptyWindowContents(final IWorkbenchWindowConfigurer configurer, Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout(2, false));
-		Display display = composite.getDisplay();
-		Color bgCol = display.getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND);
-		composite.setBackground(bgCol);
-        Label label = new Label(composite, SWT.WRAP);
-        label.setForeground(display.getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND));
-        label.setBackground(bgCol);
-        label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT));
-        String msg = IDEWorkbenchMessages.getString("IDEWorkbenchAdvisor.noPerspective"); //$NON-NLS-1$
-        label.setText(msg);
-        ToolBarManager toolBarManager = new ToolBarManager();
-        // TODO: should obtain the open perspective action from ActionFactory
-        IAction openPerspectiveAction = new Action() {
-        	{ setToolTipText(IDEWorkbenchMessages.getString("IDEWorkbenchAdvisor.openPerspective")); //$NON-NLS-1$
-        	  setImageDescriptor(WorkbenchImages.getImageDescriptor(
-                    IWorkbenchGraphicConstants.IMG_ETOOL_NEW_PAGE));
-        	}
-        	public void run() {
-                SelectPerspectiveDialog dlg = new SelectPerspectiveDialog(configurer.getWindow().getShell(),
-                        configurer.getWindow().getWorkbench().getPerspectiveRegistry());
-                dlg.open();
-                if (dlg.getReturnCode() == Window.CANCEL)
-                    return;
-                IPerspectiveDescriptor desc = dlg.getSelection();
-                if (desc != null) {
-                    try {
-						configurer.getWindow().openPage(desc.getId(), getDefaultPageInput());
-					} catch (WorkbenchException e) {
-						IDEWorkbenchPlugin.log("Error opening page", e); //$NON-NLS-1$
-					}
-                }
-        	}
-        };
-        toolBarManager.add(openPerspectiveAction);
-        ToolBar toolBar = toolBarManager.createControl(composite);
-        toolBar.setBackground(bgCol);
-        return composite;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.java
deleted file mode 100644
index 92368a9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchMessages.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.ui.internal.ide;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class IDEWorkbenchMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.ide.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private IDEWorkbenchMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the default value is returned.
-     *
-     * @param key the resource name
-     * @param def the default value
-     * @return the string
-     */
-    public static String getString(String key, String def) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return def;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
deleted file mode 100644
index 544ae21..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-import org.eclipse.ui.internal.ide.registry.MarkerImageProviderRegistry;
-import org.eclipse.ui.internal.ide.registry.ProjectImageRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This internal class represents the top of the IDE workbench.
- *
- * This class is responsible for tracking various registries
- * font, preference, graphics, dialog store.
- *
- * This class is explicitly referenced by the 
- * IDE workbench plug-in's  "plugin.xml"
- * 
- * @since 3.0
- */
-public class IDEWorkbenchPlugin extends AbstractUIPlugin {
-    // Default instance of the receiver
-    private static IDEWorkbenchPlugin inst;
-
-    // Global workbench ui plugin flag. Only workbench implementation is allowed to use this flag
-    // All other plugins, examples, or test cases must *not* use this flag.
-    public static boolean DEBUG = false;
-
-    /**
-     * The IDE workbench plugin ID.
-     */
-    public static final String IDE_WORKBENCH = "org.eclipse.ui.ide"; //$NON-NLS-1$
-
-    /**
-     * The ID of the default text editor.
-     * This must correspond to EditorsUI.DEFAULT_TEXT_EDITOR_ID.
-     */
-    public static final String DEFAULT_TEXT_EDITOR_ID = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$
-
-    // IDE workbench extension point names
-    public static final String PL_MARKER_IMAGE_PROVIDER = "markerImageProviders"; //$NON-NLS-1$
-
-    public static final String PL_MARKER_HELP = "markerHelp"; //$NON-NLS-1$
-
-    public static final String PL_MARKER_RESOLUTION = "markerResolution"; //$NON-NLS-1$
-
-    public static final String PL_CAPABILITIES = "capabilities"; //$NON-NLS-1$
-
-    public static final String PL_PROJECT_NATURE_IMAGES = "projectNatureImages"; //$NON-NLS-1$
-
-    /**
-     * Project image registry; lazily initialized.
-     */
-    private ProjectImageRegistry projectImageRegistry = null;
-
-    /**
-     * Marker image registry; lazily initialized.
-     */
-    private MarkerImageProviderRegistry markerImageProviderRegistry = null;
-
-    /**
-     * Capability registry; lazily initialized.
-     */
-    private CapabilityRegistry capabilityRegistry;
-
-   
-	/**
-	 * Create an instance of the receiver.
-	 */
-	public IDEWorkbenchPlugin() {
-		super();
-		inst = this;
-	}
-    /**
-     * Creates an extension.  If the extension plugin has not
-     * been loaded a busy cursor will be activated during the duration of
-     * the load.
-     *
-     * @param element the config element defining the extension
-     * @param classAttribute the name of the attribute carrying the class
-     * @return Object the extension object
-     * @throws CoreException
-     */
-    public static Object createExtension(final IConfigurationElement element,
-            final String classAttribute) throws CoreException {
-        // If plugin has been loaded create extension.
-        // Otherwise, show busy cursor then create extension.
-        IPluginDescriptor plugin = element.getDeclaringExtension()
-                .getDeclaringPluginDescriptor();
-        if (plugin.isPluginActivated()) {
-            return element.createExecutableExtension(classAttribute);
-        } else {
-            final Object[] ret = new Object[1];
-            final CoreException[] exc = new CoreException[1];
-            BusyIndicator.showWhile(null, new Runnable() {
-                public void run() {
-                    try {
-                        ret[0] = element
-                                .createExecutableExtension(classAttribute);
-                    } catch (CoreException e) {
-                        exc[0] = e;
-                    }
-                }
-            });
-            if (exc[0] != null)
-                throw exc[0];
-            else
-                return ret[0];
-        }
-    }
-
-    /* Return the default instance of the receiver. This represents the runtime plugin.
-     *
-     * @see AbstractPlugin for the typical implementation pattern for plugin classes.
-     */
-    public static IDEWorkbenchPlugin getDefault() {
-        return inst;
-    }
-
-    /**
-     * Return the workspace used by the workbench
-     *
-     * This method is internal to the workbench and must not be called
-     * by any plugins.
-     */
-    public static IWorkspace getPluginWorkspace() {
-        return ResourcesPlugin.getWorkspace();
-    }
-
-    /**
-     * Logs the given message to the platform log.
-     * 
-     * If you have an exception in hand, call log(String, Throwable) instead.
-     * 
-     * If you have a status object in hand call log(String, IStatus) instead.
-     * 
-     * This convenience method is for internal use by the IDE Workbench only and
-     * must not be called outside the IDE Workbench.
-     * 
-     * @param message
-     *            A high level UI message describing when the problem happened.
-     */
-    public static void log(String message) {
-        getDefault().getLog().log(
-                StatusUtil.newStatus(IStatus.ERROR, message, null));
-        System.err.println(message);
-        //1FTTJKV: ITPCORE:ALL - log(status) does not allow plugin information to be recorded
-    }
-
-    /**
-     * Logs the given message and throwable to the platform log.
-     * 
-     * If you have a status object in hand call log(String, IStatus) instead.
-     * 
-     * This convenience method is for internal use by the IDE Workbench only and
-     * must not be called outside the IDE Workbench.
-     * 
-     * @param message
-     *            A high level UI message describing when the problem happened.
-     * @param t
-     *            The throwable from where the problem actually occurred.
-     */
-    public static void log(String message, Throwable t) {
-        IStatus status = StatusUtil.newStatus(IStatus.ERROR, message, t);
-        log(message, status);
-    }
-    
-    /**
-     * Logs the given throwable to the platform log, indicating the class and
-     * method from where it is being logged (this is not necessarily where it
-     * occurred).
-     * 
-     * This convenience method is for internal use by the IDE Workbench only and
-     * must not be called outside the IDE Workbench.
-     * 
-     * @param clazz
-     *            The calling class.
-     * @param methodName
-     *            The calling method name.
-     * @param t
-     *            The throwable from where the problem actually occurred.
-     */
-    public static void log(Class clazz, String methodName, Throwable t) {
-        String msg = MessageFormat.format("Exception in {0}.{1}: {2}", //$NON-NLS-1$
-                new Object[] { clazz.getName(), methodName, t });
-        log(msg, t);
-    }
-    
-    /**
-     * Logs the given message and status to the platform log.
-     * 
-     * This convenience method is for internal use by the IDE Workbench only and
-     * must not be called outside the IDE Workbench.
-     * 
-     * @param message
-     *            A high level UI message describing when the problem happened.
-     *            May be <code>null</code>.
-     * @param status
-     *            The status describing the problem. Must not be null.
-     */
-    public static void log(String message, IStatus status) {
-
-        //1FTUHE0: ITPCORE:ALL - API - Status & logging - loss of semantic info
-
-        if (message != null) {
-            getDefault().getLog().log(
-                    StatusUtil.newStatus(IStatus.ERROR, message, null));
-            System.err.println(message + "\nReason:"); //$NON-NLS-1$
-        }
-
-        getDefault().getLog().log(status);
-        System.err.println(status.getMessage());
-
-        //1FTTJKV: ITPCORE:ALL - log(status) does not allow plugin information to be recorded
-    }
-
-    /* (non-javadoc)
-     * Method declared on AbstractUIPlugin
-     */
-    protected void refreshPluginActions() {
-        // do nothing
-    }
-
-
-    /**
-     * Return the manager that maps project nature ids to images.
-     */
-    public ProjectImageRegistry getProjectImageRegistry() {
-        if (projectImageRegistry == null) {
-            projectImageRegistry = new ProjectImageRegistry();
-            projectImageRegistry.load();
-        }
-        return projectImageRegistry;
-    }
-
-    /**
-     * Returns the marker image provider registry for the workbench.
-     *
-     * @return the marker image provider registry
-     */
-    public MarkerImageProviderRegistry getMarkerImageProviderRegistry() {
-        if (markerImageProviderRegistry == null) {
-            markerImageProviderRegistry = new MarkerImageProviderRegistry();
-        }
-        return markerImageProviderRegistry;
-    }
-
-    /**
-     * Returns the capability registry for the workbench.
-     * 
-     * @return the capability registry
-     */
-    public CapabilityRegistry getCapabilityRegistry() {
-        if (capabilityRegistry == null) {
-            capabilityRegistry = new CapabilityRegistry();
-            capabilityRegistry.load();
-        }
-        return capabilityRegistry;
-    }
-
-    /**
-     * Returns the about information of all known features,
-     * omitting any features which are missing this information.
-     * 
-     * @return a possibly empty list of about infos
-     */
-    public AboutInfo[] getFeatureInfos() {
-        // cannot be cached since bundle groups come and go
-        List infos = new ArrayList();
-
-        // add an entry for each bundle group
-        IBundleGroupProvider[] providers = Platform.getBundleGroupProviders();
-        if (providers != null)
-            for (int i = 0; i < providers.length; ++i) {
-                IBundleGroup[] bundleGroups = providers[i].getBundleGroups();
-                for (int j = 0; j < bundleGroups.length; ++j)
-                    infos.add(new AboutInfo(bundleGroups[j]));
-            }
-
-        return (AboutInfo[]) infos.toArray(new AboutInfo[infos.size()]);
-    }
-
-    /**
-     * Returns the about information of the primary feature.
-     * 
-     * @return info about the primary feature, or <code>null</code> if there 
-     * is no primary feature or if this information is unavailable
-     */
-    public AboutInfo getPrimaryInfo() {
-        IProduct product = Platform.getProduct();
-        return product == null ? null : new AboutInfo(product);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IIDEHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IIDEHelpContextIds.java
deleted file mode 100644
index 6364bdc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IIDEHelpContextIds.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide;
-
-/**
- * Help context ids for the workbench.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IIDEHelpContextIds {
-    public static final String PREFIX = IDEWorkbenchPlugin.IDE_WORKBENCH + "."; //$NON-NLS-1$
-
-    // Actions
-    public static final String ADD_BOOKMARK_ACTION = PREFIX
-            + "add_bookmark_action_context"; //$NON-NLS-1$
-
-    public static final String ADD_TASK_ACTION = PREFIX
-            + "add_task_action_context"; //$NON-NLS-1$	
-
-    public static final String INCREMENTAL_BUILD_ACTION = PREFIX
-            + "incremental_build_action_context"; //$NON-NLS-1$
-
-    public static final String FULL_BUILD_ACTION = PREFIX
-            + "full_build_action_context"; //$NON-NLS-1$
-
-    public static final String CLOSE_RESOURCE_ACTION = PREFIX
-            + "close_resource_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_RESOURCE_ACTION = PREFIX
-            + "open_resource_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_FILE_ACTION = PREFIX
-            + "open_file_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_SYSTEM_EDITOR_ACTION = PREFIX
-            + "open_system_editor_action_context"; //$NON-NLS-1$
-
-    public static final String REFRESH_ACTION = PREFIX
-            + "refresh_action_context"; //$NON-NLS-1$
-
-    public static final String MOVE_RESOURCE_ACTION = PREFIX
-            + "move_resource_action_context"; //$NON-NLS-1$
-
-    public static final String COPY_RESOURCE_ACTION = PREFIX
-            + "copy_resource_action_context"; //$NON-NLS-1$
-
-    public static final String MOVE_PROJECT_ACTION = PREFIX
-            + "move_project_action_context"; //$NON-NLS-1$
-
-    public static final String COPY_PROJECT_ACTION = PREFIX
-            + "copy_project_action_context"; //$NON-NLS-1$
-
-    public static final String RENAME_RESOURCE_ACTION = PREFIX
-            + "rename_resource_action_context"; //$NON-NLS-1$
-
-    public static final String DELETE_RESOURCE_ACTION = PREFIX
-            + "delete_resource_action_context"; //$NON-NLS-1$
-
-    public static final String PROJECT_PROPERTY_DIALOG_ACTION = PREFIX
-            + "project_property_dialog_action_context"; //$NON-NLS-1$
-
-    public static final String CREATE_FOLDER_ACTION = PREFIX
-            + "create_folder_action_context"; //$NON-NLS-1$
-
-    public static final String CREATE_FILE_ACTION = PREFIX
-            + "create_file_action_context"; //$NON-NLS-1$
-
-    public static final String SCRUB_LOCAL_ACTION = PREFIX
-            + "scrub_local_action_context"; //$NON-NLS-1$
-
-    public static final String SET_PAGE_ACTION = PREFIX
-            + "set_page_action_context"; //$NON-NLS-1$
-
-    public static final String ABOUT_ACTION = PREFIX + "about_action_context"; //$NON-NLS-1$
-
-    public static final String CLOSE_ALL_ACTION = PREFIX
-            + "close_all_action_context"; //$NON-NLS-1$
-
-    public static final String LOCK_TOOLBAR_ACTION = PREFIX
-            + "lock_toolbar_action_context"; //$NON-NLS-1$
-
-    public static final String CLOSE_PAGE_ACTION = PREFIX
-            + "close_page_action_context"; //$NON-NLS-1$
-
-    public static final String CLOSE_PART_ACTION = PREFIX
-            + "close_part_action_context"; //$NON-NLS-1$
-
-    public static final String EDIT_ACTION_SETS_ACTION = PREFIX
-            + "edit_action_sets_action_context"; //$NON-NLS-1$
-
-    public static final String EDIT_PERSPECTIVES_ACTION = PREFIX
-            + "edit_perspectives_action_context"; //$NON-NLS-1$
-
-    public static final String GLOBAL_INCREMENTAL_BUILD_ACTION = PREFIX
-            + "global_incremental_build_action_context"; //$NON-NLS-1$
-
-    public static final String GLOBAL_FULL_BUILD_ACTION = PREFIX
-            + "global_full_build_action_context"; //$NON-NLS-1$
-
-    public static final String DELETE_RETARGET_ACTION = PREFIX
-            + "delete_retarget_action_context"; //$NON-NLS-1$
-
-    public static final String CLOSE_ALL_PAGES_ACTION = PREFIX
-            + "close_all_pages_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_NEW_PAGE_ACTION = PREFIX
-            + "open_new_page_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_NEW_WINDOW_ACTION = PREFIX
-            + "open_new_window_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_PREFERENCES_ACTION = PREFIX
-            + "open_preferences_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_NEW_ACTION = PREFIX
-            + "open_new_action_context"; //$NON-NLS-1$
-
-    public static final String NEXT_PAGE_ACTION = PREFIX
-            + "next_page_action_context"; //$NON-NLS-1$
-
-    public static final String QUICK_START_ACTION = PREFIX
-            + "quick_start_action_context"; //$NON-NLS-1$
-
-    public static final String TIPS_AND_TRICKS_ACTION = PREFIX
-            + "tips_and_tricks_action_context"; //$NON-NLS-1$
-
-    public static final String QUIT_ACTION = PREFIX + "quit_action_context"; //$NON-NLS-1$
-
-    public static final String RESET_PERSPECTIVE_ACTION = PREFIX
-            + "reset_perspective_action_context"; //$NON-NLS-1$
-
-    public static final String TOGGLE_EDITORS_VISIBILITY_ACTION = PREFIX
-            + "target_editors_visibility_action_context"; //$NON-NLS-1$
-
-    public static final String SWITCH_TO_PERSPECTIVE_ACTION = PREFIX
-            + "switch_to_perspective_action_context"; //$NON-NLS-1$
-
-    public static final String SHOW_VIEW_ACTION = PREFIX
-            + "show_view_action_context"; //$NON-NLS-1$
-
-    public static final String SHOW_VIEW_OTHER_ACTION = PREFIX
-            + "show_view_other_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_PERSPECTIVE_ACTION = PREFIX
-            + "open_perspective_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_PERSPECTIVE_OTHER_ACTION = PREFIX
-            + "open_perspective_other_action_context"; //$NON-NLS-1$
-
-    public static final String CLOSE_ALL_SAVED_ACTION = PREFIX
-            + "close_all_saved_action_context"; //$NON-NLS-1$
-
-    public static final String SHOW_VIEW_MENU_ACTION = PREFIX
-            + "show_view_menu_action_context"; //$NON-NLS-1$
-
-    public static final String WORKBENCH_EDITORS_ACTION = PREFIX
-            + "workbench_editors_action_context"; //$NON-NLS-1$
-
-    public static final String NEW_WIZARD_SHORTCUT_ACTION = PREFIX
-            + "new_wizard_shortcut_action_context"; //$NON-NLS-1$
-
-    public static final String TEXT_CUT_ACTION = PREFIX
-            + "text_cut_action_context"; //$NON-NLS-1$
-
-    public static final String TEXT_COPY_ACTION = PREFIX
-            + "text_copy_action_context"; //$NON-NLS-1$
-
-    public static final String TEXT_PASTE_ACTION = PREFIX
-            + "text_paste_action_context"; //$NON-NLS-1$
-
-    public static final String TEXT_DELETE_ACTION = PREFIX
-            + "text_delete_action_context"; //$NON-NLS-1$
-
-    public static final String TEXT_SELECT_ALL_ACTION = PREFIX
-            + "text_select_all_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_WORKSPACE_FILE_ACTION = PREFIX
-            + "open_workspace_file_action_context"; //$NON-NLS-1$
-
-    // Dialogs
-   public static final String PROJECT_LOCATION_SELECTION_DIALOG = PREFIX
-            + "project_location_selection_dialog_context"; //$NON-NLS-1$
-
-    public static final String SHOW_PROJECT_PERSPECTIVE_DIALOG = PREFIX
-            + "show_project_perspective_dialog_context"; //$NON-NLS-1$
-
-    public static final String CONTAINER_SELECTION_DIALOG = PREFIX
-            + "container_selection_dialog_context"; //$NON-NLS-1$
-
-    public static final String FILE_SELECTION_DIALOG = PREFIX
-            + "file_selection_dialog_context"; //$NON-NLS-1$
-
-    public static final String RESOURCE_SELECTION_DIALOG = PREFIX
-            + "resource_selection_dialog_context"; //$NON-NLS-1$
-
-    public static final String GOTO_LINE_DIALOG = PREFIX
-            + "goto_line_dialog_context"; //$NON-NLS-1$	
-
-    public static final String DELETE_PROJECT_DIALOG = PREFIX
-            + "delete_project_dialog_context"; //$NON-NLS-1$
-
-    public static final String FILTER_DIALOG = PREFIX + "filter_dialog_context"; //$NON-NLS-1$
-
-    public static final String MARKER_RESOLUTION_SELECTION_DIALOG = PREFIX
-            + "marker_resolution_selection_dialog_context"; //$NON-NLS-1$
-
-     public static final String WELCOME_PAGE_SELECTION_DIALOG = PREFIX
-            + "welcome_page_selection_dialog"; //$NON-NLS-1$
-
-    public static final String TIPS_AND_TRICKS_PAGE_SELECTION_DIALOG = PREFIX
-            + "tips_and_tricks_page_selection_dialog"; //$NON-NLS-1$
-
-    public static final String OPEN_RESOURCE_DIALOG = PREFIX
-            + "open_resource_dialog"; //$NON-NLS-1$
-
-    public static final String NEW_FOLDER_DIALOG = PREFIX + "new_folder_dialog"; //$NON-NLS-1$
-
-    public static final String PATH_VARIABLE_SELECTION_DIALOG = PREFIX
-            + "path_variable_selection_dialog"; //$NON-NLS-1$
-
-    public static final String EXIT_PROMPT_ON_CLOSE_LAST_WINDOW = PREFIX
-            + "exit_prompt_on_close_last_window"; //$NON-NLS-1$
-
-    public static final String SAVE_AS_DIALOG = PREFIX
-    + "save_as_dialog_context"; //$NON-NLS-1$
-
-
-    // Editors
-    public static final String WELCOME_EDITOR = PREFIX
-            + "welcome_editor_context"; //$NON-NLS-1$
-
-    // Preference pages
-    public static final String BUILD_ORDER_PREFERENCE_PAGE = PREFIX
-            + "build_order_preference_page_context"; //$NON-NLS-1$
-
-    public static final String FILE_STATES_PREFERENCE_PAGE = PREFIX
-            + "file_states_preference_page_context"; //$NON-NLS-1$
-
-    public static final String COMPARE_VIEWERS_PREFERENCE_PAGE = PREFIX
-            + "compare_viewers_preference_page_context"; //$NON-NLS-1$
-
-   public static final String FONT_PREFERENCE_PAGE = PREFIX
-            + "font_preference_page_context"; //$NON-NLS-1$
-
-    public static final String LINKED_RESOURCE_PREFERENCE_PAGE = PREFIX
-            + "linked_resource_preference_page_context"; //$NON-NLS-1$
-
-    // Property pages
-    public static final String PROJECT_REFERENCE_PROPERTY_PAGE = PREFIX
-            + "project_reference_property_page_context"; //$NON-NLS-1$
-
-    public static final String PROJECT_CAPABILITY_PROPERTY_PAGE = PREFIX
-            + "project_capability_property_page_context"; //$NON-NLS-1$
-
-    public static final String RESOURCE_INFO_PROPERTY_PAGE = PREFIX
-            + "resource_info_property_page_context"; //$NON-NLS-1$
-
-    // Wizard pages
-    public static final String NEW_PROJECT_WIZARD_PAGE = PREFIX
-            + "new_project_wizard_page_context"; //$NON-NLS-1$
-
-    public static final String NEW_PROJECT_REFERENCE_WIZARD_PAGE = PREFIX
-            + "new_project_reference_wizard_page_context"; //$NON-NLS-1$
-
-    public static final String NEW_PROJECT_CAPABILITY_WIZARD_PAGE = PREFIX
-            + "new_project_capability_wizard_page_context"; //$NON-NLS-1$
-
-    public static final String NEW_PROJECT_REVIEW_WIZARD_PAGE = PREFIX
-            + "new_project_review_wizard_page_context"; //$NON-NLS-1$
-
-    public static final String NEW_PROJECT_CONFIGURE_WIZARD_PAGE = PREFIX
-            + "new_project_configure_wizard_page_context"; //$NON-NLS-1$
-
-    public static final String NEW_FOLDER_WIZARD_PAGE = PREFIX
-            + "new_folder_wizard_page_context"; //$NON-NLS-1$
-
-    public static final String NEW_FILE_WIZARD_PAGE = PREFIX
-            + "new_file_wizard_page_context"; //$NON-NLS-1$
-
-   public static final String NEW_LINK_WIZARD_PAGE = PREFIX
-            + "new_link_wizard_page_context"; //$NON-NLS-1$
-
-   public static final String WORKING_SET_RESOURCE_PAGE = PREFIX
-   			+ "working_set_resource_page"; //$NON-NLS-1$	
-
-    // Wizards
-   
-   public static final String NEW_FILE_WIZARD = PREFIX
-   + "new_file_wizard_context"; //$NON-NLS-1$
-
-   public static final String NEW_FOLDER_WIZARD = PREFIX
-   	+ "new_folder_wizard_context"; //$NON-NLS-1$
-
-   public static final String NEW_PROJECT_WIZARD = PREFIX
-   	+ "new_project_wizard_context"; //$NON-NLS-1$
-
-    public static final String UPDATE_CAPABILITY_WIZARD = PREFIX
-            + "update_capability_wizard_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java
deleted file mode 100644
index 065d86a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IMarkerImageProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * Clients should implement this interface when creating an
- * extension to define images for marker dynamically.
- * <p>
- * The name of the class should be specified in the extension contributed 
- * to the workbench's maker image provider extension point 
- * (named <code>"org.eclipse.ui.makerImageProvider"</code>).
- * For example, the plug-in's XML markup might contain:
- * <pre>
- * &LT;extension point="org.eclipse.ui.makerImageProvider"&GT;
- *      &LT;imageprovider 
- *		   id="com.example.myplugin.myprofiderID"
- *         makertype="com.example.myMarkerType"
- *         icon="icons/basic/view16/myGIF.gif"/&GT;
- * &LT;/extension&GT;
- * </pre>
- * It can also define the image provider using the tag <code>class</code>
- * instead of icon.
- * </p>
- * Either the image path specified by the tag <code>icon</code> or
- * the path returned from <code>getImagePath</code> will be used
- * to create the image when the following code is executed:
- * <p><code>myMarker.getAdapter(IWorkbenchAdapter).getImageDescriptor(myMarker);</code></p>
- */
-public interface IMarkerImageProvider {
-    /**
-     * Returns the relative path for the image
-     * to be used for displaying an marker in the workbench.
-     * This path is relative to the plugin location
-     *
-     * Returns <code>null</code> if there is no appropriate image.
-     *
-     * @param marker The marker to get an image path for.
-     *
-     * @see org.eclipse.jface.resource.FileImageDescriptor
-     */
-    public String getImagePath(IMarker marker);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
deleted file mode 100644
index 06d53ba..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A LinkedResourceDecorator decorates an element's image with a linked 
- * resource overlay. 
- * 
- * @since 2.1
- */
-public class LinkedResourceDecorator implements ILightweightLabelDecorator {
-    private static final ImageDescriptor LINK;
-
-    private static final ImageDescriptor LINK_WARNING;
-
-    static {
-        LINK = AbstractUIPlugin.imageDescriptorFromPlugin(
-                IDEWorkbenchPlugin.IDE_WORKBENCH,
-                "icons/full/ovr16/link_ovr.gif"); //$NON-NLS-1$
-        LINK_WARNING = AbstractUIPlugin.imageDescriptorFromPlugin(
-                IDEWorkbenchPlugin.IDE_WORKBENCH,
-                "icons/full/ovr16/linkwarn_ovr.gif"); //$NON-NLS-1$
-    }
-
-    /**
-     * Creates a new <code>LinkedResourceDecorator</code>.
-     */
-    public LinkedResourceDecorator() {
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(ILabelProviderListener)
-     */
-    public void addListener(ILabelProviderListener listener) {
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-     */
-    public void dispose() {
-        // no resources to dispose
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-     */
-    public boolean isLabelProperty(Object element, String property) {
-        return false;
-    }
-
-    /**
-     * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(ILabelProviderListener)
-     */
-    public void removeListener(ILabelProviderListener listener) {
-    }
-
-    /**
-     * Adds the linked resource overlay if the given element is a linked
-     * resource.
-     * 
-     * @param element element to decorate
-     * @param decoration  The decoration we are adding to
-     * @return the linked resource overlay or null if element is not a 
-     * 	linked resource.
-     * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(Object, IDecoration)
-     */
-    public void decorate(Object element, IDecoration decoration) {
-
-        if (element instanceof IResource == false)
-            return;
-        IResource resource = (IResource) element;
-        if (resource.isLinked()) {
-            IPath location = resource.getLocation();
-
-            if (location != null && location.toFile().exists())
-                decoration.addOverlay(LINK);
-            else
-                decoration.addOverlay(LINK_WARNING);
-        }
-
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java
deleted file mode 100644
index a9043b7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/Policy.java
+++ /dev/null
@@ -1,29 +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.ui.internal.ide;
-
-import org.eclipse.core.runtime.Platform;
-
-public class Policy {
-    public static final boolean DEFAULT = false;
-
-    public static boolean DEBUG_OPEN_ERROR_DIALOG = DEFAULT;
-
-    static {
-        if (getDebugOption("/debug")) { //$NON-NLS-1$
-            DEBUG_OPEN_ERROR_DIALOG = getDebugOption("/debug/internalerror/openDialog"); //$NON-NLS-1$
-        }
-    }
-
-    private static boolean getDebugOption(String option) {
-        return "true".equalsIgnoreCase(Platform.getDebugOption(IDEWorkbenchPlugin.IDE_WORKBENCH + option)); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java
deleted file mode 100644
index bb96950..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ProblemImageProvider.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Implementation of IMarkerImageProvider to provide the image
- * path names for problem markers.
- */
-public class ProblemImageProvider implements IMarkerImageProvider {
-    /**
-     * TaskImageProvider constructor comment.
-     */
-    public ProblemImageProvider() {
-        super();
-    }
-
-    /**
-     * Returns the relative path for the image
-     * to be used for displaying an marker in the workbench.
-     * This path is relative to the plugin location
-     *
-     * Returns <code>null</code> if there is no appropriate image.
-     *
-     * @param marker The marker to get an image path for.
-     *
-     * @see org.eclipse.jface.resource.FileImageDescriptor
-     */
-    public String getImagePath(IMarker marker) {
-        String iconPath = "icons/full/";//$NON-NLS-1$		
-        if (isMarkerType(marker, IMarker.PROBLEM)) {
-            switch (marker.getAttribute(IMarker.SEVERITY,
-                    IMarker.SEVERITY_WARNING)) {
-            case IMarker.SEVERITY_ERROR:
-                return iconPath + "obj16/error_tsk.gif";//$NON-NLS-1$
-            case IMarker.SEVERITY_WARNING:
-                return iconPath + "obj16/warn_tsk.gif";//$NON-NLS-1$
-            case IMarker.SEVERITY_INFO:
-                return iconPath + "obj16/info_tsk.gif";//$NON-NLS-1$
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns whether the given marker is of the given type (either directly or indirectly).
-     */
-    private boolean isMarkerType(IMarker marker, String type) {
-        try {
-            return marker.isSubtypeOf(type);
-        } catch (CoreException e) {
-            return false;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java
deleted file mode 100644
index 0e21da9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ResourcePerspective.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- */
-public class ResourcePerspective implements IPerspectiveFactory {
-    /**
-     * Constructs a new Default layout engine.
-     */
-    public ResourcePerspective() {
-        super();
-    }
-
-    /**
-     * Defines the initial layout for a perspective.  
-     *
-     * Implementors of this method may add additional views to a
-     * perspective.  The perspective already contains an editor folder
-     * with <code>ID = ILayoutFactory.ID_EDITORS</code>.  Add additional views
-     * to the perspective in reference to the editor folder.
-     *
-     * This method is only called when a new perspective is created.  If
-     * an old perspective is restored from a persistence file then
-     * this method is not called.
-     *
-     * @param layout the factory used to add views to the perspective
-     */
-    public void createInitialLayout(IPageLayout layout) {
-        defineActions(layout);
-        defineLayout(layout);
-    }
-
-    /**
-     * Defines the initial actions for a page.  
-     */
-    public void defineActions(IPageLayout layout) {
-        // Add "new wizards".
-        layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
-        layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
-
-        // Add "show views".
-        layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
-        layout.addShowViewShortcut(IPageLayout.ID_BOOKMARKS);
-        layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-        layout.addShowViewShortcut(IPageLayout.ID_PROP_SHEET);
-        layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-        layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-
-        layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
-    }
-
-    /**
-     * Defines the initial layout for a page.  
-     */
-    public void defineLayout(IPageLayout layout) {
-        // Editors are placed for free.
-        String editorArea = layout.getEditorArea();
-
-        // Top left.
-        IFolderLayout topLeft = layout.createFolder(
-                "topLeft", IPageLayout.LEFT, (float) 0.26, editorArea);//$NON-NLS-1$
-        topLeft.addView(IPageLayout.ID_RES_NAV);
-        topLeft.addPlaceholder(IPageLayout.ID_BOOKMARKS);
-
-        // Bottom left.
-        IFolderLayout bottomLeft = layout.createFolder(
-                "bottomLeft", IPageLayout.BOTTOM, (float) 0.50,//$NON-NLS-1$
-                "topLeft");//$NON-NLS-1$
-        bottomLeft.addView(IPageLayout.ID_OUTLINE);
-
-        // Bottom right.
-        layout.addView(IPageLayout.ID_TASK_LIST, IPageLayout.BOTTOM,
-                (float) 0.66, editorArea);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java
deleted file mode 100644
index a4bd14e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StatusUtil.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Utility class to create status objects.
- *
- * PRIVATE
- *   This class is an internal implementation class and should
- *   not be referenced or subclassed outside of the workbench
- *
- * @since 3.0
- */
-public class StatusUtil {
-
-    /**
-     *	Answer a flat collection of the passed status and its recursive children
-     */
-    protected static List flatten(IStatus aStatus) {
-        List result = new ArrayList();
-
-        if (aStatus.isMultiStatus()) {
-            IStatus[] children = aStatus.getChildren();
-            for (int i = 0; i < children.length; i++) {
-                IStatus currentChild = children[i];
-                if (currentChild.isMultiStatus()) {
-                    Iterator childStatiiEnum = flatten(currentChild).iterator();
-                    while (childStatiiEnum.hasNext())
-                        result.add(childStatiiEnum.next());
-                } else
-                    result.add(currentChild);
-            }
-        } else
-            result.add(aStatus);
-
-        return result;
-    }
-
-    /**
-     * This method must not be called outside the workbench.
-     *
-     * Utility method for creating status.
-     */
-    protected static IStatus newStatus(IStatus[] stati, String message,
-            Throwable exception) {
-
-        if (message == null || message.trim().length() == 0) {
-            throw new IllegalArgumentException();
-        }
-        return new MultiStatus(IDEWorkbenchPlugin.IDE_WORKBENCH, IStatus.ERROR,
-                stati, message, exception);
-    }
-
-    /**
-     * This method must not be called outside the workbench.
-     *
-     * Utility method for creating status.
-     */
-    public static IStatus newStatus(int severity, String message,
-            Throwable exception) {
-
-        String statusMessage = message;
-        if (message == null || message.trim().length() == 0) {
-            if (exception.getMessage() == null)
-                statusMessage = exception.toString();
-            else
-                statusMessage = exception.getMessage();
-        }
-
-        return new Status(severity, IDEWorkbenchPlugin.IDE_WORKBENCH, severity,
-                statusMessage, exception);
-    }
-
-    /**
-     * This method must not be called outside the workbench.
-     *
-     * Utility method for creating status.
-     */
-    public static IStatus newStatus(List children, String message,
-            Throwable exception) {
-
-        List flatStatusCollection = new ArrayList();
-        Iterator iter = children.iterator();
-        while (iter.hasNext()) {
-            IStatus currentStatus = (IStatus) iter.next();
-            Iterator childrenIter = flatten(currentStatus).iterator();
-            while (childrenIter.hasNext())
-                flatStatusCollection.add(childrenIter.next());
-        }
-
-        IStatus[] stati = new IStatus[flatStatusCollection.size()];
-        flatStatusCollection.toArray(stati);
-        return newStatus(stati, message, exception);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java
deleted file mode 100644
index 7c39d21..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/StringMatcher.java
+++ /dev/null
@@ -1,417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.Vector;
-
-/**
- * A string pattern matcher suppporting &#39;*&#39; and &#39;&#63;&#39; wildcards.
- */
-public class StringMatcher {
-    protected String fPattern;
-
-    protected int fLength; // pattern length
-
-    protected boolean fIgnoreWildCards;
-
-    protected boolean fIgnoreCase;
-
-    protected boolean fHasLeadingStar;
-
-    protected boolean fHasTrailingStar;
-
-    protected String fSegments[]; //the given pattern is split into * separated segments
-
-    /* boundary value beyond which we don't need to search in the text */
-    protected int fBound = 0;
-
-    protected static final char fSingleWildCard = '\u0000';
-
-    public static class Position {
-        int start; //inclusive
-
-        int end; //exclusive
-
-        public Position(int start, int end) {
-            this.start = start;
-            this.end = end;
-        }
-
-        public int getStart() {
-            return start;
-        }
-
-        public int getEnd() {
-            return end;
-        }
-    }
-
-    /**
-     * StringMatcher constructor takes in a String object that is a simple 
-     * pattern which may contain &#39*&#39 for 0 and many characters and
-     * &#39;&#63;&#39; for exactly one character.  
-     *
-     * Literal &#39;*&#39; and &#39;*&#39; characters must be escaped in the pattern 
-     * e.g. &quot;&#92;*&quot; means literal &quot;*&quot;, etc.
-     *
-     * Escaping any other character (including the escape character itself), 
-     * just results in that character in the pattern.
-     * e.g. &quot;&#92;a&quot; means &quot;a&quot; and &quot;&#92;&#92;&quot; means &quot;&#92;&quot;
-     *
-     * If invoking the StringMatcher with string literals in Java, don't forget
-     * escape characters are represented by &quot;&#92;&#92;&quot;.
-     *
-     * @param pattern the pattern to match text against
-     * @param ignoreCase if true, case is ignored
-     * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-     * 		  (everything is taken literally).
-     */
-    public StringMatcher(String pattern, boolean ignoreCase,
-            boolean ignoreWildCards) {
-        if (pattern == null)
-            throw new IllegalArgumentException();
-        fIgnoreCase = ignoreCase;
-        fIgnoreWildCards = ignoreWildCards;
-        fPattern = pattern;
-        fLength = pattern.length();
-
-        if (fIgnoreWildCards) {
-            parseNoWildCards();
-        } else {
-            parseWildCards();
-        }
-    }
-
-    /**
-     * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-     * and <code>end</code>(exclusive).  
-     * @param text  the String object to search in 
-     * @param start  the starting index of the search range, inclusive
-     * @param end  the ending index of the search range, exclusive
-     * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-     * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-     * pattern in the specified range of the text; return null if not found or subtext
-     * is empty (start==end). A pair of zeros is returned if pattern is empty string
-     * Note that for pattern like &quot;*abc*&quot; with leading and trailing stars, position of &quot;abc&quot;
-     * is returned. For a pattern like&quot;*&#63;&#63;*&quot; in text &quot;abcdf&quot;, (1,3) is returned
-     */
-    public StringMatcher.Position find(String text, int start, int end) {
-        if (text == null)
-            throw new IllegalArgumentException();
-
-        int tlen = text.length();
-        if (start < 0)
-            start = 0;
-        if (end > tlen)
-            end = tlen;
-        if (end < 0 || start >= end)
-            return null;
-        if (fLength == 0)
-            return new Position(start, start);
-        if (fIgnoreWildCards) {
-            int x = posIn(text, start, end);
-            if (x < 0)
-                return null;
-            return new Position(x, x + fLength);
-        }
-
-        int segCount = fSegments.length;
-        if (segCount == 0)//pattern contains only '*'(s)
-            return new Position(start, end);
-
-        int curPos = start;
-        int matchStart = -1;
-        int i;
-        for (i = 0; i < segCount && curPos < end; ++i) {
-            String current = fSegments[i];
-            int nextMatch = regExpPosIn(text, curPos, end, current);
-            if (nextMatch < 0)
-                return null;
-            if (i == 0)
-                matchStart = nextMatch;
-            curPos = nextMatch + current.length();
-        }
-        if (i < segCount)
-            return null;
-        return new Position(matchStart, curPos);
-    }
-
-    /**
-     * match the given <code>text</code> with the pattern 
-     * @return true if matched eitherwise false
-     * @param text  a String object 
-     */
-    public boolean match(String text) {
-        return match(text, 0, text.length());
-    }
-
-    /**
-     * Given the starting (inclusive) and the ending (exclusive) positions in the   
-     * <code>text</code>, determine if the given substring matches with aPattern  
-     * @return true if the specified portion of the text matches the pattern
-     * @param text  a <code>String</code> object that contains the substring to match 
-     * @param start  marks the starting position (inclusive) of the substring
-     * @param end  marks the ending index (exclusive) of the substring 
-     */
-    public boolean match(String text, int start, int end) {
-        if (null == text)
-            throw new IllegalArgumentException();
-
-        if (start > end)
-            return false;
-
-        if (fIgnoreWildCards)
-            return (end - start == fLength)
-                    && fPattern.regionMatches(fIgnoreCase, 0, text, start,
-                            fLength);
-        int segCount = fSegments.length;
-        if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar)) // pattern contains only '*'(s)
-            return true;
-        if (start == end)
-            return fLength == 0;
-        if (fLength == 0)
-            return start == end;
-
-        int tlen = text.length();
-        if (start < 0)
-            start = 0;
-        if (end > tlen)
-            end = tlen;
-
-        int tCurPos = start;
-        int bound = end - fBound;
-        if (bound < 0)
-            return false;
-        int i = 0;
-        String current = fSegments[i];
-        int segLength = current.length();
-
-        /* process first segment */
-        if (!fHasLeadingStar) {
-            if (!regExpRegionMatches(text, start, current, 0, segLength)) {
-                return false;
-            } else {
-                ++i;
-                tCurPos = tCurPos + segLength;
-            }
-        }
-        if ((fSegments.length == 1) && (!fHasLeadingStar)
-                && (!fHasTrailingStar)) {
-            // only one segment to match, no wildcards specified
-            return tCurPos == end;
-        }
-        /* process middle segments */
-        while (i < segCount) {
-            current = fSegments[i];
-            int currentMatch;
-            int k = current.indexOf(fSingleWildCard);
-            if (k < 0) {
-                currentMatch = textPosIn(text, tCurPos, end, current);
-                if (currentMatch < 0)
-                    return false;
-            } else {
-                currentMatch = regExpPosIn(text, tCurPos, end, current);
-                if (currentMatch < 0)
-                    return false;
-            }
-            tCurPos = currentMatch + current.length();
-            i++;
-        }
-
-        /* process final segment */
-        if (!fHasTrailingStar && tCurPos != end) {
-            int clen = current.length();
-            return regExpRegionMatches(text, end - clen, current, 0, clen);
-        }
-        return i == segCount;
-    }
-
-    /**
-     * This method parses the given pattern into segments seperated by wildcard '*' characters.
-     * Since wildcards are not being used in this case, the pattern consists of a single segment.
-     */
-    private void parseNoWildCards() {
-        fSegments = new String[1];
-        fSegments[0] = fPattern;
-        fBound = fLength;
-    }
-
-    /**
-     * Parses the given pattern into segments seperated by wildcard &#39;*&#39; characters.
-     * @param p, a String object that is a simple regular expression with ?*? and/or &#39;&#63;&#39;
-     */
-    private void parseWildCards() {
-        if (fPattern.startsWith("*"))//$NON-NLS-1$
-            fHasLeadingStar = true;
-        if (fPattern.endsWith("*")) {//$NON-NLS-1$
-            /* make sure it's not an escaped wildcard */
-            if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-                fHasTrailingStar = true;
-            }
-        }
-
-        Vector temp = new Vector();
-
-        int pos = 0;
-        StringBuffer buf = new StringBuffer();
-        while (pos < fLength) {
-            char c = fPattern.charAt(pos++);
-            switch (c) {
-            case '\\':
-                if (pos >= fLength) {
-                    buf.append(c);
-                } else {
-                    char next = fPattern.charAt(pos++);
-                    /* if it's an escape sequence */
-                    if (next == '*' || next == '?' || next == '\\') {
-                        buf.append(next);
-                    } else {
-                        /* not an escape sequence, just insert literally */
-                        buf.append(c);
-                        buf.append(next);
-                    }
-                }
-                break;
-            case '*':
-                if (buf.length() > 0) {
-                    /* new segment */
-                    temp.addElement(buf.toString());
-                    fBound += buf.length();
-                    buf.setLength(0);
-                }
-                break;
-            case '?':
-                /* append special character representing single match wildcard */
-                buf.append(fSingleWildCard);
-                break;
-            default:
-                buf.append(c);
-            }
-        }
-
-        /* add last buffer to segment list */
-        if (buf.length() > 0) {
-            temp.addElement(buf.toString());
-            fBound += buf.length();
-        }
-
-        fSegments = new String[temp.size()];
-        temp.copyInto(fSegments);
-    }
-
-    /** 
-     * @param text  a string which contains no wildcard
-     * @param start  the starting index in the text for search, inclusive
-     * @param end  the stopping point of search, exclusive
-     * @return the starting index in the text of the pattern , or -1 if not found 
-     */
-    protected int posIn(String text, int start, int end) {//no wild card in pattern
-        int max = end - fLength;
-
-        if (!fIgnoreCase) {
-            int i = text.indexOf(fPattern, start);
-            if (i == -1 || i > max)
-                return -1;
-            return i;
-        }
-
-        for (int i = start; i <= max; ++i) {
-            if (text.regionMatches(true, i, fPattern, 0, fLength))
-                return i;
-        }
-
-        return -1;
-    }
-
-    /** 
-     * @param text  a simple regular expression that may only contain '&#63;'(s)
-     * @param start  the starting index in the text for search, inclusive
-     * @param end  the stopping point of search, exclusive
-     * @param p  a simple regular expression that may contains '&#63;'
-     * @return the starting index in the text of the pattern , or -1 if not found 
-     */
-    protected int regExpPosIn(String text, int start, int end, String p) {
-        int plen = p.length();
-
-        int max = end - plen;
-        for (int i = start; i <= max; ++i) {
-            if (regExpRegionMatches(text, i, p, 0, plen))
-                return i;
-        }
-        return -1;
-    }
-
-    /**
-     * 
-     * @return boolean
-     * @param  text  a String to match
-     * @param tStart  int that indicates the starting index of match, inclusive
-     * @param p  String,  String, a simple regular expression that may contain '&#63;'
-     * @param pStart
-     * @param plen 	
-     */
-    protected boolean regExpRegionMatches(String text, int tStart, String p,
-            int pStart, int plen) {
-        while (plen-- > 0) {
-            char tchar = text.charAt(tStart++);
-            char pchar = p.charAt(pStart++);
-
-            /* process wild cards */
-            if (!fIgnoreWildCards) {
-                /* skip single wild cards */
-                if (pchar == fSingleWildCard) {
-                    continue;
-                }
-            }
-            if (pchar == tchar)
-                continue;
-            if (fIgnoreCase) {
-                if (Character.toUpperCase(tchar) == Character
-                        .toUpperCase(pchar))
-                    continue;
-                // comparing after converting to upper case doesn't handle all cases;
-                // also compare after converting to lower case
-                if (Character.toLowerCase(tchar) == Character
-                        .toLowerCase(pchar))
-                    continue;
-            }
-            return false;
-        }
-        return true;
-    }
-
-    /** 
-     * @param text  the string to match
-     * @param start  the starting index in the text for search, inclusive
-     * @param end  the stopping point of search, exclusive
-     * @param p  a string that has no wildcard
-     * @return the starting index in the text of the pattern , or -1 if not found 
-     */
-    protected int textPosIn(String text, int start, int end, String p) {
-
-        int plen = p.length();
-        int max = end - plen;
-
-        if (!fIgnoreCase) {
-            int i = text.indexOf(p, start);
-            if (i == -1 || i > max)
-                return -1;
-            return i;
-        }
-
-        for (int i = start; i <= max; ++i) {
-            if (text.regionMatches(true, i, p, 0, plen))
-                return i;
-        }
-
-        return -1;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java
deleted file mode 100644
index 95c2f44..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/TipsAndTricksAction.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.PartEventAction;
-
-/**
- * Launch the tips and tricks action.
- */
-public class TipsAndTricksAction extends PartEventAction implements
-        ActionFactory.IWorkbenchAction {
-
-    /**
-     * The workbench window this action is registered with.
-     */
-    private IWorkbenchWindow workbenchWindow;
-
-    /**
-     * Create an instance of this class.
-     * 
-     * @param window the window
-     */
-    public TipsAndTricksAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("TipsAndTricks.text")); //$NON-NLS-1$
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.workbenchWindow = window;
-        setToolTipText(IDEWorkbenchMessages.getString("TipsAndTricks.toolTip")); //$NON-NLS-1$
-        window.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.TIPS_AND_TRICKS_ACTION);
-        setActionDefinitionId("org.eclipse.ui.help.tipsAndTricksAction"); //$NON-NLS-1$
-        workbenchWindow.getPartService().addPartListener(this);
-    }
-
-    /**
-     *	The user has invoked this action
-     */
-    public void run() {
-        if (workbenchWindow == null) {
-            // action has been disposed
-            return;
-        }
-        // Ask the user to select a feature
-        AboutInfo[] featureInfos = IDEWorkbenchPlugin.getDefault()
-                .getFeatureInfos();
-        ArrayList tipsAndTricksFeatures = new ArrayList(featureInfos.length);
-        for (int i = 0; i < featureInfos.length; i++) {
-            if (featureInfos[i].getTipsAndTricksHref() != null)
-                tipsAndTricksFeatures.add(featureInfos[i]);
-        }
-
-        Shell shell = workbenchWindow.getShell();
-
-        if (tipsAndTricksFeatures.size() == 0) {
-            MessageDialog.openInformation(shell, IDEWorkbenchMessages
-                    .getString("TipsAndTricksMessageDialog.title"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("TipsAndTricksMessageDialog.message")); //$NON-NLS-1$
-            return;
-        }
-
-        AboutInfo[] features = new AboutInfo[tipsAndTricksFeatures.size()];
-        tipsAndTricksFeatures.toArray(features);
-
-        IProduct product = Platform.getProduct();
-        FeatureSelectionDialog d = new FeatureSelectionDialog(shell, features,
-                product == null ? null : product.getId(), IDEWorkbenchMessages
-                        .getString("TipsAndTricksPageSelectionDialog.title"), //$NON-NLS-1$
-                IDEWorkbenchMessages
-                        .getString("TipsAndTricksPageSelectionDialog.message"), //$NON-NLS-1$
-                IIDEHelpContextIds.TIPS_AND_TRICKS_PAGE_SELECTION_DIALOG);
-
-        if (d.open() != Window.OK || d.getResult().length != 1)
-            return;
-
-        AboutInfo feature = (AboutInfo) d.getResult()[0];
-
-        /**
-         * Open the tips and trick help topic
-         */
-        if (feature != null) {
-            final String href = feature.getTipsAndTricksHref();
-            if (href != null) {
-                BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-                    public void run() {
-                        workbenchWindow.getWorkbench().getHelpSystem()
-								.displayHelpResource(href);
-                    }
-                });
-            } else {
-                IStatus status = new Status(
-                        IStatus.ERROR,
-                        IDEWorkbenchPlugin.IDE_WORKBENCH,
-                        1,
-                        IDEWorkbenchMessages
-                                .getString("TipsAndTricksErrorDialog.noHref"), null); //$NON-NLS-1$
-                ErrorDialog.openError(shell, IDEWorkbenchMessages
-                        .getString("TipsAndTricksErrorDialog.title"), //$NON-NLS-1$
-                        IDEWorkbenchMessages
-                                .getString("TipsAndTricksErrorDialog.noHref"), //$NON-NLS-1$
-                        status);
-            }
-        } else {
-            IStatus status = new Status(IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages
-                            .getString("TipsAndTricksErrorDialog.noHref"), null); //$NON-NLS-1$
-            ErrorDialog.openError(shell, IDEWorkbenchMessages
-                    .getString("TipsAndTricksErrorDialog.title"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("TipsAndTricksErrorDialog.noFeatures"), //$NON-NLS-1$
-                    status);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ActionFactory.IWorkbenchAction.
-     */
-    public void dispose() {
-        if (workbenchWindow == null) {
-            // action has already been disposed
-            return;
-        }
-        workbenchWindow.getPartService().removePartListener(this);
-        workbenchWindow = null;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
deleted file mode 100644
index 9b74a4c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/WorkbenchActionBuilder.java
+++ /dev/null
@@ -1,1649 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.BuildAction;
-import org.eclipse.ui.actions.ContributionItemFactory;
-import org.eclipse.ui.actions.NewWizardMenu;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.ide.IIDEActionConstants;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.ide.actions.BuildSetMenu;
-import org.eclipse.ui.internal.ide.actions.BuildUtilities;
-import org.eclipse.ui.internal.ide.actions.QuickMenuAction;
-import org.eclipse.ui.internal.ide.actions.RetargetActionWithDefault;
-import org.eclipse.ui.internal.util.StatusLineContributionItem;
-
-/**
- * Adds actions to a workbench window.
- */
-public final class WorkbenchActionBuilder {
-    private final IWorkbenchWindow window;
-
-    /** 
-     * A convience variable and method so that the actionConfigurer doesn't need to
-     * get passed into registerGlobalAction every time it's called.
-     */
-    private IActionBarConfigurer actionBarConfigurer;
-
-    // generic actions
-    private IWorkbenchAction closeAction;
-
-    private IWorkbenchAction closeAllAction;
-
-    private IWorkbenchAction closeAllSavedAction;
-
-    private IWorkbenchAction saveAction;
-
-    private IWorkbenchAction saveAllAction;
-
-    private IWorkbenchAction helpContentsAction;
-
-    private IWorkbenchAction aboutAction;
-
-    private IWorkbenchAction openPreferencesAction;
-
-    private IWorkbenchAction saveAsAction;
-
-    private IWorkbenchAction hideShowEditorAction;
-
-    private IWorkbenchAction savePerspectiveAction;
-
-    private IWorkbenchAction resetPerspectiveAction;
-
-    private IWorkbenchAction editActionSetAction;
-
-    private IWorkbenchAction closePerspAction;
-
-    private IWorkbenchAction lockToolBarAction;
-
-    private IWorkbenchAction closeAllPerspsAction;
-
-    private IWorkbenchAction showViewMenuAction;
-
-    private IWorkbenchAction showPartPaneMenuAction;
-
-    private IWorkbenchAction nextPartAction;
-
-    private IWorkbenchAction prevPartAction;
-
-    private IWorkbenchAction nextEditorAction;
-
-    private IWorkbenchAction prevEditorAction;
-
-    private IWorkbenchAction nextPerspectiveAction;
-
-    private IWorkbenchAction prevPerspectiveAction;
-
-    private IWorkbenchAction activateEditorAction;
-
-    private IWorkbenchAction maximizePartAction;
-    
-    private IWorkbenchAction minimizePartAction;
-
-    private IWorkbenchAction workbenchEditorsAction;
-
-    private IWorkbenchAction workbookEditorsAction;
-
-    private IWorkbenchAction backwardHistoryAction;
-
-    private IWorkbenchAction forwardHistoryAction;
-
-    // generic retarget actions
-    private IWorkbenchAction undoAction;
-
-    private IWorkbenchAction redoAction;
-
-    private IWorkbenchAction cutAction;
-
-    private IWorkbenchAction copyAction;
-
-    private IWorkbenchAction pasteAction;
-
-    private IWorkbenchAction deleteAction;
-
-    private IWorkbenchAction selectAllAction;
-
-    private IWorkbenchAction findAction;
-
-    private IWorkbenchAction printAction;
-
-    private IWorkbenchAction revertAction;
-
-    private IWorkbenchAction refreshAction;
-
-    private IWorkbenchAction propertiesAction;
-
-    private IWorkbenchAction quitAction;
-
-    private IWorkbenchAction moveAction;
-
-    private IWorkbenchAction renameAction;
-
-    private IWorkbenchAction goIntoAction;
-
-    private IWorkbenchAction backAction;
-
-    private IWorkbenchAction forwardAction;
-
-    private IWorkbenchAction upAction;
-
-    private IWorkbenchAction nextAction;
-
-    private IWorkbenchAction previousAction;
-
-    // IDE-specific actions
-    private IWorkbenchAction openWorkspaceAction;
-
-    private IWorkbenchAction projectPropertyDialogAction;
-
-    private IWorkbenchAction newWizardAction;
-
-    private IWorkbenchAction newWizardDropDownAction;
-
-    private IWorkbenchAction importResourcesAction;
-
-    private IWorkbenchAction exportResourcesAction;
-
-    IWorkbenchAction buildAllAction; // Incremental workspace build
-
-    private IWorkbenchAction cleanAction;
-
-    private IWorkbenchAction toggleAutoBuildAction;
-
-    MenuManager buildWorkingSetMenu;
-
-    private IWorkbenchAction quickStartAction;
-
-    private IWorkbenchAction tipsAndTricksAction;
-
-    private QuickMenuAction showInQuickMenu;
-
-    private QuickMenuAction newQuickMenu;
-
-    private IWorkbenchAction introAction;
-
-    // IDE-specific retarget actions
-    private IWorkbenchAction addBookmarkAction;
-
-    private IWorkbenchAction addTaskAction;
-
-    IWorkbenchAction buildProjectAction;
-
-    private IWorkbenchAction openProjectAction;
-
-    private IWorkbenchAction closeProjectAction;
-
-    // contribution items
-    // @issue should obtain from ContributionItemFactory
-    private NewWizardMenu newWizardMenu;
-
-    private IContributionItem pinEditorContributionItem;
-
-    // @issue class is workbench internal
-    private StatusLineContributionItem statusLineItem;
-
-    private Preferences.IPropertyChangeListener prefListener;
-
-    // listener for the "close editors automatically"
-    // preference change
-    private IPropertyChangeListener propPrefListener;
-
-    private IPageListener pageListener;
-
-    private IPerspectiveListener perspectiveListener;
-
-    private IResourceChangeListener resourceListener;
-    
-    /**
-     * Indicates if the action builder has been disposed
-     */
-    private boolean isDisposed = false;
-    
-    /**
-     * Constructs a new action builder which contributes actions
-     * to the given window.
-     * 
-     * @param window the window
-     */
-    public WorkbenchActionBuilder(IWorkbenchWindow window) {
-        this.window = window;
-    }
-
-    /**
-     * Returns the window to which this action builder is contributing.
-     */
-    private IWorkbenchWindow getWindow() {
-        return window;
-    }
-
-    /**
-     * Hooks listeners on the preference store and the window's page, perspective and selection services.
-     */
-    private void hookListeners() {
-
-        pageListener = new IPageListener() {
-            public void pageActivated(IWorkbenchPage page) {
-                enableActions(page.getPerspective() != null);
-            }
-
-            public void pageClosed(IWorkbenchPage page) {
-                IWorkbenchPage pg = getWindow().getActivePage();
-                enableActions(pg != null && pg.getPerspective() != null);
-            }
-
-            public void pageOpened(IWorkbenchPage page) {
-                // set default build handler -- can't be done until the shell is available
-                IAction buildHandler = new BuildAction(page.getWorkbenchWindow().getShell(), IncrementalProjectBuilder.INCREMENTAL_BUILD);
-            	((RetargetActionWithDefault)buildProjectAction).setDefaultHandler(buildHandler);
-            }
-        };
-        getWindow().addPageListener(pageListener);
-
-        perspectiveListener = new IPerspectiveListener() {
-            public void perspectiveActivated(IWorkbenchPage page,
-                    IPerspectiveDescriptor perspective) {
-                enableActions(true);
-            }
-
-            public void perspectiveChanged(IWorkbenchPage page,
-                    IPerspectiveDescriptor perspective, String changeId) {
-                // do nothing
-            }
-        };
-        getWindow().addPerspectiveListener(perspectiveListener);
-
-        prefListener = new Preferences.IPropertyChangeListener() {
-            public void propertyChange(Preferences.PropertyChangeEvent event) {
-                if (event.getProperty().equals(
-                        ResourcesPlugin.PREF_AUTO_BUILDING)) {
-                   	updateBuildActions();
-                }
-            }
-        };
-        ResourcesPlugin.getPlugin().getPluginPreferences()
-                .addPropertyChangeListener(prefListener);
-
-        // listener for the "close editors automatically"
-        // preference change
-        propPrefListener = new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-                if (event.getProperty().equals(
-                        IPreferenceConstants.REUSE_EDITORS_BOOLEAN)) {
-                    if (window.getShell() != null
-                            && !window.getShell().isDisposed()) {
-                        // this property change notification could be from a non-ui thread
-                        window.getShell().getDisplay().syncExec(new Runnable() {
-                            public void run() {
-                                updatePinActionToolbar();
-                            }
-                        });
-                    }
-                }
-            }
-        };
-        /*
-         * In order to ensure that the pin action toolbar sets its size 
-         * correctly, the pin action should set its visiblity before we call updatePinActionToolbar().
-         * 
-         * In other words we always want the PinActionContributionItem to be notified before the 
-         * WorkbenchActionBuilder.
-         */
-        WorkbenchPlugin.getDefault().getPreferenceStore()
-                .addPropertyChangeListener(propPrefListener);
-        //listen for project description changes, which can affect enablement of build actions
-        resourceListener = new IResourceChangeListener() {
-			public void resourceChanged(IResourceChangeEvent event) {
-				IResourceDelta delta = event.getDelta();
-				if (delta == null)
-					return;
-				IResourceDelta[] projectDeltas = delta.getAffectedChildren();
-				for (int i = 0; i < projectDeltas.length; i++) {
-					int kind = projectDeltas[i].getKind();
-					//affected by projects being opened/closed or description changes
-					boolean changed = (projectDeltas[i].getFlags() & (IResourceDelta.DESCRIPTION | IResourceDelta.OPEN)) != 0;
-					if (kind != IResourceDelta.CHANGED || changed) {
-						updateBuildActions();
-						return;
-					}
-				}
-			}
-		};
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceListener, IResourceChangeEvent.POST_CHANGE);
-    }
-
-    /**
-     * Enables the menu items dependent on an active
-     * page and perspective.
-     * Note, the show view action already does its own 
-     * listening so no need to do it here.
-     */
-    private void enableActions(boolean value) {
-        hideShowEditorAction.setEnabled(value);
-        savePerspectiveAction.setEnabled(value);
-        lockToolBarAction.setEnabled(value);
-        resetPerspectiveAction.setEnabled(value);
-        editActionSetAction.setEnabled(value);
-        closePerspAction.setEnabled(value);
-        closeAllPerspsAction.setEnabled(value);
-//        newWizardMenu.setEnabled(value);
-        newWizardDropDownAction.setEnabled(value);
-        // Bug 53560.  "Ctrl+N" shouldn't work if the menus are all disabled.
-        newWizardAction.setEnabled(value);
-        importResourcesAction.setEnabled(value);
-        exportResourcesAction.setEnabled(value);
-    }
-
-    /**
-     * Builds the actions and contributes them to the given window.
-     */
-    public void makeAndPopulateActions(IWorkbenchConfigurer windowConfigurer,
-            IActionBarConfigurer actionBarConfigurer) {
-        makeActions(windowConfigurer, actionBarConfigurer);
-        populateMenuBar(actionBarConfigurer);
-        populateCoolBar(actionBarConfigurer);
-        updateBuildActions();
-        populateStatusLine(actionBarConfigurer);
-        hookListeners();
-    }
-
-    /**
-     * Fills the coolbar with the workbench actions.
-     */
-    public void populateCoolBar(IActionBarConfigurer configurer) {
-        ICoolBarManager cbManager = configurer.getCoolBarManager();
-
-        { // Set up the context Menu
-            IMenuManager popUpMenu = new MenuManager();
-            popUpMenu.add(new ActionContributionItem(lockToolBarAction));
-            popUpMenu.add(new ActionContributionItem(editActionSetAction));
-            cbManager.setContextMenuManager(popUpMenu);
-        }
-        cbManager.add(new GroupMarker(IIDEActionConstants.GROUP_FILE));
-        { // File Group
-            IToolBarManager fileToolBar = new ToolBarManager(cbManager
-                    .getStyle());
-            fileToolBar.add(new Separator(IWorkbenchActionConstants.NEW_GROUP));
-            fileToolBar.add(newWizardDropDownAction);
-            fileToolBar.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
-            fileToolBar.add(new GroupMarker(
-                    IWorkbenchActionConstants.SAVE_GROUP));
-            fileToolBar.add(saveAction);
-            fileToolBar
-                    .add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
-            fileToolBar.add(printAction);
-            fileToolBar
-                    .add(new GroupMarker(IWorkbenchActionConstants.PRINT_EXT));
-
-            fileToolBar
-                    .add(new Separator(IWorkbenchActionConstants.BUILD_GROUP));
-            fileToolBar
-                    .add(new GroupMarker(IWorkbenchActionConstants.BUILD_EXT));
-            fileToolBar.add(new Separator(
-                    IWorkbenchActionConstants.MB_ADDITIONS));
-
-            // Add to the cool bar manager
-            cbManager.add(new ToolBarContributionItem(fileToolBar,
-                    IWorkbenchActionConstants.TOOLBAR_FILE));
-        }
-
-        cbManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-
-        cbManager.add(new GroupMarker(IIDEActionConstants.GROUP_NAV));
-        { // Navigate group
-            IToolBarManager navToolBar = new ToolBarManager(cbManager
-                    .getStyle());
-            navToolBar.add(new Separator(
-                    IWorkbenchActionConstants.HISTORY_GROUP));
-            navToolBar
-                    .add(new GroupMarker(IWorkbenchActionConstants.GROUP_APP));
-            navToolBar.add(backwardHistoryAction);
-            navToolBar.add(forwardHistoryAction);
-            navToolBar.add(new Separator(IWorkbenchActionConstants.PIN_GROUP));
-            navToolBar.add(pinEditorContributionItem);
-
-            // Add to the cool bar manager
-            cbManager.add(new ToolBarContributionItem(navToolBar,
-                    IWorkbenchActionConstants.TOOLBAR_NAVIGATE));
-        }
-
-        cbManager.add(new GroupMarker(IWorkbenchActionConstants.GROUP_EDITOR));
-
-    }
-
-    /**
-     * Fills the menu bar with the workbench actions.
-     */
-    public void populateMenuBar(IActionBarConfigurer configurer) {
-        IMenuManager menubar = configurer.getMenuManager();
-        menubar.add(createFileMenu());
-        menubar.add(createEditMenu());
-        menubar.add(createNavigateMenu());
-        menubar.add(createProjectMenu());
-        menubar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menubar.add(createWindowMenu());
-        menubar.add(createHelpMenu());
-    }
-
-    /**
-     * Creates and returns the File menu.
-     */
-    private MenuManager createFileMenu() {
-        MenuManager menu = new MenuManager(IDEWorkbenchMessages
-                .getString("Workbench.file"), IWorkbenchActionConstants.M_FILE); //$NON-NLS-1$
-        menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-        {
-            // create the New submenu, using the same id for it as the New action
-            String newText = IDEWorkbenchMessages.getString("Workbench.new"); //$NON-NLS-1$
-            String newId = ActionFactory.NEW.getId();
-            MenuManager newMenu = new MenuManager(newText, newId) {
-                public String getMenuText() {
-                    String result = super.getMenuText();
-                    if (newQuickMenu == null)
-                        return result;
-                    String shortCut = newQuickMenu.getShortCutString();
-                    if (shortCut == null)
-                        return result;
-                    return result + "\t" + shortCut; //$NON-NLS-1$
-                }
-            };
-            newMenu.add(new Separator(newId));
-            this.newWizardMenu = new NewWizardMenu(getWindow());
-            newMenu.add(this.newWizardMenu);
-            newMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-            menu.add(newMenu);
-        }
-
-        menu.add(new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
-        menu.add(new Separator());
-
-        menu.add(closeAction);
-        menu.add(closeAllAction);
-        //		menu.add(closeAllSavedAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.CLOSE_EXT));
-        menu.add(new Separator());
-        menu.add(saveAction);
-        menu.add(saveAsAction);
-        menu.add(saveAllAction);
-
-        menu.add(revertAction);
-        menu.add(new Separator());
-        menu.add(moveAction);
-        menu.add(renameAction);
-        menu.add(refreshAction);
-
-        menu.add(new GroupMarker(IWorkbenchActionConstants.SAVE_EXT));
-        menu.add(new Separator());
-        menu.add(printAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.PRINT_EXT));
-        menu.add(new Separator());
-        menu.add(openWorkspaceAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.OPEN_EXT));
-        menu.add(new Separator());
-        menu.add(importResourcesAction);
-        menu.add(exportResourcesAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.IMPORT_EXT));
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-
-        menu.add(new Separator());
-        menu.add(propertiesAction);
-
-        menu.add(ContributionItemFactory.REOPEN_EDITORS.create(getWindow()));
-        menu.add(new GroupMarker(IWorkbenchActionConstants.MRU));
-        menu.add(new Separator());
-        menu.add(quitAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-        return menu;
-    }
-
-    /**
-     * Creates and returns the Edit menu.
-     */
-    private MenuManager createEditMenu() {
-        MenuManager menu = new MenuManager(IDEWorkbenchMessages
-                .getString("Workbench.edit"), IWorkbenchActionConstants.M_EDIT); //$NON-NLS-1$
-        menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
-
-        menu.add(undoAction);
-        menu.add(redoAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
-        menu.add(new Separator());
-
-        menu.add(cutAction);
-        menu.add(copyAction);
-        menu.add(pasteAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
-        menu.add(new Separator());
-
-        menu.add(deleteAction);
-        menu.add(selectAllAction);
-        menu.add(new Separator());
-
-        menu.add(findAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.FIND_EXT));
-        menu.add(new Separator());
-
-        menu.add(addBookmarkAction);
-        menu.add(addTaskAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
-
-        menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        return menu;
-    }
-
-    /**
-     * Creates and returns the Navigate menu.
-     */
-    private MenuManager createNavigateMenu() {
-        MenuManager menu = new MenuManager(
-                IDEWorkbenchMessages.getString("Workbench.navigate"), IWorkbenchActionConstants.M_NAVIGATE); //$NON-NLS-1$
-        menu.add(new GroupMarker(IWorkbenchActionConstants.NAV_START));
-        menu.add(goIntoAction);
-
-        MenuManager goToSubMenu = new MenuManager(IDEWorkbenchMessages
-                .getString("Workbench.goTo"), IWorkbenchActionConstants.GO_TO); //$NON-NLS-1$
-        menu.add(goToSubMenu);
-        goToSubMenu.add(backAction);
-        goToSubMenu.add(forwardAction);
-        goToSubMenu.add(upAction);
-        goToSubMenu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-
-        menu.add(new Separator(IWorkbenchActionConstants.OPEN_EXT));
-        for (int i = 2; i < 5; ++i) {
-            menu.add(new Separator(IWorkbenchActionConstants.OPEN_EXT + i));
-        }
-        menu.add(new Separator(IWorkbenchActionConstants.SHOW_EXT));
-        {
-
-            MenuManager showInSubMenu = new MenuManager(IDEWorkbenchMessages
-                    .getString("Workbench.showIn"), "showIn") { //$NON-NLS-1$ //$NON-NLS-2$
-                public String getMenuText() {
-                    String result = super.getMenuText();
-                    if (showInQuickMenu == null)
-                        return null;
-                    String shortCut = showInQuickMenu.getShortCutString();
-                    if (shortCut == null)
-                        return result;
-                    return result + "\t" + shortCut; //$NON-NLS-1$
-                }
-            };
-            showInSubMenu.add(ContributionItemFactory.VIEWS_SHOW_IN
-                    .create(getWindow()));
-            menu.add(showInSubMenu);
-        }
-        for (int i = 2; i < 5; ++i) {
-            menu.add(new Separator(IWorkbenchActionConstants.SHOW_EXT + i));
-        }
-        menu.add(new Separator());
-        menu.add(nextAction);
-        menu.add(previousAction);
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        menu.add(new GroupMarker(IWorkbenchActionConstants.NAV_END));
-
-        //TBD: Location of this actions
-        menu.add(new Separator());
-        menu.add(backwardHistoryAction);
-        menu.add(forwardHistoryAction);
-        return menu;
-    }
-
-    /**
-     * Creates and returns the Project menu.
-     */
-    private MenuManager createProjectMenu() {
-        MenuManager menu = new MenuManager(
-                IDEWorkbenchMessages.getString("Workbench.project"), IWorkbenchActionConstants.M_PROJECT); //$NON-NLS-1$
-        menu.add(new Separator(IWorkbenchActionConstants.PROJ_START));
-
-        menu.add(openProjectAction);
-        menu.add(closeProjectAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.OPEN_EXT));
-        menu.add(new Separator());
-        menu.add(buildAllAction);
-        menu.add(buildProjectAction);
-        addWorkingSetBuildActions(menu);
-        menu.add(cleanAction);
-        menu.add(toggleAutoBuildAction);
-        menu.add(new GroupMarker(IWorkbenchActionConstants.BUILD_EXT));
-        menu.add(new Separator());
-
-        menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menu.add(new GroupMarker(IWorkbenchActionConstants.PROJ_END));
-        menu.add(new Separator());
-        menu.add(projectPropertyDialogAction);
-        return menu;
-    }
-
-    /**
-     * Creates and returns the Window menu.
-     */
-    private MenuManager createWindowMenu() {
-        MenuManager menu = new MenuManager(
-                IDEWorkbenchMessages.getString("Workbench.window"), IWorkbenchActionConstants.M_WINDOW); //$NON-NLS-1$
-
-        IWorkbenchAction action = ActionFactory.OPEN_NEW_WINDOW
-                .create(getWindow());
-        action.setText(IDEWorkbenchMessages
-                .getString("Workbench.openNewWindow")); //$NON-NLS-1$
-        menu.add(action);
-        menu.add(new Separator());
-        addPerspectiveActions(menu);
-        menu.add(new Separator());
-        addKeyboardShortcuts(menu);
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS + "end")); //$NON-NLS-1$
-        menu.add(openPreferencesAction);
-
-        menu.add(ContributionItemFactory.OPEN_WINDOWS.create(getWindow()));
-        return menu;
-    }
-
-    /**
-     * Adds the perspective actions to the specified menu.
-     */
-    private void addPerspectiveActions(MenuManager menu) {
-        {
-            String openText = IDEWorkbenchMessages
-                    .getString("Workbench.openPerspective"); //$NON-NLS-1$
-            MenuManager changePerspMenuMgr = new MenuManager(openText,
-                    "openPerspective"); //$NON-NLS-1$
-            IContributionItem changePerspMenuItem = ContributionItemFactory.PERSPECTIVES_SHORTLIST
-                    .create(getWindow());
-            changePerspMenuMgr.add(changePerspMenuItem);
-            menu.add(changePerspMenuMgr);
-        }
-        {
-            MenuManager showViewMenuMgr = new MenuManager(IDEWorkbenchMessages
-                    .getString("Workbench.showView"), "showView"); //$NON-NLS-1$ //$NON-NLS-2$
-            IContributionItem showViewMenu = ContributionItemFactory.VIEWS_SHORTLIST
-                    .create(getWindow());
-            showViewMenuMgr.add(showViewMenu);
-            menu.add(showViewMenuMgr);
-        }
-        menu.add(new Separator());
-        menu.add(editActionSetAction);
-        menu.add(savePerspectiveAction);
-        menu.add(resetPerspectiveAction);
-        menu.add(closePerspAction);
-        menu.add(closeAllPerspsAction);
-    }
-
-    /**
-     * Adds the keyboard navigation submenu to the specified menu.
-     */
-    private void addWorkingSetBuildActions(MenuManager menu) {
-        buildWorkingSetMenu = new MenuManager(IDEWorkbenchMessages
-                .getString("Workbench.buildSet")); //$NON-NLS-1$
-        IContributionItem workingSetBuilds = new BuildSetMenu(window,
-                actionBarConfigurer);
-        buildWorkingSetMenu.add(workingSetBuilds);
-        menu.add(buildWorkingSetMenu);
-    }
-
-    /**
-     * Adds the keyboard navigation submenu to the specified menu.
-     */
-    private void addKeyboardShortcuts(MenuManager menu) {
-        MenuManager subMenu = new MenuManager(IDEWorkbenchMessages
-                .getString("Workbench.shortcuts"), "shortcuts"); //$NON-NLS-1$ //$NON-NLS-2$
-        menu.add(subMenu);
-        subMenu.add(showPartPaneMenuAction);
-        subMenu.add(showViewMenuAction);
-        subMenu.add(new Separator());
-        subMenu.add(maximizePartAction);
-        subMenu.add(minimizePartAction);
-        subMenu.add(new Separator());
-        subMenu.add(activateEditorAction);
-        subMenu.add(nextEditorAction);
-        subMenu.add(prevEditorAction);
-        subMenu.add(workbookEditorsAction);
-        subMenu.add(new Separator());
-        subMenu.add(nextPartAction);
-        subMenu.add(prevPartAction);
-        subMenu.add(new Separator());
-        subMenu.add(nextPerspectiveAction);
-        subMenu.add(prevPerspectiveAction);
-    }
-
-    /**
-	 * Creates and returns the Help menu.
-	 */
-	private MenuManager createHelpMenu() {
-		MenuManager menu = new MenuManager(IDEWorkbenchMessages
-				.getString("Workbench.help"), IWorkbenchActionConstants.M_HELP); //$NON-NLS-1$
-		addSeparatorOrGroupMarker(menu, "group.intro"); //$NON-NLS-1$
-		// See if a welcome or intro page is specified
-		if (introAction != null)
-			menu.add(introAction);
-		else if (quickStartAction != null)
-			menu.add(quickStartAction);
-		menu.add(new GroupMarker("group.intro.ext")); //$NON-NLS-1$
-		addSeparatorOrGroupMarker(menu, "group.main"); //$NON-NLS-1$
-		menu.add(helpContentsAction);
-
-		// See if a tips and tricks page is specified
-		if (tipsAndTricksAction != null)
-			menu.add(tipsAndTricksAction);
-		// HELP_START should really be the first item, but it was after
-		// quickStartAction and tipsAndTricksAction in 2.1.
-		menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
-		menu.add(new GroupMarker("group.main.ext")); //$NON-NLS-1$
-		addSeparatorOrGroupMarker(menu, "group.tutorials"); //$NON-NLS-1$
-		addSeparatorOrGroupMarker(menu, "group.tools"); //$NON-NLS-1$
-		addSeparatorOrGroupMarker(menu, "group.updates"); //$NON-NLS-1$
-		menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
-		addSeparatorOrGroupMarker(menu, IWorkbenchActionConstants.MB_ADDITIONS);
-		// about should always be at the bottom
-		menu.add(new Separator("group.about")); //$NON-NLS-1$
-		menu.add(aboutAction);
-		menu.add(new GroupMarker("group.about.ext")); //$NON-NLS-1$
-
-        /*		
-         final IMutableContextActivationService contextActivationServiceA = ContextActivationServiceFactory.getMutableContextActivationService();
-         contextActivationServiceA.setActiveContextIds(new HashSet(Collections.singletonList("A")));
-
-         final IMutableContextActivationService contextActivationServiceB = ContextActivationServiceFactory.getMutableContextActivationService();
-         contextActivationServiceB.setActiveContextIds(new HashSet(Collections.singletonList("B")));				
-         
-         menu.add(new Separator());
-         
-         menu.add(new Action("Add context A to the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-         workbenchContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceA);
-         }
-         });
-
-         menu.add(new Action("Remove context A from the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-         workbenchContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceA);
-         }
-         });
-         
-         menu.add(new Action("Add context B to the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-         workbenchContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceB);
-         }
-         });
-
-         menu.add(new Action("Remove context B from the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchContextSupport workbenchContextSupport = (IWorkbenchContextSupport) workbench.getContextSupport();
-         workbenchContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceB);
-         }
-         });
-         
-         menu.add(new Separator());
-         
-         menu.add(new Action("Add context A to the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-         workbenchPageContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceA);
-         }
-         }
-         }
-         });
-         
-         menu.add(new Action("Remove context A from the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-         workbenchPageContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceA);
-         }
-         }
-         }
-         });		
-         
-         menu.add(new Action("Add context B to the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-         workbenchPageContextSupport.getCompoundContextActivationService().addContextActivationService(contextActivationServiceB);
-         }
-         }
-         }
-         });
-
-         menu.add(new Action("Remove context B from the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageContextSupport workbenchPageContextSupport = (IWorkbenchPageContextSupport) workbenchPage.getContextSupport();
-         workbenchPageContextSupport.getCompoundContextActivationService().removeContextActivationService(contextActivationServiceB);
-         }
-         }
-         }
-         });
-         
-         IHandler handlerA = new IHandler() {
-         public void execute() {
-         }
-         
-         public void execute(Event event) {
-         }
-         
-         public boolean isEnabled() {
-         return false;
-         }
-         };
-         
-         IHandler handlerB = new IHandler() {
-         public void execute() {
-         }
-         
-         public void execute(Event event) {
-         }
-         
-         public boolean isEnabled() {
-         return false;
-         }
-         };		
-         
-         final IMutableCommandHandlerService commandHandlerServiceA = CommandHandlerServiceFactory.getMutableCommandHandlerService();
-         commandHandlerServiceA.setHandlersByCommandId(new HashMap(Collections.singletonMap("command", handlerA)));
-
-         final IMutableCommandHandlerService commandHandlerServiceB = CommandHandlerServiceFactory.getMutableCommandHandlerService();
-         commandHandlerServiceB.setHandlersByCommandId(new HashMap(Collections.singletonMap("command", handlerB)));				
-         
-         menu.add(new Separator());
-         
-         menu.add(new Action("Add handler A to the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-         workbenchCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceA);
-         }
-         });
-
-         menu.add(new Action("Remove handler A from the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-         workbenchCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceA);
-         }
-         });
-         
-         menu.add(new Action("Add handler B to the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-         workbenchCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceB);
-         }
-         });
-
-         menu.add(new Action("Remove handler B from the workbench") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchCommandSupport workbenchCommandSupport = (IWorkbenchCommandSupport) workbench.getCommandSupport();
-         workbenchCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceB);
-         }
-         });
-
-         menu.add(new Separator());
-         
-         menu.add(new Action("Add handler A to the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-         workbenchPageCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceA);
-         }
-         }
-         }
-         });
-
-         menu.add(new Action("Remove handler A from the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-         workbenchPageCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceA);
-         }
-         }
-         }
-         });
-         
-         menu.add(new Action("Add handler B to the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-         workbenchPageCommandSupport.getCompoundCommandHandlerService().addCommandHandlerService(commandHandlerServiceB);
-         }
-         }
-         }
-         });
-
-         menu.add(new Action("Remove handler B from the workbench page") {
-         public void run() {
-         IWorkbench workbench = PlatformUI.getWorkbench();
-         IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
-
-         if (workbenchWindow != null) {
-         IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
-         
-         if (workbenchPage != null) {					
-         IWorkbenchPageCommandSupport workbenchPageCommandSupport = (IWorkbenchPageCommandSupport) workbenchPage.getCommandSupport();
-         workbenchPageCommandSupport.getCompoundCommandHandlerService().removeCommandHandlerService(commandHandlerServiceB);
-         }
-         }
-         }
-         });
-         */
-
-        return menu;
-    }
-
-    /**
-	 * Adds a <code>GroupMarker</code> or <code>Separator</code> to a menu.
-	 * The test for whether a separator should be added is done by checking for
-	 * the existence of a preference matching the string
-	 * useSeparator.MENUID.GROUPID that is set to <code>true</code>.
-	 * 
-	 * @param menu
-	 *            the menu to add to
-	 * @param groupId
-	 *            the group id for the added separator or group marker
-	 */
-	private void addSeparatorOrGroupMarker(MenuManager menu, String groupId) {
-		String prefId = "useSeparator." + menu.getId() + "." + groupId; //$NON-NLS-1$ //$NON-NLS-2$
-		boolean addExtraSeparators = IDEWorkbenchPlugin.getDefault()
-				.getPreferenceStore().getBoolean(prefId);
-		if (addExtraSeparators) {
-			menu.add(new Separator(groupId));
-		} else {
-			menu.add(new GroupMarker(groupId));
-		}
-	}
-    
-    /**
-     * Disposes any resources and unhooks any listeners that are no longer needed.
-     * Called when the window is closed.
-     */
-    public void dispose() {
-    	isDisposed = true;
-        actionBarConfigurer.getStatusLineManager().remove(statusLineItem);
-        if (pageListener != null) {
-            window.removePageListener(pageListener);
-            pageListener = null;
-        }
-        if (perspectiveListener != null) {
-            window.removePerspectiveListener(perspectiveListener);
-            perspectiveListener = null;
-        }
-        if (prefListener != null) {
-            ResourcesPlugin.getPlugin().getPluginPreferences()
-                    .removePropertyChangeListener(prefListener);
-            prefListener = null;
-        }
-        if (propPrefListener != null) {
-            WorkbenchPlugin.getDefault().getPreferenceStore()
-                    .removePropertyChangeListener(propPrefListener);
-            propPrefListener = null;
-        }
-        if (resourceListener != null) {
-            ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener);
-            resourceListener = null;
-        }
-        closeAction.dispose();
-        closeAllAction.dispose();
-        closeAllSavedAction.dispose();
-        saveAction.dispose();
-        saveAllAction.dispose();
-        aboutAction.dispose();
-        openPreferencesAction.dispose();
-        saveAsAction.dispose();
-        hideShowEditorAction.dispose();
-        savePerspectiveAction.dispose();
-        resetPerspectiveAction.dispose();
-        editActionSetAction.dispose();
-        closePerspAction.dispose();
-        lockToolBarAction.dispose();
-        closeAllPerspsAction.dispose();
-        showViewMenuAction.dispose();
-        showPartPaneMenuAction.dispose();
-        nextPartAction.dispose();
-        prevPartAction.dispose();
-        nextEditorAction.dispose();
-        prevEditorAction.dispose();
-        nextPerspectiveAction.dispose();
-        prevPerspectiveAction.dispose();
-        activateEditorAction.dispose();
-        maximizePartAction.dispose();
-        minimizePartAction.dispose();
-        workbenchEditorsAction.dispose();
-        workbookEditorsAction.dispose();
-        backwardHistoryAction.dispose();
-        forwardHistoryAction.dispose();
-        undoAction.dispose();
-        redoAction.dispose();
-        cutAction.dispose();
-        copyAction.dispose();
-        pasteAction.dispose();
-        deleteAction.dispose();
-        selectAllAction.dispose();
-        findAction.dispose();
-        printAction.dispose();
-        revertAction.dispose();
-        refreshAction.dispose();
-        propertiesAction.dispose();
-        quitAction.dispose();
-        moveAction.dispose();
-        renameAction.dispose();
-        goIntoAction.dispose();
-        backAction.dispose();
-        forwardAction.dispose();
-        upAction.dispose();
-        nextAction.dispose();
-        previousAction.dispose();
-
-        // editorsDropDownAction is not currently an IWorkbenchAction		
-        // editorsDropDownAction.dispose();
-        openWorkspaceAction.dispose();
-        projectPropertyDialogAction.dispose();
-        newWizardAction.dispose();
-        newWizardDropDownAction.dispose();
-        importResourcesAction.dispose();
-        exportResourcesAction.dispose();
-        cleanAction.dispose();
-        toggleAutoBuildAction.dispose();
-        buildAllAction.dispose();
-        if (quickStartAction != null) {
-            quickStartAction.dispose();
-        }
-        if (tipsAndTricksAction != null) {
-            tipsAndTricksAction.dispose();
-        }
-        addBookmarkAction.dispose();
-        addTaskAction.dispose();
-        buildProjectAction.dispose();
-        openProjectAction.dispose();
-        closeProjectAction.dispose();
-        pinEditorContributionItem.dispose();
-        if (introAction != null) {
-            introAction.dispose();
-        }
-
-        showInQuickMenu.dispose();
-        newQuickMenu.dispose();
-
-        // null out actions to make leak debugging easier
-        closeAction = null;
-        closeAllAction = null;
-        closeAllSavedAction = null;
-        saveAction = null;
-        saveAllAction = null;
-        helpContentsAction = null;
-        aboutAction = null;
-        openPreferencesAction = null;
-        saveAsAction = null;
-        hideShowEditorAction = null;
-        savePerspectiveAction = null;
-        resetPerspectiveAction = null;
-        editActionSetAction = null;
-        closePerspAction = null;
-        lockToolBarAction = null;
-        closeAllPerspsAction = null;
-        showViewMenuAction = null;
-        showPartPaneMenuAction = null;
-        nextPartAction = null;
-        prevPartAction = null;
-        nextEditorAction = null;
-        prevEditorAction = null;
-        nextPerspectiveAction = null;
-        prevPerspectiveAction = null;
-        activateEditorAction = null;
-        maximizePartAction = null;
-        minimizePartAction = null;
-        workbenchEditorsAction = null;
-        workbookEditorsAction = null;
-        backwardHistoryAction = null;
-        forwardHistoryAction = null;
-        undoAction = null;
-        redoAction = null;
-        cutAction = null;
-        copyAction = null;
-        pasteAction = null;
-        deleteAction = null;
-        selectAllAction = null;
-        findAction = null;
-        printAction = null;
-        revertAction = null;
-        refreshAction = null;
-        propertiesAction = null;
-        quitAction = null;
-        moveAction = null;
-        renameAction = null;
-        goIntoAction = null;
-        backAction = null;
-        forwardAction = null;
-        upAction = null;
-        nextAction = null;
-        previousAction = null;
-        openWorkspaceAction = null;
-        projectPropertyDialogAction = null;
-        newWizardAction = null;
-        newWizardDropDownAction = null;
-        importResourcesAction = null;
-        exportResourcesAction = null;
-        buildAllAction = null;
-        cleanAction = null;
-        toggleAutoBuildAction = null;
-        buildWorkingSetMenu = null;
-        quickStartAction = null;
-        tipsAndTricksAction = null;
-        showInQuickMenu = null;
-        newQuickMenu = null;
-        addBookmarkAction = null;
-        addTaskAction = null;
-        buildProjectAction = null;
-        openProjectAction = null;
-        closeProjectAction = null;
-        newWizardMenu = null;
-        pinEditorContributionItem = null;
-        statusLineItem = null;
-        prefListener = null;
-        propPrefListener = null;
-        introAction = null;
-    }
-
-    void updateModeLine(final String text) {
-        statusLineItem.setText(text);
-    }
-
-    /**
-     * Returns true if the menu with the given ID should
-     * be considered as an OLE container menu. Container menus
-     * are preserved in OLE menu merging.
-     */
-    public boolean isContainerMenu(String menuId) {
-        if (menuId.equals(IWorkbenchActionConstants.M_FILE))
-            return true;
-        if (menuId.equals(IWorkbenchActionConstants.M_WINDOW))
-            return true;
-        return false;
-    }
-
-    /**
-     * Return whether or not given id matches the id of the coolitems that
-     * the workbench creates.
-     */
-    public boolean isWorkbenchCoolItemId(String id) {
-        if (IWorkbenchActionConstants.TOOLBAR_FILE.equalsIgnoreCase(id))
-            return true;
-        if (IWorkbenchActionConstants.TOOLBAR_NAVIGATE.equalsIgnoreCase(id))
-            return true;
-        return false;
-    }
-
-    /**
-     * Fills the status line with the workbench contribution items.
-     */
-    public void populateStatusLine(IActionBarConfigurer configurer) {
-        IStatusLineManager statusLine = configurer.getStatusLineManager();
-        statusLine.add(statusLineItem);
-    }
-
-    /**
-     * Creates actions (and contribution items) for the menu bar, toolbar and status line.
-     */
-    private void makeActions(IWorkbenchConfigurer workbenchConfigurer,
-            IActionBarConfigurer actionBarConfigurer) {
-
-        // The actions in jface do not have menu vs. enable, vs. disable vs. color
-        // There are actions in here being passed the workbench - problem 
-        setCurrentActionBarConfigurer(actionBarConfigurer);
-
-        // @issue should obtain from ConfigurationItemFactory
-        statusLineItem = new StatusLineContributionItem("ModeContributionItem"); //$NON-NLS-1$
-
-        newWizardAction = ActionFactory.NEW.create(getWindow());
-        registerGlobalAction(newWizardAction);
-
-        newWizardDropDownAction = IDEActionFactory.NEW_WIZARD_DROP_DOWN
-                .create(getWindow());
-
-        importResourcesAction = ActionFactory.IMPORT.create(getWindow());
-        registerGlobalAction(importResourcesAction);
-
-        exportResourcesAction = ActionFactory.EXPORT.create(getWindow());
-        registerGlobalAction(exportResourcesAction);
-
-        buildAllAction = IDEActionFactory.BUILD.create(getWindow());
-        registerGlobalAction(buildAllAction);
-
-        cleanAction = IDEActionFactory.BUILD_CLEAN.create(getWindow());
-        registerGlobalAction(cleanAction);
-
-        toggleAutoBuildAction = IDEActionFactory.BUILD_AUTOMATICALLY
-                .create(getWindow());
-        registerGlobalAction(toggleAutoBuildAction);
-
-        saveAction = ActionFactory.SAVE.create(getWindow());
-        registerGlobalAction(saveAction);
-
-        saveAsAction = ActionFactory.SAVE_AS.create(getWindow());
-        registerGlobalAction(saveAsAction);
-
-        saveAllAction = ActionFactory.SAVE_ALL.create(getWindow());
-        registerGlobalAction(saveAllAction);
-
-        undoAction = ActionFactory.UNDO.create(getWindow());
-        registerGlobalAction(undoAction);
-
-        redoAction = ActionFactory.REDO.create(getWindow());
-        registerGlobalAction(redoAction);
-
-        cutAction = ActionFactory.CUT.create(getWindow());
-        registerGlobalAction(cutAction);
-
-        copyAction = ActionFactory.COPY.create(getWindow());
-        registerGlobalAction(copyAction);
-
-        pasteAction = ActionFactory.PASTE.create(getWindow());
-        registerGlobalAction(pasteAction);
-
-        printAction = ActionFactory.PRINT.create(getWindow());
-        registerGlobalAction(printAction);
-
-        selectAllAction = ActionFactory.SELECT_ALL.create(getWindow());
-        registerGlobalAction(selectAllAction);
-
-        findAction = ActionFactory.FIND.create(getWindow());
-        registerGlobalAction(findAction);
-
-        closeAction = ActionFactory.CLOSE.create(getWindow());
-        registerGlobalAction(closeAction);
-
-        closeAllAction = ActionFactory.CLOSE_ALL.create(getWindow());
-        registerGlobalAction(closeAllAction);
-
-        closeAllSavedAction = ActionFactory.CLOSE_ALL_SAVED.create(getWindow());
-        registerGlobalAction(closeAllSavedAction);
-
-        helpContentsAction = ActionFactory.HELP_CONTENTS.create(getWindow());
-        registerGlobalAction(helpContentsAction);
-
-        aboutAction = ActionFactory.ABOUT.create(getWindow());
-        aboutAction
-                .setImageDescriptor(IDEInternalWorkbenchImages
-                        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_OBJS_DEFAULT_PROD));
-        registerGlobalAction(aboutAction);
-
-        openPreferencesAction = ActionFactory.PREFERENCES.create(getWindow());
-        registerGlobalAction(openPreferencesAction);
-
-        addBookmarkAction = IDEActionFactory.BOOKMARK.create(getWindow());
-        registerGlobalAction(addBookmarkAction);
-
-        addTaskAction = IDEActionFactory.ADD_TASK.create(getWindow());
-        registerGlobalAction(addTaskAction);
-
-        deleteAction = ActionFactory.DELETE.create(getWindow());
-        registerGlobalAction(deleteAction);
-
-        AboutInfo[] infos = IDEWorkbenchPlugin.getDefault().getFeatureInfos();
-        // See if a welcome page is specified
-        for (int i = 0; i < infos.length; i++) {
-            if (infos[i].getWelcomePageURL() != null) {
-                quickStartAction = IDEActionFactory.QUICK_START
-                        .create(getWindow());
-                registerGlobalAction(quickStartAction);
-                break;
-            }
-        }
-        // See if a tips and tricks page is specified
-        for (int i = 0; i < infos.length; i++) {
-            if (infos[i].getTipsAndTricksHref() != null) {
-                tipsAndTricksAction = IDEActionFactory.TIPS_AND_TRICKS
-                        .create(getWindow());
-                registerGlobalAction(tipsAndTricksAction);
-                break;
-            }
-        }
-
-        // Actions for invisible accelerators
-        showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(getWindow());
-        registerGlobalAction(showViewMenuAction);
-
-        showPartPaneMenuAction = ActionFactory.SHOW_PART_PANE_MENU
-                .create(getWindow());
-        registerGlobalAction(showPartPaneMenuAction);
-
-        nextEditorAction = ActionFactory.NEXT_EDITOR.create(getWindow());
-        prevEditorAction = ActionFactory.PREVIOUS_EDITOR.create(getWindow());
-        ActionFactory.linkCycleActionPair(nextEditorAction, prevEditorAction);
-        registerGlobalAction(nextEditorAction);
-        registerGlobalAction(prevEditorAction);
-
-        nextPartAction = ActionFactory.NEXT_PART.create(getWindow());
-        prevPartAction = ActionFactory.PREVIOUS_PART.create(getWindow());
-        ActionFactory.linkCycleActionPair(nextPartAction, prevPartAction);
-        registerGlobalAction(nextPartAction);
-        registerGlobalAction(prevPartAction);
-
-        nextPerspectiveAction = ActionFactory.NEXT_PERSPECTIVE
-                .create(getWindow());
-        prevPerspectiveAction = ActionFactory.PREVIOUS_PERSPECTIVE
-                .create(getWindow());
-        ActionFactory.linkCycleActionPair(nextPerspectiveAction,
-                prevPerspectiveAction);
-        registerGlobalAction(nextPerspectiveAction);
-        registerGlobalAction(prevPerspectiveAction);
-
-        activateEditorAction = ActionFactory.ACTIVATE_EDITOR
-                .create(getWindow());
-        registerGlobalAction(activateEditorAction);
-
-        maximizePartAction = ActionFactory.MAXIMIZE.create(getWindow());
-        registerGlobalAction(maximizePartAction);
-
-		minimizePartAction = ActionFactory.MINIMIZE.create(getWindow());
-		registerGlobalAction(minimizePartAction);
-        
-        workbenchEditorsAction = ActionFactory.SHOW_OPEN_EDITORS
-                .create(getWindow());
-        registerGlobalAction(workbenchEditorsAction);
-
-        workbookEditorsAction = ActionFactory.SHOW_WORKBOOK_EDITORS
-                .create(getWindow());
-        registerGlobalAction(workbookEditorsAction);
-
-        hideShowEditorAction = ActionFactory.SHOW_EDITOR.create(getWindow());
-        registerGlobalAction(hideShowEditorAction);
-        savePerspectiveAction = ActionFactory.SAVE_PERSPECTIVE
-                .create(getWindow());
-        registerGlobalAction(savePerspectiveAction);
-        editActionSetAction = ActionFactory.EDIT_ACTION_SETS
-                .create(getWindow());
-        registerGlobalAction(editActionSetAction);
-        lockToolBarAction = ActionFactory.LOCK_TOOL_BAR.create(getWindow());
-        registerGlobalAction(lockToolBarAction);
-        resetPerspectiveAction = ActionFactory.RESET_PERSPECTIVE
-                .create(getWindow());
-        registerGlobalAction(resetPerspectiveAction);
-        closePerspAction = ActionFactory.CLOSE_PERSPECTIVE.create(getWindow());
-        registerGlobalAction(closePerspAction);
-        closeAllPerspsAction = ActionFactory.CLOSE_ALL_PERSPECTIVES
-                .create(getWindow());
-        registerGlobalAction(closeAllPerspsAction);
-
-        forwardHistoryAction = ActionFactory.FORWARD_HISTORY
-                .create(getWindow());
-        registerGlobalAction(forwardHistoryAction);
-
-        backwardHistoryAction = ActionFactory.BACKWARD_HISTORY
-                .create(getWindow());
-        registerGlobalAction(backwardHistoryAction);
-
-        revertAction = ActionFactory.REVERT.create(getWindow());
-        registerGlobalAction(revertAction);
-
-        refreshAction = ActionFactory.REFRESH.create(getWindow());
-        registerGlobalAction(refreshAction);
-
-        propertiesAction = ActionFactory.PROPERTIES.create(getWindow());
-        registerGlobalAction(propertiesAction);
-
-        quitAction = ActionFactory.QUIT.create(getWindow());
-        registerGlobalAction(quitAction);
-
-        moveAction = ActionFactory.MOVE.create(getWindow());
-        registerGlobalAction(moveAction);
-
-        renameAction = ActionFactory.RENAME.create(getWindow());
-        registerGlobalAction(renameAction);
-
-        goIntoAction = ActionFactory.GO_INTO.create(getWindow());
-        registerGlobalAction(goIntoAction);
-
-        backAction = ActionFactory.BACK.create(getWindow());
-        registerGlobalAction(backAction);
-
-        forwardAction = ActionFactory.FORWARD.create(getWindow());
-        registerGlobalAction(forwardAction);
-
-        upAction = ActionFactory.UP.create(getWindow());
-        registerGlobalAction(upAction);
-
-        nextAction = ActionFactory.NEXT.create(getWindow());
-        nextAction
-                .setImageDescriptor(IDEInternalWorkbenchImages
-                        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV));
-        registerGlobalAction(nextAction);
-
-        previousAction = ActionFactory.PREVIOUS.create(getWindow());
-        previousAction
-                .setImageDescriptor(IDEInternalWorkbenchImages
-                        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV));
-        registerGlobalAction(previousAction);
-
-        buildProjectAction = IDEActionFactory.BUILD_PROJECT.create(getWindow());
-        registerGlobalAction(buildProjectAction);
-
-        openProjectAction = IDEActionFactory.OPEN_PROJECT.create(getWindow());
-        registerGlobalAction(openProjectAction);
-
-        closeProjectAction = IDEActionFactory.CLOSE_PROJECT.create(getWindow());
-        registerGlobalAction(closeProjectAction);
-
-        openWorkspaceAction = IDEActionFactory.OPEN_WORKSPACE
-                .create(getWindow());
-        registerGlobalAction(openWorkspaceAction);
-
-        projectPropertyDialogAction = IDEActionFactory.OPEN_PROJECT_PROPERTIES
-                .create(getWindow());
-        registerGlobalAction(projectPropertyDialogAction);
-
-        if (getWindow().getWorkbench().getIntroManager().hasIntro()) {
-            introAction = ActionFactory.INTRO.create(window);
-            registerGlobalAction(introAction);
-        }
-
-        final String showInQuickMenuId = "org.eclipse.ui.navigate.showInQuickMenu"; //$NON-NLS-1$
-        showInQuickMenu = new QuickMenuAction(showInQuickMenuId) {
-            protected void fillMenu(IMenuManager menu) {
-                menu.add(ContributionItemFactory.VIEWS_SHOW_IN
-                        .create(getWindow()));
-            }
-        };
-        registerGlobalAction(showInQuickMenu);
-
-        final String newQuickMenuId = "org.eclipse.ui.file.newQuickMenu"; //$NON-NLS-1$
-        newQuickMenu = new QuickMenuAction(newQuickMenuId) {
-            protected void fillMenu(IMenuManager menu) {
-                menu.add(new NewWizardMenu(getWindow()));
-            }
-        };
-        registerGlobalAction(newQuickMenu);
-
-        pinEditorContributionItem = ContributionItemFactory.PIN_EDITOR
-                .create(getWindow());
-    }
-
-    private void setCurrentActionBarConfigurer(
-            IActionBarConfigurer actionBarConfigurer) {
-        this.actionBarConfigurer = actionBarConfigurer;
-    }
-
-    private void registerGlobalAction(IAction action) {
-        actionBarConfigurer.registerGlobalAction(action);
-    }
-
-    /**
-     * Update the build actions on the toolbar and menu bar based on the 
-     * current state of autobuild.  This method can be called from any thread.
-     */
-    void updateBuildActions() {
-        // this can be triggered by property or resource change notifications
-        Runnable update = new Runnable() {
-            public void run() {
-                if (isDisposed)
-                	return;
-		    	IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IProject[] projects = workspace.getRoot().getProjects();
-		    	boolean enabled = BuildUtilities.isEnabled(projects, IncrementalProjectBuilder.INCREMENTAL_BUILD);
-		        //update menu bar actions in project menu
-		        buildAllAction.setEnabled(enabled);
-		        buildProjectAction.setEnabled(enabled);
-		        toggleAutoBuildAction.setChecked(workspace.isAutoBuilding());
-		        cleanAction.setEnabled(BuildUtilities.isEnabled(projects, IncrementalProjectBuilder.CLEAN_BUILD));
-		
-		        //update the cool bar build button
-		        ICoolBarManager coolBarManager = actionBarConfigurer
-		                .getCoolBarManager();
-		        IContributionItem cbItem = coolBarManager
-		                .find(IWorkbenchActionConstants.TOOLBAR_FILE);
-		        if (!(cbItem instanceof ToolBarContributionItem)) {
-		            // This should not happen
-		            IDEWorkbenchPlugin.log("File toolbar contribution item is missing"); //$NON-NLS-1$
-		            return;
-		        }
-		        ToolBarContributionItem toolBarItem = (ToolBarContributionItem) cbItem;
-		        IToolBarManager toolBarManager = toolBarItem.getToolBarManager();
-		        if (toolBarManager == null) {
-		            // error if this happens, file toolbar assumed to always exist
-		            IDEWorkbenchPlugin.log("File toolbar is missing"); //$NON-NLS-1$
-		            return;
-		        }
-		        //add the build button if build actions are enabled, and remove it otherwise
-		        boolean found = toolBarManager.find(buildAllAction.getId()) != null;
-		        if (enabled && !found) {
-		            toolBarManager.appendToGroup(IWorkbenchActionConstants.BUILD_GROUP,
-		                    buildAllAction);
-		            toolBarManager.update(false);
-		            toolBarItem.update(ICoolBarManager.SIZE);
-		        } else if (buildAllAction != null && found && !enabled) {
-		            toolBarManager.remove(buildAllAction.getId());
-		            toolBarManager.update(false);
-		            toolBarItem.update(ICoolBarManager.SIZE);
-		        }
-            }
-        };
-        //run the update immediately if we are in the UI thread
-        if (Display.getCurrent() != null) {
-        	update.run();
-        } else {
-	        //dispatch the update to the UI thread
-	        Shell shell = window.getShell();
-	        if (shell != null && !shell.isDisposed())
-	        	shell.getDisplay().asyncExec(update);
-        }
-    }
-
-	/**
-     * Update the pin action's tool bar
-     */
-    void updatePinActionToolbar() {
-
-        ICoolBarManager coolBarManager = actionBarConfigurer
-                .getCoolBarManager();
-        IContributionItem cbItem = coolBarManager
-                .find(IWorkbenchActionConstants.TOOLBAR_NAVIGATE);
-        if (!(cbItem instanceof ToolBarContributionItem)) {
-            // This should not happen
-            IDEWorkbenchPlugin
-                    .log("Navigation toolbar contribution item is missing"); //$NON-NLS-1$
-            return;
-        }
-        ToolBarContributionItem toolBarItem = (ToolBarContributionItem) cbItem;
-        IToolBarManager toolBarManager = toolBarItem.getToolBarManager();
-        if (toolBarManager == null) {
-            // error if this happens, navigation toolbar assumed to always exist
-            IDEWorkbenchPlugin.log("Navigate toolbar is missing"); //$NON-NLS-1$
-            return;
-        }
-
-        toolBarManager.update(false);
-        toolBarItem.update(ICoolBarManager.SIZE);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java
deleted file mode 100644
index f0c4e25..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildCleanAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.dialogs.CleanDialog;
-
-/**
- * The clean action replaces the rebuild actions. Clean will discard all built
- * state for all projects in the workspace, and deletes all problem markers.
- * The next time a build is run, projects will have to be built from scratch.
- * Technically this is only necessary if an incremental builder misbehaves.
- * 
- * @since 3.0
- */
-public class BuildCleanAction extends Action implements ActionFactory.IWorkbenchAction {
-	private IWorkbenchWindow window;
-
-	/**
-	 * Creates a new BuildCleanAction
-	 * 
-	 * @param window The window for parenting this action
-	 */
-	public BuildCleanAction(IWorkbenchWindow window) {
-		super(IDEWorkbenchMessages.getString("Workbench.buildClean")); //$NON-NLS-1$
-		setActionDefinitionId("org.eclipse.ui.project.cleanAction"); //$NON-NLS-1$
-		this.window = window;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.ActionFactory.IWorkbenchAction#dispose()
-	 */
-	public void dispose() {
-		//nothing to dispose
-	}
-
-	public void run() {
-		IProject[] selected = BuildUtilities.findSelectedProjects(window);
-		new CleanDialog(window, selected).open();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java
deleted file mode 100644
index 91b8009..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.actions.BuildAction;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * This class will perform an incremental build on a working set.
- * 
- * @since 3.0
- */
-public class BuildSetAction extends Action {
-    public static BuildSetAction lastBuilt;
-
-    private IWorkingSet workingSet;
-
-    private IWorkbenchWindow window;
-
-    private IActionBarConfigurer actionBars;
-
-
-    /**
-     * Creates a new action that builds the provided working set when run
-     */
-    public BuildSetAction(IWorkingSet set, IWorkbenchWindow window,
-            IActionBarConfigurer actionBars) {
-        super(set == null ? "" : set.getName(), AS_RADIO_BUTTON); //$NON-NLS-1$
-        this.window = window;
-        this.actionBars = actionBars;
-        this.workingSet = set;
-    }
-
-    /**
-     * Returns the working set that this instance is building
-     */
-    public IWorkingSet getWorkingSet() {
-        return workingSet;
-    }
-
-    public void run() {
-        lastBuilt = this;
-        //register this action instance as the global handler for the build last action
-        setActionDefinitionId("org.eclipse.ui.project.buildLast"); //$NON-NLS-1$
-        actionBars.registerGlobalAction(this);
-
-        window.getWorkbench().getWorkingSetManager().addRecentWorkingSet(
-                workingSet);
-        IProject[] projects = BuildUtilities.extractProjects(workingSet.getElements());
-        if (projects.length == 0)
-            return;
-        BuildAction build = new BuildAction(window.getShell(),
-                IncrementalProjectBuilder.INCREMENTAL_BUILD);
-        build.selectionChanged(new StructuredSelection(projects));
-        build.run();
-    }
-
-    public void runWithEvent(Event event) {
-        //radio buttons receive an event when they become unselected,
-        //so we must not run the action in this case
-        if (event.widget instanceof MenuItem) {
-            if (!((MenuItem) event.widget).getSelection())
-                return;
-        }
-        run();
-    }
-
-    /* (non-Javadoc)
-     * For debugging purposes only.
-     */
-    public String toString() {
-        return "BuildSetAction(" + workingSet.getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java
deleted file mode 100644
index 33281c7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildSetMenu.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- * hzhou@actuate.com - Fix for  Bug 71695 - 
- * [WorkingSets]Removed Working Set is still shown under the menu item 
- * when it is the recently used working set
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * Sub-menu off project menu for showing MRU list of working set builds.
- * 
- * @since 3.0
- */
-public class BuildSetMenu extends ContributionItem {
-    private IActionBarConfigurer actionBars;
-
-    boolean dirty = true;
-
-    private IMenuListener menuListener = new IMenuListener() {
-        public void menuAboutToShow(IMenuManager manager) {
-            manager.markDirty();
-            dirty = true;
-        }
-    };
-
-    private IAction selectBuildWorkingSetAction;
-
-    private IWorkbenchWindow window;
-
-    /**
-     * Create a new instance of the receiver.
-     * @param window
-     * @param actionBars
-     */
-    public BuildSetMenu(IWorkbenchWindow window, IActionBarConfigurer actionBars) {
-        this.window = window;
-        this.actionBars = actionBars;
-        selectBuildWorkingSetAction = new SelectBuildWorkingSetAction(window,
-                actionBars);
-    }
-
-    /**
-     * Adds a mnemonic accelerator to actions in the MRU list of
-     * recently built working sets.
-     * @param action the action to add
-     * @param index the index to add it at
-     */
-    private void addMnemonic(BuildSetAction action, int index) {
-        StringBuffer label = new StringBuffer();
-        //add the numerical accelerator
-        if (index < 9) {
-            label.append('&');
-            label.append(index);
-            label.append(' ');
-        }
-        label.append(action.getWorkingSet().getName());
-        action.setText(label.toString());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
-     */
-    public void fill(Menu menu, int index) {
-        if (getParent() instanceof MenuManager)
-            ((MenuManager) getParent()).addMenuListener(menuListener);
-        if (!dirty)
-            return;
-        fillMenu(menu);
-        dirty = false;
-    }
-
-    /**
-     * Fills the menu with Show View actions.
-     * @param menu The menu being filled.
-     */
-    private void fillMenu(Menu menu) {
-        boolean isAutoBuilding = ResourcesPlugin.getWorkspace()
-                .isAutoBuilding();
-
-        //build MRU list of recently built working sets:
-        IWorkingSet[] sets = window.getWorkbench().getWorkingSetManager()
-                .getRecentWorkingSets();
-        BuildSetAction last = BuildSetAction.lastBuilt;
-        IWorkingSet lastSet = null;
-        //add build action for the last working set that was built
-        int accel = 1;
-        if (last != null) {
-			// add it only if it has not been removed
-			boolean found = false;
-			for (int i = 0; i < sets.length; i++) {
-				if (sets[i].equals(last.getWorkingSet())){
-					found = true;
-					break;
-				}
-			}
-			if (found) {
-	            last.setChecked(true);
-	            last.setEnabled(!isAutoBuilding);
-	            last.setActionDefinitionId("org.eclipse.ui.project.buildLast"); //$NON-NLS-1$
-	            addMnemonic(last, accel++);
-	            new ActionContributionItem(last).fill(menu, -1);
-	            lastSet = last.getWorkingSet();
-			}
-			else //Clear the last built if it is not there
-				BuildSetAction.lastBuilt = null;
-        }
-        //add build actions for the most recently used working sets
-        for (int i = 0; i < sets.length; i++) {
-            if (lastSet != null && lastSet.equals(sets[i]))
-                continue;
-            BuildSetAction action = new BuildSetAction(sets[i], window,
-                    actionBars);
-            addMnemonic(action, accel++);
-            action.setEnabled(!isAutoBuilding);
-            new ActionContributionItem(action).fill(menu, -1);
-        }
-        //add the action to select a different working set
-        if (sets.length > 0)
-        	new Separator().fill(menu, -1);
-        selectBuildWorkingSetAction.setEnabled(!isAutoBuilding);
-        new ActionContributionItem(selectBuildWorkingSetAction).fill(menu, -1);
-    }
-
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Overridden to always return true and force dynamic menu building.
-     */
-    public boolean isDynamic() {
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildUtilities.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildUtilities.java
deleted file mode 100644
index c08e7c9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/BuildUtilities.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import java.util.HashSet;
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * This class contains convenience methods used by the various build commands
- * to determine enablement.  These utilities cannot be factored into a common
- * class because some build actions are API and some are not.
- * 
- * @since 3.1
- */
-public class BuildUtilities {
-	/**
-	 * Extracts the selected projects from a selection.
-	 * 
-	 * @param selection The selection to analyze
-	 * @return The selected projects
-	 */
-	public static IProject[] extractProjects(Object[] selection) {
-		HashSet projects = new HashSet();
-		for (int i = 0; i < selection.length; i++) {
-			if (selection[i] instanceof IResource) {
-				projects.add(((IResource) selection[i]).getProject());
-			} else if (selection[i] instanceof IAdaptable) {
-				IAdaptable adaptable = (IAdaptable) selection[i];
-				IResource resource = (IResource) adaptable.getAdapter(IResource.class);
-				if (resource != null)
-					projects.add(resource.getProject());
-			}
-		}
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
-	}
-
-	/**
-	 * Finds and returns the selected projects in the given window
-	 * 
-	 * @param window The window to find the selection in
-	 * @return The selected projects, or an empty array if no selection could be found.
-	 */
-	public static IProject[] findSelectedProjects(IWorkbenchWindow window) {
-		if (window == null)
-			return new IProject[0];
-		ISelection selection = window.getSelectionService().getSelection();
-		IProject[] selected = null;
-		if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
-			selected = extractProjects(((IStructuredSelection) selection).toArray());
-		} else {
-			//see if we can extract a selected project from the active editor
-			IWorkbenchPart part = window.getPartService().getActivePart();
-			if (part instanceof IEditorPart) {
-				IEditorInput input = ((IEditorPart) part).getEditorInput();
-				if (input instanceof IFileEditorInput)
-					selected = new IProject[] {((IFileEditorInput) input).getFile().getProject()};
-			}
-		}
-		if (selected == null)
-			selected = new IProject[0];
-		return selected;
-	}
-
-	/**
-	 * Returns whether a build command with the given trigger should
-	 * be enabled for the given selection.
-	 * @param projects The projects to use to determine enablement
-	 * @param trigger The build trigger (<code>IncrementalProjectBuilder.*_BUILD</code> constants).
-	 * @return <code>true</code> if the action should be enabled, and
-	 * <code>false</code> otherwise.
-	 */
-	public static boolean isEnabled(IProject[] projects, int trigger) {
-		//incremental build is only enabled if all projects are not autobuilding
-		if (trigger == IncrementalProjectBuilder.INCREMENTAL_BUILD && ResourcesPlugin.getWorkspace().isAutoBuilding()) {
-			if (!matchingTrigger(projects, IncrementalProjectBuilder.AUTO_BUILD, false))
-				return false;
-		}
-		//finally we are building only if there is a builder that accepts the trigger
-		return matchingTrigger(projects, trigger, true);
-	}
-
-	/**
-	 * Returns whether one of the projects has a builder whose trigger setting
-	 * for the given trigger matches the given value.
-	 * 
-	 * @param projects The projects to check
-	 * @param trigger The trigger to look for
-	 * @param value The trigger value to look for
-	 * @return <code>true</code> if one of the projects has a builder whose
-	 * trigger activation matches the provided value, and <code>false</code> otherwise.
-	 */
-	private static boolean matchingTrigger(IProject[] projects, int trigger, boolean value) {
-		for (int i = 0; i < projects.length; i++) {
-			if (!projects[i].isAccessible())
-				continue;
-			try {
-				IProjectDescription description = projects[i].getDescription();
-				ICommand[] buildSpec = description.getBuildSpec();
-				for (int j = 0; j < buildSpec.length; j++) {
-					if (buildSpec[j].isBuilding(trigger) == value)
-						return true;
-				}
-			} catch (CoreException e) {
-				//ignore projects that are not available
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Doesn't need to be instantiated
-	 */
-	private BuildUtilities() {
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java
deleted file mode 100644
index f6ba4e5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceAction.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.ide.ChooseWorkspaceData;
-import org.eclipse.ui.internal.ide.ChooseWorkspaceDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Implements the open workspace action. Opens a dialog prompting for a
- * directory and then restarts the IDE on that workspace.
- * 
- * @since 3.0
- */
-public class OpenWorkspaceAction extends Action implements
-        ActionFactory.IWorkbenchAction {
-
-    private static final String PROP_VM = "eclipse.vm"; //$NON-NLS-1$
-
-    private static final String PROP_VMARGS = "eclipse.vmargs"; //$NON-NLS-1$
-
-    private static final String PROP_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
-
-    private static final String PROP_EXIT_CODE = "eclipse.exitcode"; //$NON-NLS-1$
-
-    private static final String PROP_EXIT_DATA = "eclipse.exitdata"; //$NON-NLS-1$
-
-    private static final String CMD_DATA = "-data"; //$NON-NLS-1$
-
-    private static final String CMD_VMARGS = "-vmargs"; //$NON-NLS-1$
-
-    private static final String NEW_LINE = "\n"; //$NON-NLS-1$
-
-    private IWorkbenchWindow window;
-
-    /**
-     * Set definition for this action and text so that it will be used for
-     * File -&gt; Open Workspace in the argument window.
-     * 
-     * @param window
-     *            the window in which this action should appear
-     */
-    public OpenWorkspaceAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("OpenWorkspaceAction.text")); //$NON-NLS-1$
-
-        if (window == null)
-            throw new IllegalArgumentException();
-
-        // TODO help?
-
-        this.window = window;
-        setToolTipText(IDEWorkbenchMessages
-                .getString("OpenWorkspaceAction.toolTip")); //$NON-NLS-1$
-        setActionDefinitionId("org.eclipse.ui.file.openWorkspace"); //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.Action#dispose()
-     */
-    public void run() {
-        String path = promptForWorkspace();
-        if (path == null)
-            return;
-
-        String command_line = buildCommandLine(path);
-        if (command_line == null)
-            return;
-
-        System.setProperty(PROP_EXIT_CODE, Integer.toString(24));
-        System.setProperty(PROP_EXIT_DATA, command_line);
-        window.getWorkbench().restart();
-    }
-
-    /**
-     * Use the ChooseWorkspaceDialog to get the new workspace from the user.
-     * 
-     * @return a string naming the new workspace and null if cancel was selected
-     */
-    private String promptForWorkspace() {
-        // get the current workspace as the default
-        ChooseWorkspaceData data = new ChooseWorkspaceData(Platform
-                .getInstanceLocation().getURL());
-        ChooseWorkspaceDialog dialog = new ChooseWorkspaceDialog(window
-                .getShell(), data, true);
-        dialog.prompt(true);
-
-        // return null if the user changed their mind
-        String selection = data.getSelection();
-        if (selection == null)
-            return null;
-
-        // otherwise store the new selection and return the selection
-        data.writePersistedData();
-        return selection;
-    }
-
-    /**
-     * Create and return a string with command line options for eclipse.exe that
-     * will launch a new workbench that is the same as the currently running
-     * one, but using the argument directory as its workspace.
-     * 
-     * @param workspace
-     *            the directory to use as the new workspace
-     * @return a string of command line options or null on error
-     */
-    private String buildCommandLine(String workspace) {
-        String property = System.getProperty(PROP_VM);
-        if (property == null) {
-            MessageDialog
-                    .openError(
-                            window.getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("OpenWorkspaceAction.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .format(
-                                            "OpenWorkspaceAction.errorMessage", new Object[] { PROP_VM })); //$NON-NLS-1$
-            return null;
-        }
-
-        StringBuffer result = new StringBuffer(512);
-        result.append(property);
-        result.append(NEW_LINE);
-
-        // append the vmargs and commands. Assume that these already end in \n
-        String vmargs = System.getProperty(PROP_VMARGS);
-        if (vmargs != null)
-            result.append(vmargs);
-
-        // append the rest of the args, replacing or adding -data as required
-        property = System.getProperty(PROP_COMMANDS);
-        if (property == null) {
-            result.append(CMD_DATA);
-            result.append(NEW_LINE);
-            result.append(workspace);
-            result.append(NEW_LINE);
-        } else {
-            // find the index of the arg to replace its value
-            int cmd_data_pos = property.lastIndexOf(CMD_DATA);
-            if (cmd_data_pos != -1) {
-                cmd_data_pos += CMD_DATA.length() + 1;
-                result.append(property.substring(0, cmd_data_pos));
-                result.append(workspace);
-                result.append(property.substring(property.indexOf('\n',
-                        cmd_data_pos)));
-            } else {
-                result.append(CMD_DATA);
-                result.append(NEW_LINE);
-                result.append(workspace);
-                result.append(NEW_LINE);
-                result.append(property);
-            }
-        }
-
-        // put the vmargs back at the very end (the eclipse.commands property
-        // already contains the -vm arg)
-        if (vmargs != null) {
-            result.append(CMD_VMARGS);
-            result.append(NEW_LINE);
-            result.append(vmargs);
-        }
-
-        return result.toString();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.action.Action#dispose()
-     */
-    public void dispose() {
-        window = null;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.java
deleted file mode 100644
index e4e316e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/OpenWorkspaceFileAction.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.ui.internal.ide.actions;
-
-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.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.dialogs.OpenResourceDialog;
-
-/**
- * Implements the open resource action. 
- * Opens a dialog prompting for a file and opens the selected file in an editor.
- * 
- * @since 2.1
- */
-public class OpenWorkspaceFileAction extends Action implements
-        IWorkbenchWindowActionDelegate {
-    IWorkbenchWindow workbenchWindow;
-
-    /**
-     * Creates a new instance of the class.
-     */
-    public OpenWorkspaceFileAction() {
-        super();
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IIDEHelpContextIds.OPEN_WORKSPACE_FILE_ACTION);
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-     */
-    public void dispose() {
-        // do nothing
-    }
-
-    /**
-     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-     */
-    public void init(IWorkbenchWindow window) {
-        workbenchWindow = window;
-    }
-
-    /**
-     * Query the user for the resource that should be opened
-     * 
-     * @return the resource that should be opened or null if the 
-     * 	resource selection dialog was cancelled.
-     */
-    IFile queryFileResource() {
-        Shell parent = workbenchWindow.getShell();
-        IContainer input = ResourcesPlugin.getWorkspace().getRoot();
-
-        OpenResourceDialog dialog = new OpenResourceDialog(parent, input,
-                IResource.FILE);
-        int resultCode = dialog.open();
-        if (resultCode != IDialogConstants.OK_ID)
-            return null;
-
-        Object[] result = dialog.getResult();
-        if (result == null || result.length == 0
-                || result[0] instanceof IFile == false)
-            return null;
-
-        return (IFile) result[0];
-    }
-
-    /**
-     * Collect all resources in the workbench, open a dialog asking the user to
-     * select a file and open the file in an editor.
-     */
-    public void run(IAction action) {
-        IFile file = queryFileResource();
-
-        if (file == null)
-            return;
-        try {
-            IWorkbenchPage page = workbenchWindow.getActivePage();
-            if (page != null) {
-                IDE.openEditor(page, file, true);
-            }
-        } catch (CoreException x) {
-            String title = IDEWorkbenchMessages
-                    .getString("OpenWorkspaceFileAction.errorTitle"); //$NON-NLS-1$
-            String message = IDEWorkbenchMessages
-                    .getString("OpenWorkspaceFileAction.errorMessage"); //$NON-NLS-1$
-            IDEWorkbenchPlugin.log(title, x.getStatus());
-            ErrorDialog.openError(workbenchWindow.getShell(), title, message, x
-                    .getStatus());
-        }
-    }
-
-    /**
-     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        // do nothing
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.java
deleted file mode 100644
index 291a12f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ProjectPropertyDialogAction.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.ui.internal.ide.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.INullSelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.PartEventAction;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Implementation for the action Property on the Project menu.
- */
-public class ProjectPropertyDialogAction extends PartEventAction implements
-        INullSelectionListener, ActionFactory.IWorkbenchAction {
-
-    /**
-     * The workbench window; or <code>null</code> if this
-     * action has been <code>dispose</code>d.
-     */
-    private IWorkbenchWindow workbenchWindow;
-
-    /**
-     * Create a new dialog.
-     * 
-     * @param window the window
-     */
-    public ProjectPropertyDialogAction(IWorkbenchWindow window) {
-        super(new String());
-        if (window == null) {
-            throw new IllegalArgumentException();
-        }
-        this.workbenchWindow = window;
-        setText(IDEWorkbenchMessages.getString("Workbench.projectProperties")); //$NON-NLS-1$
-        setToolTipText(IDEWorkbenchMessages
-                .getString("Workbench.projectPropertiesToolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IIDEHelpContextIds.PROJECT_PROPERTY_DIALOG_ACTION);
-        workbenchWindow.getSelectionService().addSelectionListener(this);
-        workbenchWindow.getPartService().addPartListener(this);
-        setActionDefinitionId("org.eclipse.ui.project.properties"); //$NON-NLS-1$
-    }
-
-    /**
-     * Opens the project properties dialog.
-     */
-    public void run() {
-        IProject project = getProject();
-        if (project == null)
-            return;
-
-        SelProvider selProvider = new SelProvider();
-        selProvider.projectSelection = new StructuredSelection(project);
-        PropertyDialogAction propAction = new PropertyDialogAction(
-                workbenchWindow.getShell(), selProvider);
-        propAction.run();
-    }
-
-    /**
-     * Update the enablement state when a the selection changes.
-     */
-    public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-        setEnabled(getProject() != null);
-    }
-
-    /**
-     * Update the enablement state when a new part is activated.
-     */
-    public void partActivated(IWorkbenchPart part) {
-        super.partActivated(part);
-        setEnabled(getProject() != null);
-    }
-
-    /**
-     * Returns a project from the selection of the active part.
-     */
-    private IProject getProject() {
-        IWorkbenchPart part = getActivePart();
-        Object selection = null;
-        if (part instanceof IEditorPart) {
-            selection = ((IEditorPart) part).getEditorInput();
-        } else {
-            ISelection sel = workbenchWindow.getSelectionService()
-                    .getSelection();
-            if ((sel != null) && (sel instanceof IStructuredSelection))
-                selection = ((IStructuredSelection) sel).getFirstElement();
-        }
-        if (selection == null)
-            return null;
-        if (!(selection instanceof IAdaptable))
-            return null;
-        IResource resource = (IResource) ((IAdaptable) selection)
-                .getAdapter(IResource.class);
-        if (resource == null)
-            return null;
-        return resource.getProject();
-    }
-
-    /* (non-javadoc)
-     * Method declared on ActionFactory.IWorkbenchAction
-     */
-    public void dispose() {
-        if (workbenchWindow == null) {
-            // action has already been disposed
-            return;
-        }
-        workbenchWindow.getSelectionService().removeSelectionListener(this);
-        workbenchWindow.getPartService().removePartListener(this);
-        workbenchWindow = null;
-    }
-
-    /*
-     * Helper class to simulate a selection provider
-     */
-    private static final class SelProvider implements ISelectionProvider {
-        protected IStructuredSelection projectSelection = StructuredSelection.EMPTY;
-
-        public void addSelectionChangedListener(
-                ISelectionChangedListener listener) {
-            // do nothing
-        }
-
-        public ISelection getSelection() {
-            return projectSelection;
-        }
-
-        public void removeSelectionChangedListener(
-                ISelectionChangedListener listener) {
-            // do nothing
-        }
-
-        public void setSelection(ISelection selection) {
-            // do nothing
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java
deleted file mode 100644
index b3e3f6c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/QuickMenuAction.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ICommand;
-import org.eclipse.ui.commands.ICommandManager;
-import org.eclipse.ui.commands.IKeySequenceBinding;
-
-/**
- * A quick menu actions provides support to assign short cuts
- * to sub menus.
- * 
- * @since 3.0
- */
-public abstract class QuickMenuAction extends Action {
-
-    private static final int CHAR_INDENT = 3;
-
-    private Menu quickMenu;
-
-    /**
-     * Creates a new quick menu action with the given command id.
-     * 
-     * @param commandId the command id of the short cut used to open
-     *  the sub menu 
-     */
-    public QuickMenuAction(String commandId) {
-        setActionDefinitionId(commandId);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void run() {
-        Display display = Display.getCurrent();
-        if (display == null)
-            return;
-        Control focus = display.getFocusControl();
-        if (focus == null || focus.isDisposed())
-            return;
-
-        MenuManager menu = new MenuManager();
-        fillMenu(menu);
-        if (quickMenu != null) {
-            quickMenu.dispose();
-            quickMenu = null;
-        }
-        quickMenu = menu.createContextMenu(focus.getShell());
-        Point location = computeMenuLocation(focus, quickMenu);
-        if (location == null)
-            return;
-        quickMenu.setLocation(location);
-        quickMenu.setVisible(true);
-    }
-
-    public void dispose() {
-        if (quickMenu != null) {
-            quickMenu.dispose();
-            quickMenu = null;
-        }
-    }
-
-    /**
-     * Hook to fill a menu manager with the items of the sub menu.
-     * 
-     * @param menu the sub menu to fill
-     */
-    protected abstract void fillMenu(IMenuManager menu);
-
-    /**
-     * Returns the short cut assigned to the sub menu or <code>null</code> if
-     * no short cut is assigned.
-     * 
-     * @return the short cut as a human readable string or <code>null</code>
-     */
-    public String getShortCutString() {
-        final ICommandManager commandManager = PlatformUI.getWorkbench()
-                .getCommandSupport().getCommandManager();
-        final ICommand command = commandManager
-                .getCommand(getActionDefinitionId());
-        if (command.isDefined()) {
-            List l = command.getKeySequenceBindings();
-            if (!l.isEmpty()) {
-                IKeySequenceBinding binding = (IKeySequenceBinding) l.get(0);
-                return binding.getKeySequence().format();
-            }
-        }
-        return null; //$NON-NLS-1$
-    }
-
-    private Point computeMenuLocation(Control focus, Menu menu) {
-        Point cursorLocation = focus.getDisplay().getCursorLocation();
-        Rectangle clientArea = null;
-        Point result = null;
-        if (focus instanceof StyledText) {
-            StyledText styledText = (StyledText) focus;
-            clientArea = styledText.getClientArea();
-            result = computeMenuLocation(styledText);
-        } else if (focus instanceof Tree) {
-            Tree tree = (Tree) focus;
-            clientArea = tree.getClientArea();
-            result = computeMenuLocation(tree);
-        } else if (focus instanceof Table) {
-            Table table = (Table) focus;
-            clientArea = table.getClientArea();
-            result = computeMenuLocation(table);
-        }
-        if (result == null) {
-            result = focus.toControl(cursorLocation);
-        }
-        if (clientArea != null && !clientArea.contains(result)) {
-            result = new Point(clientArea.x + clientArea.width / 2,
-                    clientArea.y + clientArea.height / 2);
-        }
-        Rectangle shellArea = focus.getShell().getClientArea();
-        if (!shellArea.contains(focus.getShell().toControl(
-                focus.toDisplay(result)))) {
-            result = new Point(shellArea.x + shellArea.width / 2, shellArea.y
-                    + shellArea.height / 2);
-        }
-        return focus.toDisplay(result);
-    }
-
-    /**
-     * Hook to compute the menu location if the focus widget is
-     * a styled text widget.
-     * 
-     * @param text the styled text widget that has the focus
-     * 
-     * @return a widget relative position of the menu to pop up or
-     *  <code>null</code> if now position inside the widget can
-     *  be computed
-     */
-    protected Point computeMenuLocation(StyledText text) {
-        Point result = text.getLocationAtOffset(text.getCaretOffset());
-        result.y += text.getLineHeight();
-        if (!text.getClientArea().contains(result))
-            return null;
-        return result;
-    }
-
-    /**
-     * Hook to compute the menu location if the focus widget is
-     * a tree widget.
-     * 
-     * @param tree the tree widget that has the focus
-     * 
-     * @return a widget relative position of the menu to pop up or
-     *  <code>null</code> if now position inside the widget can
-     *  be computed
-     */
-    protected Point computeMenuLocation(Tree tree) {
-        TreeItem[] items = tree.getSelection();
-        Rectangle clientArea = tree.getClientArea();
-        switch (items.length) {
-        case 0:
-            return null;
-        case 1:
-            Rectangle bounds = items[0].getBounds();
-            Rectangle intersect = clientArea.intersection(bounds);
-            if (intersect != null && intersect.height == bounds.height) {
-                return new Point(Math.max(0, bounds.x
-                        + getAvarageCharWith(tree) * CHAR_INDENT), bounds.y
-                        + bounds.height);
-            } else {
-                return null;
-            }
-        default:
-            Rectangle[] rectangles = new Rectangle[items.length];
-            for (int i = 0; i < rectangles.length; i++) {
-                rectangles[i] = items[i].getBounds();
-            }
-            Point cursorLocation = tree.getDisplay().getCursorLocation();
-            Point result = findBestLocation(getIncludedPositions(rectangles,
-                    clientArea), tree.toControl(cursorLocation));
-            if (result != null)
-                result.x = result.x + getAvarageCharWith(tree) * CHAR_INDENT;
-            return result;
-        }
-    }
-
-    /**
-     * Hook to compute the menu location if the focus widget is
-     * a table widget.
-     * 
-     * @param table the table widget that has the focus
-     * 
-     * @return a widget relative position of the menu to pop up or
-     *  <code>null</code> if now position inside the widget can
-     *  be computed
-     */
-    protected Point computeMenuLocation(Table table) {
-        TableItem[] items = table.getSelection();
-        Rectangle clientArea = table.getClientArea();
-        switch (items.length) {
-        case 0: {
-            return null;
-        }
-        case 1: {
-            Rectangle bounds = items[0].getBounds(0);
-            Rectangle iBounds = items[0].getImageBounds(0);
-            Rectangle intersect = clientArea.intersection(bounds);
-            if (intersect != null && intersect.height == bounds.height) {
-                return new Point(Math.max(0, bounds.x + iBounds.width
-                        + getAvarageCharWith(table) * CHAR_INDENT), bounds.y
-                        + bounds.height);
-            } else {
-                return null;
-            }
-        }
-        default: {
-            Rectangle[] rectangles = new Rectangle[items.length];
-            for (int i = 0; i < rectangles.length; i++) {
-                rectangles[i] = items[i].getBounds(0);
-            }
-            Rectangle iBounds = items[0].getImageBounds(0);
-            Point cursorLocation = table.getDisplay().getCursorLocation();
-            Point result = findBestLocation(getIncludedPositions(rectangles,
-                    clientArea), table.toControl(cursorLocation));
-            if (result != null)
-                result.x = result.x + iBounds.width + getAvarageCharWith(table)
-                        * CHAR_INDENT;
-            return result;
-        }
-        }
-    }
-
-    private Point[] getIncludedPositions(Rectangle[] rectangles,
-            Rectangle widgetBounds) {
-        List result = new ArrayList();
-        for (int i = 0; i < rectangles.length; i++) {
-            Rectangle rectangle = rectangles[i];
-            Rectangle intersect = widgetBounds.intersection(rectangle);
-            if (intersect != null && intersect.height == rectangle.height) {
-                result.add(new Point(intersect.x, intersect.y
-                        + intersect.height));
-            }
-        }
-        return (Point[]) result.toArray(new Point[result.size()]);
-    }
-
-    private Point findBestLocation(Point[] points, Point relativeCursor) {
-        Point result = null;
-        double bestDist = Double.MAX_VALUE;
-        for (int i = 0; i < points.length; i++) {
-            Point point = points[i];
-            int a = 0;
-            int b = 0;
-            if (point.x > relativeCursor.x) {
-                a = point.x - relativeCursor.x;
-            } else {
-                a = relativeCursor.x - point.x;
-            }
-            if (point.y > relativeCursor.y) {
-                b = point.y - relativeCursor.y;
-            } else {
-                b = relativeCursor.y - point.y;
-            }
-            double dist = Math.sqrt(a * a + b * b);
-            if (dist < bestDist) {
-                result = point;
-                bestDist = dist;
-            }
-        }
-        return result;
-    }
-
-    private int getAvarageCharWith(Control control) {
-        GC gc = null;
-        try {
-            gc = new GC(control);
-            return gc.getFontMetrics().getAverageCharWidth();
-        } finally {
-            if (gc != null)
-                gc.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/RetargetActionWithDefault.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/RetargetActionWithDefault.java
deleted file mode 100644
index 6d7f03f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/RetargetActionWithDefault.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.actions.RetargetAction;
-
-/**
- * A specialization of RetargetAction that allows for specification of a default
- * handler when the active part does not supply one.  Enablement of this
- * action is based on enablement of the handler, or enablement of the default
- * handler if no explicit handler is available.
- * 
- * @since 3.1
- */
-public class RetargetActionWithDefault extends RetargetAction {
-
-	private IAction defaultHandler;
-
-	/**
-	 * Constructs a RetargetActionWithDefault with the given action id and text.
-	 * 
-	 * @param actionID the retargetable action id
-	 * @param text the action's text, or <code>null</code> if there is no text
-	 */
-	public RetargetActionWithDefault(String actionID, String text) {
-		super(actionID, text);
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on RetargetAction.
-	 */
-	protected void setActionHandler(IAction newHandler) {
-		super.setActionHandler(newHandler);
-		// Only set the default handler after clearing the old handler above.
-		// This triggers enablement updating on the default handler which 
-		// might be needed since the active part has changed.
-		if (newHandler == null)
-			super.setActionHandler(defaultHandler);
-	}
-
-	/**
-	 * Sets the default handler for this action.
-	 * @param handler An action handler, or <code>null</code>
-	 */
-	public void setDefaultHandler(IAction handler) {
-		this.defaultHandler = handler;
-		if (getActionHandler() == null && handler != null)
-			super.setActionHandler(handler);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java
deleted file mode 100644
index c688f87..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/SelectBuildWorkingSetAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * This action asks the user to select a working set, and then creates
- * and runs a corresponding BuildSetAction.
- * 
- * @since 3.0
- */
-public class SelectBuildWorkingSetAction extends Action implements
-        ActionFactory.IWorkbenchAction {
-    private IWorkbenchWindow window;
-
-    private IActionBarConfigurer actionBars;
-
-    public SelectBuildWorkingSetAction(IWorkbenchWindow window,
-            IActionBarConfigurer actionBars) {
-        super(IDEWorkbenchMessages.getString("SelectWorkingSetAction.text")); //$NON-NLS-1$
-        this.window = window;
-        this.actionBars = actionBars;
-    }
-
-    private IWorkingSet queryForWorkingSet() {
-        IWorkingSetManager manager = window.getWorkbench()
-                .getWorkingSetManager();
-        IWorkingSetSelectionDialog dialog = manager
-                .createWorkingSetSelectionDialog(window.getShell(), false);
-        dialog.open();
-        IWorkingSet[] sets = dialog.getSelection();
-        //check for cancel
-        if (sets == null || sets.length == 0)
-            return null;
-        return sets[0];
-    }
-
-    public void run() {
-        IWorkingSet set = queryForWorkingSet();
-        if (set != null) {
-            new BuildSetAction(set, window, actionBars).run();
-        }
-    }
-
-    public void dispose() {
-    }
-
-    public void setActionBars(IActionBarConfigurer actionBars) {
-        this.actionBars = actionBars;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java
deleted file mode 100644
index af9443a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/actions/ToggleAutoBuildAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.actions;
-
-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.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Action for toggling autobuild on or off.
- */
-public class ToggleAutoBuildAction extends Action implements
-        ActionFactory.IWorkbenchAction {
-    private IWorkbenchWindow window;
-
-    /**
-     * Creates a new ToggleAutoBuildAction
-     * @param window The window for parenting dialogs associated with this action
-     */
-    public ToggleAutoBuildAction(IWorkbenchWindow window) {
-        super(IDEWorkbenchMessages.getString("Workbench.buildAutomatically")); //$NON-NLS-1$
-        this.window = window;
-        setChecked(ResourcesPlugin.getWorkspace().isAutoBuilding());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.ActionFactory.IWorkbenchAction#dispose()
-     */
-    public void dispose() {
-        //nothing to dispose
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IAction#run()
-     */
-    public void run() {
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IWorkspaceDescription description = workspace.getDescription();
-        description.setAutoBuilding(!description.isAutoBuilding());
-        try {
-            workspace.setDescription(description);
-        } catch (CoreException e) {
-            ErrorDialog.openError(window.getShell(), null, null, e.getStatus());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
deleted file mode 100644
index 8cff4be..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/BuildOrderPreferencePage.java
+++ /dev/null
@@ -1,633 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.util.TreeSet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**	
- * Page used to determine what order projects will be built in 
- * by the workspace.
- */
-public class BuildOrderPreferencePage extends PreferencePage implements
-        IWorkbenchPreferencePage {
-
-    private IWorkbench workbench;
-
-    private Button defaultOrderButton;
-
-    private Label buildLabel;
-
-    private List buildList;
-
-    private Composite buttonComposite;
-
-    private IntegerFieldEditor maxItersField;
-
-    private String[] defaultBuildOrder;
-
-    private String[] customBuildOrder;
-
-    //Boolean to indicate if we have looked it up
-    private boolean notCheckedBuildOrder = true;
-
-    private final String UP_LABEL = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.up"); //$NON-NLS-1$
-
-    private final String DOWN_LABEL = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.down"); //$NON-NLS-1$
-
-    private final String ADD_LABEL = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.add"); //$NON-NLS-1$
-
-    private final String REMOVE_LABEL = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.remove"); //$NON-NLS-1$
-
-    private final String PROJECT_SELECTION_MESSAGE = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.selectOtherProjects"); //$NON-NLS-1$
-
-    private final String DEFAULTS_LABEL = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.useDefaults"); //$NON-NLS-1$
-
-    private final String LIST_LABEL = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.projectBuildOrder"); //$NON-NLS-1$
-
-    private final String NOTE_LABEL = IDEWorkbenchMessages
-            .getString("Preference.note"); //$NON-NLS-1$
-
-    private final String REMOVE_MESSAGE = IDEWorkbenchMessages
-            .getString("BuildOrderPreference.removeNote"); //$NON-NLS-1$
-
-    // whether or not the use defaults option was selected when Apply (or OK) was last pressed
-    // (or when the preference page was opened). This represents the most recent applied state.
-    private boolean defaultOrderInitiallySelected;
-
-    private IPropertyChangeListener validityChangeListener = new IPropertyChangeListener() {
-        public void propertyChange(PropertyChangeEvent event) {
-            if (event.getProperty().equals(FieldEditor.IS_VALID))
-                updateValidState();
-        }
-    };
-
-    /**
-     * Add another project to the list at the end.
-     */
-    private void addProject() {
-
-        String[] currentItems = this.buildList.getItems();
-
-        IProject[] allProjects = getWorkspace().getRoot().getProjects();
-
-        ILabelProvider labelProvider = new LabelProvider() {
-            public String getText(Object element) {
-                return (String) element;
-            }
-        };
-
-        SimpleListContentProvider contentsProvider = new SimpleListContentProvider();
-        contentsProvider
-                .setElements(sortedDifference(allProjects, currentItems));
-
-        ListSelectionDialog dialog = new ListSelectionDialog(this.getShell(),
-                this, contentsProvider, labelProvider,
-                PROJECT_SELECTION_MESSAGE);
-
-        if (dialog.open() != Window.OK)
-            return;
-
-        Object[] result = dialog.getResult();
-
-        int currentItemsLength = currentItems.length;
-        int resultLength = result.length;
-        String[] newItems = new String[currentItemsLength + resultLength];
-
-        System.arraycopy(currentItems, 0, newItems, 0, currentItemsLength);
-        System
-                .arraycopy(result, 0, newItems, currentItemsLength,
-                        result.length);
-        this.buildList.setItems(newItems);
-    }
-
-    /**
-     * Updates the valid state of the page.
-     */
-    private void updateValidState() {
-        setValid(maxItersField.isValid());
-    }
-
-    /**
-     * Create the list of build paths. If the current build order is empty make the list empty
-     * and disable it.
-     * @param composite - the parent to create the list in
-     * @param enabled - the boolean that indcates if the list will be sensitive initially or not
-     */
-    private void createBuildOrderList(Composite composite, boolean enabled) {
-
-        Font font = composite.getFont();
-
-        this.buildLabel = new Label(composite, SWT.NONE);
-        this.buildLabel.setText(LIST_LABEL);
-        this.buildLabel.setEnabled(enabled);
-        GridData gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.horizontalSpan = 2;
-        this.buildLabel.setLayoutData(gridData);
-        this.buildLabel.setFont(font);
-
-        this.buildList = new List(composite, SWT.BORDER | SWT.MULTI
-                | SWT.H_SCROLL | SWT.V_SCROLL);
-        this.buildList.setEnabled(enabled);
-        GridData data = new GridData();
-        //Set heightHint with a small value so the list size will be defined by 
-        //the space available in the dialog instead of resizing the dialog to
-        //fit all the items in the list.
-        data.heightHint = buildList.getItemHeight();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.grabExcessVerticalSpace = true;
-        this.buildList.setLayoutData(data);
-        this.buildList.setFont(font);
-    }
-
-    /**
-     * Create the widgets that are used to determine the build order.
-     *
-     * @param parent the parent composite
-     * @return the new control
-     */
-    protected Control createContents(Composite parent) {
-
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-                IIDEHelpContextIds.BUILD_ORDER_PREFERENCE_PAGE);
-
-        Font font = parent.getFont();
-
-        //The main composite
-        Composite composite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        composite.setLayout(layout);
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        composite.setLayoutData(data);
-        composite.setFont(font);
-
-        String[] buildOrder = getCurrentBuildOrder();
-        boolean useDefault = (buildOrder == null);
-
-        createDefaultPathButton(composite, useDefault);
-        // List always enabled so user can scroll list.
-        // Only the buttons need to be disabled.
-        createBuildOrderList(composite, true);
-        createListButtons(composite, !useDefault);
-
-        Composite noteComposite = createNoteComposite(font, composite,
-                NOTE_LABEL, REMOVE_MESSAGE);
-        GridData noteData = new GridData();
-        noteData.horizontalSpan = 2;
-        noteComposite.setLayoutData(noteData);
-
-        createSpacer(composite);
-
-        createMaxIterationsField(composite);
-
-        createSpacer(composite);
-
-        if (useDefault) {
-            this.buildList.setItems(getDefaultProjectOrder());
-        } else {
-            this.buildList.setItems(buildOrder);
-        }
-
-        return composite;
-
-    }
-
-    /**
-     * Adds in a spacer.
-     * 
-     * @param composite the parent composite
-     */
-    private void createSpacer(Composite composite) {
-        Label spacer = new Label(composite, SWT.NONE);
-        GridData spacerData = new GridData();
-        spacerData.horizontalSpan = 2;
-        spacer.setLayoutData(spacerData);
-    }
-
-    /**
-     * Create the default path button. Set it to selected based on the current workspace
-     * build path.
-     * @param composite org.eclipse.swt.widgets.Composite
-     * @param selected - the boolean that indicates the buttons initial state
-     */
-    private void createDefaultPathButton(Composite composite, boolean selected) {
-
-        defaultOrderInitiallySelected = selected;
-
-        this.defaultOrderButton = new Button(composite, SWT.LEFT | SWT.CHECK);
-        this.defaultOrderButton.setSelection(selected);
-        this.defaultOrderButton.setText(DEFAULTS_LABEL);
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                defaultsButtonSelected(defaultOrderButton.getSelection());
-            }
-        };
-        this.defaultOrderButton.addSelectionListener(listener);
-
-        GridData gridData = new GridData();
-        gridData.horizontalAlignment = GridData.FILL;
-        gridData.horizontalSpan = 2;
-        this.defaultOrderButton.setLayoutData(gridData);
-        this.defaultOrderButton.setFont(composite.getFont());
-    }
-
-    /**
-     * Create the buttons used to manipulate the list. These Add, Remove and Move Up or Down
-     * the list items.
-     * @param composite the parent of the buttons
-     * @param enableComposite - boolean that indicates if a composite should be enabled
-     */
-    private void createListButtons(Composite composite, boolean enableComposite) {
-
-        Font font = composite.getFont();
-
-        //Create an intermeditate composite to keep the buttons in the same column
-        this.buttonComposite = new Composite(composite, SWT.RIGHT);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        this.buttonComposite.setLayout(layout);
-        GridData gridData = new GridData();
-        gridData.verticalAlignment = GridData.FILL;
-        gridData.horizontalAlignment = GridData.FILL;
-        this.buttonComposite.setLayoutData(gridData);
-        this.buttonComposite.setFont(font);
-
-        Button upButton = new Button(this.buttonComposite, SWT.CENTER
-                | SWT.PUSH);
-        upButton.setText(UP_LABEL);
-        upButton.setEnabled(enableComposite);
-        upButton.setFont(font);
-        setButtonLayoutData(upButton);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                moveSelectionUp();
-            }
-        };
-        upButton.addSelectionListener(listener);
-
-        Button downButton = new Button(this.buttonComposite, SWT.CENTER
-                | SWT.PUSH);
-        downButton.setText(DOWN_LABEL);
-        downButton.setEnabled(enableComposite);
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                moveSelectionDown();
-            }
-        };
-        downButton.addSelectionListener(listener);
-        downButton.setFont(font);
-        setButtonLayoutData(downButton);
-
-        Button addButton = new Button(this.buttonComposite, SWT.CENTER
-                | SWT.PUSH);
-        addButton.setText(ADD_LABEL);
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                addProject();
-            }
-        };
-        addButton.addSelectionListener(listener);
-        addButton.setEnabled(enableComposite);
-        addButton.setFont(font);
-        setButtonLayoutData(addButton);
-
-        Button removeButton = new Button(this.buttonComposite, SWT.CENTER
-                | SWT.PUSH);
-        removeButton.setText(REMOVE_LABEL);
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                removeSelection();
-            }
-        };
-        removeButton.addSelectionListener(listener);
-        removeButton.setEnabled(enableComposite);
-        removeButton.setFont(font);
-        setButtonLayoutData(removeButton);
-
-    }
-
-    /**
-     * Create the field for the maximum number of iterations in the presence
-     * of cycles. 
-     */
-    private void createMaxIterationsField(Composite composite) {
-        Composite maxItersComposite = new Composite(composite, SWT.NONE);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        maxItersComposite.setLayoutData(gd);
-        maxItersComposite.setFont(composite.getFont());
-
-        maxItersField = new IntegerFieldEditor(
-                "", IDEWorkbenchMessages.getString("BuildOrderPreference.maxIterationsLabel"), maxItersComposite) { //$NON-NLS-1$ //$NON-NLS-2$
-            protected void doLoad() {
-                Text text = getTextControl();
-                if (text != null) {
-                    int value = getWorkspace().getDescription()
-                            .getMaxBuildIterations();
-                    text.setText(Integer.toString(value));
-                }
-            }
-
-            protected void doLoadDefault() {
-                Text text = getTextControl();
-                if (text != null) {
-                    int value = ResourcesPlugin.getPlugin()
-                            .getPluginPreferences().getDefaultInt(
-                                    ResourcesPlugin.PREF_MAX_BUILD_ITERATIONS);
-                    text.setText(Integer.toString(value));
-                }
-                valueChanged();
-            }
-
-            protected void doStore() {
-                // handled specially in performOK()
-                throw new UnsupportedOperationException();
-            }
-        };
-        maxItersField.setValidRange(1, Integer.MAX_VALUE);
-        maxItersField.setPage(this);
-        maxItersField.setPreferenceStore(getPreferenceStore());
-        maxItersField.setPropertyChangeListener(validityChangeListener);
-        maxItersField.load();
-    }
-
-    /**
-     * The defaults button has been selected - update the other widgets as required.
-     * @param selected - whether or not the defaults button got selected
-     */
-    private void defaultsButtonSelected(boolean selected) {
-        if (selected) {
-            setBuildOrderWidgetsEnablement(false);
-            //Cache the current value as the custom order
-            customBuildOrder = buildList.getItems();
-            buildList.setItems(getDefaultProjectOrder());
-
-        } else {
-            setBuildOrderWidgetsEnablement(true);
-            String[] buildOrder = getCurrentBuildOrder();
-            if (buildOrder == null)
-                buildList.setItems(getDefaultProjectOrder());
-            else
-                buildList.setItems(buildOrder);
-        }
-    }
-
-    /**
-     * Get the project names for the current custom build
-     * order stored in the workspace description.
-     * 
-     * @return java.lang.String[] or null if there is no setting
-     */
-    private String[] getCurrentBuildOrder() {
-        if (notCheckedBuildOrder) {
-            customBuildOrder = getWorkspace().getDescription().getBuildOrder();
-            notCheckedBuildOrder = false;
-        }
-
-        return customBuildOrder;
-    }
-
-    /**
-     * Get the project names in the default build order
-     * based on the current Workspace settings.
-     * 
-     * @return java.lang.String[]
-     */
-    private String[] getDefaultProjectOrder() {
-        if (defaultBuildOrder == null) {
-            IWorkspace workspace = getWorkspace();
-            IWorkspace.ProjectOrder projectOrder = getWorkspace()
-                    .computeProjectOrder(workspace.getRoot().getProjects());
-            IProject[] foundProjects = projectOrder.projects;
-            defaultBuildOrder = new String[foundProjects.length];
-            int foundSize = foundProjects.length;
-            for (int i = 0; i < foundSize; i++) {
-                defaultBuildOrder[i] = foundProjects[i].getName();
-            }
-        }
-
-        return defaultBuildOrder;
-    }
-
-    /**
-     * Return the Workspace the build order is from.
-     * @return org.eclipse.core.resources.IWorkspace
-     */
-    private IWorkspace getWorkspace() {
-        return ResourcesPlugin.getWorkspace();
-    }
-
-    /**
-     * Return whether or not searchElement is in testArray.
-     */
-    private boolean includes(String[] testArray, String searchElement) {
-
-        for (int i = 0; i < testArray.length; i++) {
-            if (searchElement.equals(testArray[i]))
-                return true;
-        }
-        return false;
-
-    }
-
-    /**
-     * See IWorkbenchPreferencePage. This class does nothing with he Workbench.
-     */
-    public void init(IWorkbench workbench) {
-        this.workbench = workbench;
-        setPreferenceStore(workbench.getPreferenceStore());
-    }
-
-    /**
-     * Move the current selection in the build list down.
-     */
-    private void moveSelectionDown() {
-
-        //Only do this operation on a single selection
-        if (this.buildList.getSelectionCount() == 1) {
-            int currentIndex = this.buildList.getSelectionIndex();
-            if (currentIndex < this.buildList.getItemCount() - 1) {
-                String elementToMove = this.buildList.getItem(currentIndex);
-                this.buildList.remove(currentIndex);
-                this.buildList.add(elementToMove, currentIndex + 1);
-                this.buildList.select(currentIndex + 1);
-            }
-        }
-    }
-
-    /**
-     * Move the current selection in the build list up.
-     */
-    private void moveSelectionUp() {
-
-        int currentIndex = this.buildList.getSelectionIndex();
-
-        //Only do this operation on a single selection
-        if (currentIndex > 0 && this.buildList.getSelectionCount() == 1) {
-            String elementToMove = this.buildList.getItem(currentIndex);
-            this.buildList.remove(currentIndex);
-            this.buildList.add(elementToMove, currentIndex - 1);
-            this.buildList.select(currentIndex - 1);
-        }
-    }
-
-    /**
-     * Performs special processing when this page's Defaults button has been pressed.
-     * In this case change the defaultOrderButton to have it's selection set to true.
-     */
-    protected void performDefaults() {
-        this.defaultOrderButton.setSelection(true);
-        defaultsButtonSelected(true);
-        maxItersField.loadDefault();
-        super.performDefaults();
-    }
-
-    /** 
-     * OK has been pressed. If the defualt button is pressed then reset the build order to false;
-     * otherwise set it to the contents of the list.
-     */
-    public boolean performOk() {
-
-        String[] buildOrder = null;
-        boolean useDefault = defaultOrderButton.getSelection();
-
-        // if use defaults is turned off
-        if (!useDefault)
-            buildOrder = buildList.getItems();
-
-        //Get a copy of the description from the workspace, set the build order and then
-        //apply it to the workspace.
-        IWorkspaceDescription description = getWorkspace().getDescription();
-        description.setBuildOrder(buildOrder);
-        description.setMaxBuildIterations(maxItersField.getIntValue());
-        try {
-            getWorkspace().setDescription(description);
-        } catch (CoreException exception) {
-            //failed - return false
-            return false;
-        }
-
-        // Perform auto-build if use default is off (because
-        // order could have changed) or if use default setting
-        // was changed.
-        if (!useDefault || (useDefault != defaultOrderInitiallySelected)) {
-            defaultOrderInitiallySelected = useDefault;
-            // If auto build is turned on, then do a global incremental
-            // build on all the projects.
-            if (ResourcesPlugin.getWorkspace().isAutoBuilding()) {
-                GlobalBuildAction action = new GlobalBuildAction(workbench
-                        .getActiveWorkbenchWindow(),
-                        IncrementalProjectBuilder.INCREMENTAL_BUILD);
-                action.doBuild();
-            }
-        }
-
-        // Clear the custom build order cache
-        customBuildOrder = null;
-
-        return true;
-    }
-
-    /**
-     * Remove the current selection in the build list.
-     */
-    private void removeSelection() {
-
-        this.buildList.remove(this.buildList.getSelectionIndices());
-    }
-
-    /**
-     * Set the widgets that select build order to be enabled or diabled.
-     * @param value boolean
-     */
-    private void setBuildOrderWidgetsEnablement(boolean value) {
-
-        // Only change enablement of buttons. Leave list alone
-        // because you can't scroll it when disabled.
-        Control[] children = this.buttonComposite.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            children[i].setEnabled(value);
-        }
-    }
-
-    /**
-     * Return a sorted array of the names of the projects that are already in the currently 
-     * displayed names.
-     * @return String[]
-     * @param allProjects - all of the projects in the workspace 
-     * @param currentlyDisplayed - the names of the projects already being displayed
-     */
-    private String[] sortedDifference(IProject[] allProjects,
-            String[] currentlyDisplayed) {
-
-        TreeSet difference = new TreeSet();
-
-        for (int i = 0; i < allProjects.length; i++) {
-            if (!includes(currentlyDisplayed, allProjects[i].getName()))
-                difference.add(allProjects[i].getName());
-        }
-
-        String[] returnValue = new String[difference.size()];
-        difference.toArray(returnValue);
-        return returnValue;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java
deleted file mode 100644
index bcf1349..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CleanDialog.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-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.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.GlobalBuildAction;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.actions.BuildUtilities;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Dialog that asks the user to confirm a clean operation, and to configure
- * settings in relation to the clean. Clicking ok in the dialog will perform the
- * clean operation.
- * 
- * @since 3.0
- */
-public class CleanDialog extends MessageDialog {
-    private Button allButton, selectedButton, buildNowButton;
-
-    private CheckboxTableViewer projectNames;
-
-    private Object[] selection;
-
-    private IWorkbenchWindow window;
-
-    /**
-     * Gets the text of the clean dialog, depending on whether the
-     * workspace is currently in autobuild mode.
-     * @return String the question the user will be asked.
-     */
-    private static String getQuestion() {
-        boolean autoBuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
-        if (autoBuilding)
-            return IDEWorkbenchMessages.getString("CleanDialog.buildCleanAuto"); //$NON-NLS-1$
-        return IDEWorkbenchMessages.getString("CleanDialog.buildCleanManual"); //$NON-NLS-1$
-    }
-
-    /**
-     * Creates a new clean dialog.
-     * 
-     * @param window the window to create it in
-     * @param selection the currently selected projects (may be empty)
-     */
-    public CleanDialog(IWorkbenchWindow window, IProject[] selection) {
-        super(
-                window.getShell(),
-                IDEWorkbenchMessages.getString("CleanDialog.title"), null, getQuestion(), QUESTION, new String[] { //$NON-NLS-1$
-                IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL }, 0);
-        this.window = window;
-        this.selection = selection;
-        if (this.selection == null)
-            this.selection = new Object[0];
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-     */
-    protected void buttonPressed(int buttonId) {
-        final boolean cleanAll = allButton.getSelection();
-        final boolean buildAll = buildNowButton != null
-                && buildNowButton.getSelection();
-        super.buttonPressed(buttonId);
-        if (buttonId != IDialogConstants.OK_ID)
-        	return;
-        //batching changes ensures that autobuild runs after cleaning
-    	WorkspaceJob cleanJob = new WorkspaceJob(IDEWorkbenchMessages.getString("CleanDialog.taskName")) { //$NON-NLS-1$
-			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-                doClean(cleanAll, monitor);
-                //see if a build was requested
-                if (buildAll) {
-                    //start an immediate workspace build
-                    GlobalBuildAction build = new GlobalBuildAction(window,
-                            IncrementalProjectBuilder.INCREMENTAL_BUILD);
-                    build.run();
-                }
-                return Status.OK_STATUS;
-    		}
-    	};
-        cleanJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory()
-                .buildRule());
-        cleanJob.setUser(true);
-        cleanJob.schedule();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected Control createCustomArea(Composite parent) {
-        Composite radioGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = layout.marginHeight = 0;
-        layout.numColumns = 3;
-        radioGroup.setLayout(layout);
-        radioGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-        SelectionListener updateEnablement = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                updateEnablement();
-            }
-        };
-
-        //first row
-        allButton = new Button(radioGroup, SWT.RADIO);
-        allButton.setText(IDEWorkbenchMessages
-                .getString("CleanDialog.cleanAllButton")); //$NON-NLS-1$
-        allButton.setSelection(true);
-        allButton.addSelectionListener(updateEnablement);
-        //empty label to fill rest of grid row
-        new Label(radioGroup, SWT.NONE);
-        new Label(radioGroup, SWT.NONE);
-
-        //second row
-        selectedButton = new Button(radioGroup, SWT.RADIO);
-        selectedButton.setText(IDEWorkbenchMessages
-                .getString("CleanDialog.cleanSelectedButton")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        selectedButton.setLayoutData(data);
-        selectedButton.addSelectionListener(updateEnablement);
-        createProjectSelectionTable(radioGroup);
-        //only prompt for immediate build if autobuild is off
-        if (!ResourcesPlugin.getWorkspace().isAutoBuilding()) {
-            buildNowButton = new Button(parent, SWT.CHECK);
-            buildNowButton.setText(IDEWorkbenchMessages
-                    .getString("CleanDialog.buildNowButton")); //$NON-NLS-1$
-            buildNowButton.setSelection(true);
-            buildNowButton.setLayoutData(new GridData(
-                    GridData.HORIZONTAL_ALIGN_BEGINNING));
-        }
-        return radioGroup;
-    }
-
-    private void createProjectSelectionTable(Composite radioGroup) {
-    	projectNames = CheckboxTableViewer.newCheckList(radioGroup, SWT.BORDER);
-    	projectNames.setContentProvider(new WorkbenchContentProvider());
-    	projectNames.setLabelProvider(new WorkbenchLabelProvider());
-    	projectNames.setSorter(new ResourceSorter(ResourceSorter.NAME));
-    	projectNames.addFilter(new ViewerFilter() {
-    		private final IProject[] projectHolder = new IProject[1];
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if (!(element instanceof IProject))
-					return false;
-				IProject project = (IProject) element;
-				if (!project.isAccessible())
-					return false;
-				projectHolder[0] = project;
-				return BuildUtilities.isEnabled(projectHolder, IncrementalProjectBuilder.CLEAN_BUILD);
-			}
-		});
-    	projectNames.setInput(ResourcesPlugin.getWorkspace().getRoot());
-    	GridData data = new GridData(GridData.FILL_BOTH);
-    	data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-    	data.heightHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-    	projectNames.getTable().setLayoutData(data);
-    	projectNames.setCheckedElements(selection);
-    	//table is disabled to start because all button is selected
-    	projectNames.getTable().setEnabled(selectedButton.getSelection());
-    	projectNames.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				selection = projectNames.getCheckedElements();
-				updateEnablement();
-			}
-		});
-	}
-
-	/**
-	 * Performs the actual clean operation.
-	 * @param cleanAll if <code>true</true> clean all projects
-	 * @param monitor The monitor that the build will report to
-	 * @throws CoreException thrown if there is a problem from the
-	 * core builder.
-	 */
-	protected void doClean(boolean cleanAll, IProgressMonitor monitor)
-	        throws CoreException {
-	    if (cleanAll)
-	        ResourcesPlugin.getWorkspace().build(
-	                IncrementalProjectBuilder.CLEAN_BUILD, monitor);
-	    else {
-	        try {
-	            monitor.beginTask(IDEWorkbenchMessages
-	                    .getString("CleanDialog.taskName"), //$NON-NLS-1$
-	                    selection.length);
-	            for (int i = 0; i < selection.length; i++)
-	                ((IProject) selection[i]).build(
-	                        IncrementalProjectBuilder.CLEAN_BUILD,
-	                        new SubProgressMonitor(monitor, 1));
-	        } finally {
-	            monitor.done();
-	        }
-	    }
-	}
-
-    /**
-     * Updates the enablement of the dialog's ok button based
-     * on the current choices in the dialog.
-     */
-    protected void updateEnablement() {
-    	projectNames.getTable().setEnabled(selectedButton.getSelection());
-        boolean enabled = allButton.getSelection() || selection.length > 0;
-        getButton(OK).setEnabled(enabled);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java
deleted file mode 100644
index f1f36b2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ConfigurationLogUpdateSection.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.PrintWriter;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.about.ISystemSummarySection;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.update.configuration.IActivity;
-import org.eclipse.update.configuration.IInstallConfiguration;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.core.SiteManager;
-
-/**
- * Writes information about the update configurer into the system summary.
- * 
- * @since 3.0
- */
-public class ConfigurationLogUpdateSection implements ISystemSummarySection {
-    public void write(PrintWriter writer) {
-        ILocalSite site;
-        try {
-            site = SiteManager.getLocalSite();
-        } catch (CoreException e) {
-            e.printStackTrace(writer);
-            return;
-        }
-        IInstallConfiguration[] configurations = site.getConfigurationHistory();
-        for (int i = 0; i < configurations.length; i++) {
-            writer.println();
-            if (i > 0)
-                writer
-                        .println("----------------------------------------------------"); //$NON-NLS-1$
-
-            writer
-                    .println(IDEWorkbenchMessages
-                            .format(
-                                    "SystemSummary.configuration", new Object[] { configurations[i].getLabel() })); //$NON-NLS-1$
-            writer
-                    .println(IDEWorkbenchMessages
-                            .format(
-                                    "SystemSummary.isCurrentConfiguration", new Object[] { new Boolean(configurations[i].isCurrent()) })); //$NON-NLS-1$ 
-            IActivity[] activities = configurations[i].getActivities();
-            for (int j = 0; j < activities.length; j++) {
-                writer.println();
-                writer
-                        .println(IDEWorkbenchMessages
-                                .format(
-                                        "SystemSummary.date", new Object[] { activities[j].getDate() })); //$NON-NLS-1$
-                writer
-                        .println(IDEWorkbenchMessages
-                                .format(
-                                        "SystemSummary.target", new Object[] { activities[j].getLabel() })); //$NON-NLS-1$
-                writer
-                        .println(IDEWorkbenchMessages
-                                .format(
-                                        "SystemSummary.action", new Object[] { getActionLabel(activities[j]) })); //$NON-NLS-1$
-                writer
-                        .println(IDEWorkbenchMessages
-                                .format(
-                                        "SystemSummary.status", new Object[] { getStatusLabel(activities[j]) })); //$NON-NLS-1$
-            }
-        }
-    }
-
-    private String getActionLabel(IActivity activity) {
-        int action = activity.getAction();
-        switch (action) {
-        case IActivity.ACTION_CONFIGURE:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.enabled"); //$NON-NLS-1$
-        case IActivity.ACTION_FEATURE_INSTALL:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.featureInstalled"); //$NON-NLS-1$
-        case IActivity.ACTION_FEATURE_REMOVE:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.featureRemoved"); //$NON-NLS-1$
-        case IActivity.ACTION_SITE_INSTALL:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.siteInstalled"); //$NON-NLS-1$
-        case IActivity.ACTION_SITE_REMOVE:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.siteRemoved"); //$NON-NLS-1$
-        case IActivity.ACTION_UNCONFIGURE:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.disabled"); //$NON-NLS-1$
-        case IActivity.ACTION_REVERT:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.revert"); //$NON-NLS-1$
-        case IActivity.ACTION_RECONCILIATION:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.reconcile"); //$NON-NLS-1$
-        case IActivity.ACTION_ADD_PRESERVED:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.preserved"); //$NON-NLS-1$
-        default:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.unknown"); //$NON-NLS-1$
-        }
-    }
-
-    private String getStatusLabel(IActivity activity) {
-        switch (activity.getStatus()) {
-        case IActivity.STATUS_OK:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.status.success"); //$NON-NLS-1$
-        case IActivity.STATUS_NOK:
-            return IDEWorkbenchMessages
-                    .getString("SystemSummary.activity.status.failure"); //$NON-NLS-1$
-        }
-        return IDEWorkbenchMessages
-                .getString("SystemSummary.activity.status.unknown"); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java
deleted file mode 100644
index ec737f4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateLinkedResourceGroup.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IPathVariableManager;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Widget group for specifying a linked file or folder target.
- * 
- * @since 2.1
- */
-public class CreateLinkedResourceGroup {
-    private Listener listener;
-
-    private String linkTarget = ""; //$NON-NLS-1$
-
-    private int type;
-
-    private boolean createLink = false;
-
-    // used to compute layout sizes
-    private FontMetrics fontMetrics;
-
-    // widgets
-    private Composite groupComposite;
-
-    private Text linkTargetField;
-
-    private Button browseButton;
-
-    private Button variablesButton;
-
-    private Label resolvedPathLabelText;
-
-    private Label resolvedPathLabelData;
-
-    /**
-     * Creates a link target group 
-     *
-     * @param type specifies the type of resource to link to. 
-     * 	<code>IResource.FILE</code> or <code>IResource.FOLDER</code>
-     * @param listener listener to notify when one of the widgets'
-     * 	value is changed.
-     */
-    public CreateLinkedResourceGroup(int type, Listener listener) {
-        this.type = type;
-        this.listener = listener;
-    }
-
-    /**
-     * Creates the widgets 
-     * 
-     * @param parent parent composite of the widget group
-     * @return the widget group
-     */
-    public Composite createContents(Composite parent) {
-        Font font = parent.getFont();
-        initializeDialogUnits(parent);
-        // top level group
-        groupComposite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        groupComposite.setLayout(layout);
-        groupComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.FILL_HORIZONTAL));
-        groupComposite.setFont(font);
-
-        final Button createLinkButton = new Button(groupComposite, SWT.CHECK);
-        if (type == IResource.FILE)
-            createLinkButton.setText(IDEWorkbenchMessages
-                    .getString("CreateLinkedResourceGroup.linkFileButton")); //$NON-NLS-1$
-        else
-            createLinkButton.setText(IDEWorkbenchMessages
-                    .getString("CreateLinkedResourceGroup.linkFolderButton")); //$NON-NLS-1$
-        createLinkButton.setSelection(createLink);
-        createLinkButton.setFont(font);
-        SelectionListener selectionListener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                createLink = createLinkButton.getSelection();
-                browseButton.setEnabled(createLink);
-                variablesButton.setEnabled(createLink);
-                linkTargetField.setEnabled(createLink);
-                if (listener != null)
-                    listener.handleEvent(new Event());
-            }
-        };
-        createLinkButton.addSelectionListener(selectionListener);
-
-        createLinkLocationGroup(groupComposite, createLink);
-        return groupComposite;
-    }
-
-    /**
-     * Creates the link target location widgets.
-     *
-     * @param locationGroup the parent composite
-     * @param enabled sets the initial enabled state of the widgets
-     */
-    private void createLinkLocationGroup(Composite locationGroup,
-            boolean enabled) {
-        Font font = locationGroup.getFont();
-        Button button = new Button(locationGroup, SWT.CHECK);
-        int indent = button.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-
-        button.dispose();
-
-        // linkTargetGroup is necessary to decouple layout from 
-        // resolvedPathGroup layout
-        Composite linkTargetGroup = new Composite(locationGroup, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        linkTargetGroup.setLayout(layout);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.horizontalIndent = indent;
-        linkTargetGroup.setLayoutData(data);
-        linkTargetGroup.setFont(font);
-
-        // link target location entry field
-        linkTargetField = new Text(linkTargetGroup, SWT.BORDER);
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-        linkTargetField.setLayoutData(data);
-        linkTargetField.setFont(font);
-        linkTargetField.setEnabled(enabled);
-        linkTargetField.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                linkTarget = linkTargetField.getText();
-                resolveVariable();
-                if (listener != null)
-                    listener.handleEvent(new Event());
-            }
-        });
-        // browse button
-        browseButton = new Button(linkTargetGroup, SWT.PUSH);
-        setButtonLayoutData(browseButton);
-        browseButton.setFont(font);
-        browseButton.setText(IDEWorkbenchMessages
-                .getString("CreateLinkedResourceGroup.browseButton")); //$NON-NLS-1$
-        browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLinkTargetBrowseButtonPressed();
-            }
-        });
-        browseButton.setEnabled(enabled);
-
-        // variables button
-        variablesButton = new Button(linkTargetGroup, SWT.PUSH);
-        setButtonLayoutData(variablesButton);
-        variablesButton.setFont(font);
-        variablesButton.setText(IDEWorkbenchMessages
-                .getString("CreateLinkedResourceGroup.variablesButton")); //$NON-NLS-1$
-        variablesButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleVariablesButtonPressed();
-            }
-        });
-        variablesButton.setEnabled(enabled);
-
-        Composite resolvedPathGroup = new Composite(locationGroup, SWT.NONE);
-        layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        resolvedPathGroup.setLayout(layout);
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        data.horizontalIndent = indent;
-        resolvedPathGroup.setLayoutData(data);
-        resolvedPathGroup.setFont(font);
-
-        resolvedPathLabelText = new Label(resolvedPathGroup, SWT.SINGLE);
-        resolvedPathLabelText.setText(IDEWorkbenchMessages
-                .getString("CreateLinkedResourceGroup.resolvedPathLabel")); //$NON-NLS-1$
-        resolvedPathLabelText.setVisible(false);
-        resolvedPathLabelText.setFont(font);
-
-        resolvedPathLabelData = new Label(resolvedPathGroup, SWT.SINGLE);
-        data = new GridData(GridData.FILL_HORIZONTAL);
-        resolvedPathLabelData.setLayoutData(data);
-        resolvedPathLabelData.setVisible(false);
-        resolvedPathLabelData.setFont(font);
-
-        if (linkTarget != null)
-            linkTargetField.setText(linkTarget);
-    }
-
-    /**
-     * Returns a new status object with the given severity and message.
-     * 
-     * @return a new status object with the given severity and message.
-     */
-    private IStatus createStatus(int severity, String message) {
-        return new Status(severity, IDEWorkbenchPlugin.getDefault()
-                .getDescriptor().getUniqueIdentifier(), severity, message, null);
-    }
-
-    /**
-     * Disposes the group's widgets. 
-     */
-    public void dispose() {
-        if (groupComposite != null && groupComposite.isDisposed() == false)
-            groupComposite.dispose();
-    }
-
-    /**
-     * Returns the link target location entered by the user. 
-     *
-     * @return the link target location entered by the user. null if the user
-     * 	chose not to create a link.
-     */
-    public String getLinkTarget() {
-        if (createLink)
-            return linkTarget;
-
-        return null;
-    }
-
-    /**
-     * Opens a file or directory browser depending on the link type.
-     */
-    private void handleLinkTargetBrowseButtonPressed() {
-        File file = null;
-        String selection = null;
-
-        if ("".equals(linkTarget) == false) { //$NON-NLS-1$
-            file = new File(linkTarget);
-            if (file.exists() == false)
-                file = null;
-        }
-        if (type == IResource.FILE) {
-            FileDialog dialog = new FileDialog(linkTargetField.getShell());
-            if (file != null) {
-                if (file.isFile())
-                    dialog.setFileName(linkTarget);
-                else
-                    dialog.setFilterPath(linkTarget);
-            }
-            selection = dialog.open();
-        } else {
-            DirectoryDialog dialog = new DirectoryDialog(linkTargetField
-                    .getShell());
-            if (file != null) {
-                String path = linkTarget;
-                if (file.isFile())
-                    path = file.getParent();
-                if (path != null)
-                    dialog.setFilterPath(path);
-            }
-            dialog
-                    .setMessage(IDEWorkbenchMessages
-                            .getString("CreateLinkedResourceGroup.targetSelectionLabel")); //$NON-NLS-1$
-            selection = dialog.open();
-        }
-        if (selection != null)
-            linkTargetField.setText(selection);
-    }
-
-    /**
-     * Opens a path variable selection dialog
-     */
-    private void handleVariablesButtonPressed() {
-        int variableTypes = IResource.FOLDER;
-
-        // allow selecting file and folder variables when creating a 
-        // linked file
-        if (type == IResource.FILE)
-            variableTypes |= IResource.FILE;
-
-        PathVariableSelectionDialog dialog = new PathVariableSelectionDialog(
-                linkTargetField.getShell(), variableTypes);
-        if (dialog.open() == IDialogConstants.OK_ID) {
-            String[] variableNames = (String[]) dialog.getResult();
-            if (variableNames != null && variableNames.length == 1)
-                linkTargetField.setText(variableNames[0]);
-        }
-    }
-
-    /**
-     * Initializes the computation of horizontal and vertical dialog units
-     * based on the size of current font.
-     * <p>
-     * This method must be called before <code>setButtonLayoutData</code> 
-     * is called.
-     * </p>
-     *
-     * @param control a control from which to obtain the current font
-     */
-    protected void initializeDialogUnits(Control control) {
-        // Compute and store a font metric
-        GC gc = new GC(control);
-        gc.setFont(control.getFont());
-        fontMetrics = gc.getFontMetrics();
-        gc.dispose();
-    }
-
-    /**
-     * Tries to resolve the value entered in the link target field as 
-     * a variable, if the value is a relative path.
-     * Displays the resolved value if the entered value is a variable.
-     */
-    private void resolveVariable() {
-        IPathVariableManager pathVariableManager = ResourcesPlugin
-                .getWorkspace().getPathVariableManager();
-        IPath path = new Path(linkTarget);
-        IPath resolvedPath = pathVariableManager.resolvePath(path);
-
-        if (path.equals(resolvedPath)) {
-            resolvedPathLabelText.setVisible(false);
-            resolvedPathLabelData.setVisible(false);
-        } else {
-            resolvedPathLabelText.setVisible(true);
-            resolvedPathLabelData.setVisible(true);
-        }
-        resolvedPathLabelData.setText(resolvedPath.toOSString());
-    }
-
-    /**
-     * Sets the <code>GridData</code> on the specified button to
-     * be one that is spaced for the current dialog page units. The
-     * method <code>initializeDialogUnits</code> must be called once
-     * before calling this method for the first time.
-     *
-     * @param button the button to set the <code>GridData</code>
-     * @return the <code>GridData</code> set on the specified button
-     */
-    private GridData setButtonLayoutData(Button button) {
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-        int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics,
-                IDialogConstants.BUTTON_WIDTH);
-        data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT,
-                SWT.DEFAULT, true).x);
-        button.setLayoutData(data);
-        return data;
-    }
-
-    /**
-     * Sets the value of the link target field
-     * 
-     * @param target the value of the link target field
-     */
-    public void setLinkTarget(String target) {
-        linkTarget = target;
-        if (linkTargetField != null && linkTargetField.isDisposed() == false)
-            linkTargetField.setText(target);
-    }
-
-    /**
-     * Validates the type of the given file against the link type specified
-     * in the constructor.
-     * 
-     * @param linkTargetFile file to validate
-     * @return IStatus indicating the validation result. IStatus.OK if the 
-     * 	given file is valid.
-     */
-    private IStatus validateFileType(File linkTargetFile) {
-        if (type == IResource.FILE && linkTargetFile.isFile() == false) {
-            return createStatus(IStatus.ERROR, IDEWorkbenchMessages
-                    .getString("CreateLinkedResourceGroup.linkTargetNotFile")); //$NON-NLS-1$
-        } else if (type == IResource.FOLDER
-                && linkTargetFile.isDirectory() == false) {
-            return createStatus(IStatus.ERROR, IDEWorkbenchMessages
-                    .getString("CreateLinkedResourceGroup.linkTargetNotFolder")); //$NON-NLS-1$
-        }
-        return createStatus(IStatus.OK, ""); //$NON-NLS-1$
-    }
-
-    /**
-     * Validates this page's controls.
-     *
-     * @return IStatus indicating the validation result. IStatus.OK if the 
-     * 	specified link target is valid given the linkHandle.
-     */
-    public IStatus validateLinkLocation(IResource linkHandle) {
-        if (linkTargetField == null || linkTargetField.isDisposed())
-            return createStatus(IStatus.OK, ""); //$NON-NLS-1$
-
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        IPath path = new Path(linkTarget);
-
-        if (createLink == false)
-            return createStatus(IStatus.OK, ""); //$NON-NLS-1$
-
-        IStatus locationStatus = workspace.validateLinkLocation(linkHandle,
-                path);
-        if (locationStatus.getSeverity() == IStatus.ERROR)
-            return locationStatus;
-
-        // use the resolved link target name
-        String resolvedLinkTarget = resolvedPathLabelData.getText();
-        path = new Path(resolvedLinkTarget);
-        File linkTargetFile = new Path(resolvedLinkTarget).toFile();
-        if (linkTargetFile.exists()) {
-            IStatus fileTypeStatus = validateFileType(linkTargetFile);
-            if (fileTypeStatus.isOK() == false)
-                return fileTypeStatus;
-        } else if (locationStatus.getSeverity() == IStatus.OK) {
-            // locationStatus takes precedence over missing location warning.
-            return createStatus(
-                    IStatus.WARNING,
-                    IDEWorkbenchMessages
-                            .getString("CreateLinkedResourceGroup.linkTargetNonExistent")); //$NON-NLS-1$	
-        }
-        return locationStatus;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.java
deleted file mode 100644
index e53196c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectStep.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.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Represents the create project step in a multi-step
- * wizard.
- */
-public class CreateProjectStep extends WizardStep {
-    private CreateProjectWizard stepWizard;
-
-    /**
-     * Creates the project creation step
-     * 
-     * @param number the step order number
-     * @param page the wizard page containing the new project name and location
-     * @param wizard the multi-step wizard for collecting new project information
-     */
-    public CreateProjectStep(int number,
-            WizardNewProjectNameAndLocationPage page, NewProjectWizard wizard) {
-        super(number);
-        stepWizard = new CreateProjectWizard(page, wizard);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public String getLabel() {
-        return IDEWorkbenchMessages.getString("CreateProjectStep.label"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public String getDetails() {
-        return IDEWorkbenchMessages
-                .format(
-                        "CreateProjectStep.details", new Object[] { stepWizard.getProjectName() }); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public IWizard getWizard() {
-        return stepWizard;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.java
deleted file mode 100644
index 14e042a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/CreateProjectWizard.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.ui.internal.ide.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-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.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Internal workbench wizard to create a project
- * resource in the workspace. This project will have
- * no capabilities when created. This wizard is intended
- * to be used by the CreateProjectStep class only.
- */
-public class CreateProjectWizard extends Wizard {
-    private NewProjectWizard wizard;
-
-    private WizardNewProjectNameAndLocationPage page;
-
-    /**
-     * Creates an empty wizard for creating a new project
-     * in the workspace.
-     */
-    /* package */CreateProjectWizard(WizardNewProjectNameAndLocationPage page,
-            NewProjectWizard wizard) {
-        super();
-        this.page = page;
-        this.wizard = wizard;
-    }
-
-    /**
-     * Creates a new project resource with the entered name.
-     *
-     * @return the created project resource, or <code>null</code> if the project
-     *    was not created
-     */
-    private IProject createNewProject() {
-        // get a project handle
-        final IProject newProjectHandle = page.getProjectHandle();
-
-        // get a project descriptor
-        IPath defaultPath = Platform.getLocation();
-        IPath newPath = page.getLocationPath();
-        if (defaultPath.equals(newPath))
-            newPath = null;
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProjectDescription description = workspace
-                .newProjectDescription(newProjectHandle.getName());
-        description.setLocation(newPath);
-
-        // define the operation to create a new project
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                createProject(description, newProjectHandle, monitor);
-            }
-        };
-
-        // run the operation to create a new project
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-                    MessageDialog
-                            .openError(
-                                    getShell(),
-                                    IDEWorkbenchMessages
-                                            .getString("CreateProjectWizard.errorTitle"), //$NON-NLS-1$
-                                    IDEWorkbenchMessages
-                                            .getString("CreateProjectWizard.caseVariantExistsError") //$NON-NLS-1$,
-                            );
-                } else {
-                    ErrorDialog.openError(getShell(), IDEWorkbenchMessages
-                            .getString("CreateProjectWizard.errorTitle"), //$NON-NLS-1$
-                            null, // no special message
-                            ((CoreException) t).getStatus());
-                }
-            } else {
-                // Unexpected runtime exceptions and errors may still occur.
-                Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-                        new Status(Status.ERROR, PlatformUI.PLUGIN_ID, 0, t
-                                .toString(), t));
-                MessageDialog
-                        .openError(
-                                getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("CreateProjectWizard.errorTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .format(
-                                                "CreateProjectWizard.internalError", new Object[] { t.getMessage() })); //$NON-NLS-1$
-            }
-            return null;
-        }
-
-        return newProjectHandle;
-    }
-
-    /**
-     * Creates a project resource given the project handle and description.
-     *
-     * @param description the project description to create a project resource for
-     * @param projectHandle the project handle to create a project resource for
-     * @param monitor the progress monitor to show visual progress with
-     *
-     * @exception CoreException if the operation fails
-     * @exception OperationCanceledException if the operation is canceled
-     */
-    private void createProject(IProjectDescription description,
-            IProject projectHandle, IProgressMonitor monitor)
-            throws CoreException, OperationCanceledException {
-        try {
-            monitor.beginTask("", 2000); //$NON-NLS-1$
-
-            projectHandle.create(description, new SubProgressMonitor(monitor,
-                    1000));
-
-            if (monitor.isCanceled())
-                throw new OperationCanceledException();
-
-            projectHandle.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1000));
-
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     * Returns the current project name.
-     *
-     * @return the project name or <code>null</code>
-     *   if no project name is known
-     */
-    /* package */String getProjectName() {
-        return page.getProjectName();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        if (wizard.getNewProject() != null)
-            return true;
-
-        IProject project = createNewProject();
-        if (project != null) {
-            wizard.setNewProject(project);
-            return true;
-        } else {
-            return false;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.java
deleted file mode 100644
index 6ac5fdd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileFolderSelectionDialog.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.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.io.FileFilter;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Selection dialog to select files and/or folders on the file system.
- * Use setInput to set input to a java.io.File that points to a folder.
- * 
- * @since 2.1
- */
-public class FileFolderSelectionDialog extends ElementTreeSelectionDialog {
-
-    /**
-     * Label provider for java.io.File objects.
-     */
-    private static class FileLabelProvider extends LabelProvider {
-        private static final Image IMG_FOLDER = PlatformUI.getWorkbench()
-                .getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-
-        private static final Image IMG_FILE = PlatformUI.getWorkbench()
-                .getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-
-        public Image getImage(Object element) {
-            if (element instanceof File) {
-                File curr = (File) element;
-                if (curr.isDirectory()) {
-                    return IMG_FOLDER;
-                } else {
-                    return IMG_FILE;
-                }
-            }
-            return null;
-        }
-
-        public String getText(Object element) {
-            if (element instanceof File) {
-                return ((File) element).getName();
-            }
-            return super.getText(element);
-        }
-    }
-
-    /**
-     * Content provider for java.io.File objects.
-     */
-    private static class FileContentProvider implements ITreeContentProvider {
-        private static final Object[] EMPTY = new Object[0];
-
-        private FileFilter fileFilter;
-
-        /**
-         * Creates a new instance of the receiver.
-         * 
-         * @param showFiles <code>true</code> files and folders are returned
-         * 	by the receiver. <code>false</code> only folders are returned.
-         */
-        public FileContentProvider(final boolean showFiles) {
-            fileFilter = new FileFilter() {
-                public boolean accept(File file) {
-                    if (file.isFile() && showFiles == false)
-                        return false;
-                    return true;
-                }
-            };
-        }
-
-        public Object[] getChildren(Object parentElement) {
-            if (parentElement instanceof File) {
-                File[] children = ((File) parentElement).listFiles(fileFilter);
-                if (children != null) {
-                    return children;
-                }
-            }
-            return EMPTY;
-        }
-
-        public Object getParent(Object element) {
-            if (element instanceof File) {
-                return ((File) element).getParentFile();
-            }
-            return null;
-        }
-
-        public boolean hasChildren(Object element) {
-            return getChildren(element).length > 0;
-        }
-
-        public Object[] getElements(Object element) {
-            return getChildren(element);
-        }
-
-        public void dispose() {
-        }
-
-        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        }
-    }
-
-    /**
-     * Viewer sorter that places folders first, then files.  
-     */
-    private static class FileViewerSorter extends ViewerSorter {
-        public int category(Object element) {
-            if (element instanceof File) {
-                if (((File) element).isFile()) {
-                    return 1;
-                }
-            }
-            return 0;
-        }
-    }
-
-    /**
-     * Validates the selection based on the multi select and folder setting.
-     */
-    private static class FileSelectionValidator implements
-            ISelectionStatusValidator {
-        private boolean multiSelect;
-
-        private boolean acceptFolders;
-
-        /**
-         * Creates a new instance of the receiver.
-         * 
-         * @param multiSelect <code>true</code> if multi selection is allowed.
-         * 	<code>false</code> if only single selection is allowed. 
-         * @param acceptFolders <code>true</code> if folders can be selected
-         * 	in the dialog. <code>false</code> only files and be selected.  
-         */
-        public FileSelectionValidator(boolean multiSelect, boolean acceptFolders) {
-            this.multiSelect = multiSelect;
-            this.acceptFolders = acceptFolders;
-        }
-
-        public IStatus validate(Object[] selection) {
-            int nSelected = selection.length;
-            String pluginId = IDEWorkbenchPlugin.getDefault().getDescriptor()
-                    .getUniqueIdentifier();
-
-            if (nSelected == 0 || (nSelected > 1 && multiSelect == false)) {
-                return new Status(IStatus.ERROR, pluginId, IStatus.ERROR,
-                        "", null); //$NON-NLS-1$
-            }
-            for (int i = 0; i < selection.length; i++) {
-                Object curr = selection[i];
-                if (curr instanceof File) {
-                    File file = (File) curr;
-                    if (acceptFolders == false && file.isFile() == false) {
-                        return new Status(IStatus.ERROR, pluginId,
-                                IStatus.ERROR, "", null); //$NON-NLS-1$
-                    }
-                }
-            }
-            return new Status(IStatus.OK, pluginId, IStatus.OK, "", null); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Creates a new instance of the receiver.
-     * 
-     * @param multiSelect <code>true</code> if multi selection is allowed.
-     * 	<code>false</code> if only single selection is allowed. 
-     * @param type one or both of <code>IResource.FILE</code> and 
-     * 	<code>IResource.FOLDER</code>, ORed together.
-     * 	If <code>IResource.FILE</code> is specified files and folders are 
-     * 	displayed in the dialog. Otherwise only folders are displayed.
-     * 	If <code>IResource.FOLDER</code> is specified folders can be selected
-     * 	in addition to files. 
-     */
-    public FileFolderSelectionDialog(Shell parent, boolean multiSelect, int type) {
-        super(parent, new FileLabelProvider(), new FileContentProvider(
-                (type & IResource.FILE) != 0));
-        setSorter(new FileViewerSorter());
-        setValidator(new FileSelectionValidator(multiSelect,
-                (type & IResource.FOLDER) != 0));
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java
deleted file mode 100644
index ab89718..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileStatesPage.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.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.Text;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * The FileStatesPage is the page used to set the file states sizes for the workbench.
- */
-public class FileStatesPage extends PreferencePage implements
-        IWorkbenchPreferencePage, Listener {
-
-    private static final String LONGEVITY_TITLE = IDEWorkbenchMessages
-            .getString("FileHistory.longevity"); //$NON-NLS-1$
-
-    private static final String MAX_FILE_STATES_TITLE = IDEWorkbenchMessages
-            .getString("FileHistory.entries"); //$NON-NLS-1$
-
-    private static final String MAX_FILE_STATE_SIZE_TITLE = IDEWorkbenchMessages
-            .getString("FileHistory.diskSpace"); //$NON-NLS-1$
-
-    private static final String POSITIVE_MESSAGE = IDEWorkbenchMessages
-            .getString("FileHistory.mustBePositive"); //$NON-NLS-1$
-
-    private static final String INVALID_VALUE_MESSAGE = IDEWorkbenchMessages
-            .getString("FileHistory.invalid"); //$NON-NLS-1$
-
-    private static final String SAVE_ERROR_MESSAGE = IDEWorkbenchMessages
-            .getString("FileHistory.exceptionSaving"); //$NON-NLS-1$
-
-    private static final String NOTE_MESSAGE = IDEWorkbenchMessages
-            .getString("FileHistory.restartNote"); //$NON-NLS-1$
-
-    private static final String NOTE_LABEL = IDEWorkbenchMessages
-            .getString("Preference.note"); //$NON-NLS-1$
-
-    private static final int FAILED_VALUE = -1;
-
-    //Set the length of the day as we have to convert back and forth
-    private static final long DAY_LENGTH = 86400000;
-
-    private static final long MEGABYTES = 1024 * 1024;
-
-    private Text longevityText;
-
-    private Text maxStatesText;
-
-    private Text maxStateSizeText;
-
-    //Choose a maximum to prevent OutOfMemoryErrors
-    private int FILE_STATES_MAXIMUM = 10000;
-
-    private long STATE_SIZE_MAXIMUM = 100;
-
-    /**
-     * This method takes the string for the title of a text field and the value for the
-     * text of the field.
-     * @return org.eclipse.swt.widgets.Text
-     * @param labelString java.lang.String
-     * @param textValue java.lang.String
-     * @param parent Composite 
-     */
-    private Text addLabelAndText(String labelString, String textValue,
-            Composite parent) {
-        Label label = new Label(parent, SWT.LEFT);
-        label.setText(labelString);
-
-        Text text = new Text(parent, SWT.LEFT | SWT.BORDER);
-        GridData data = new GridData();
-        text.addListener(SWT.Modify, this);
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.verticalAlignment = GridData.CENTER;
-        data.grabExcessVerticalSpace = false;
-        text.setLayoutData(data);
-        text.setText(textValue);
-        return text;
-    }
-
-    /**
-     * Recomputes the page's error state by validating all
-     * the fields.
-     */
-    private void checkState() {
-        // Assume invalid if the controls not created yet
-        if (longevityText == null || maxStatesText == null
-                || maxStateSizeText == null) {
-            setValid(false);
-            return;
-        }
-
-        if (validateLongTextEntry(longevityText) == FAILED_VALUE) {
-            setValid(false);
-            return;
-        }
-
-        if (validateMaxFileStates() == FAILED_VALUE) {
-            setValid(false);
-            return;
-        }
-
-        if (validateMaxFileStateSize() == FAILED_VALUE) {
-            setValid(false);
-            return;
-        }
-
-        setValid(true);
-        setErrorMessage(null);
-    }
-
-    /* 
-     * Create the contents control for the workspace file states.
-     * @returns Control
-     * @param parent Composite
-     */
-    protected Control createContents(Composite parent) {
-
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-                IIDEHelpContextIds.FILE_STATES_PREFERENCE_PAGE);
-
-        // button group
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        IWorkspaceDescription description = getWorkspaceDescription();
-
-        //Get the current value and make sure we get at least one day out of it.
-        long days = description.getFileStateLongevity() / DAY_LENGTH;
-        if (days < 1)
-            days = 1;
-
-        long megabytes = description.getMaxFileStateSize() / MEGABYTES;
-        if (megabytes < 1)
-            megabytes = 1;
-
-        this.longevityText = addLabelAndText(LONGEVITY_TITLE, String
-                .valueOf(days), composite);
-        this.maxStatesText = addLabelAndText(MAX_FILE_STATES_TITLE, String
-                .valueOf(description.getMaxFileStates()), composite);
-        this.maxStateSizeText = addLabelAndText(MAX_FILE_STATE_SIZE_TITLE,
-                String.valueOf(megabytes), composite);
-
-        checkState();
-
-        //Create a spacing label to breakup the note from the fields
-        Label spacer = new Label(composite, SWT.NONE);
-        GridData spacerData = new GridData();
-        spacerData.horizontalSpan = 2;
-        spacer.setLayoutData(spacerData);
-
-        Composite noteComposite = createNoteComposite(parent.getFont(),
-                composite, NOTE_LABEL, NOTE_MESSAGE);
-        GridData noteData = new GridData();
-        noteData.horizontalSpan = 2;
-        noteComposite.setLayoutData(noteData);
-
-        applyDialogFont(composite);
-
-        return composite;
-    }
-
-    /**
-     * Get the Workspace Description this page is operating on.
-     * @return org.eclipse.core.resources.IWorkspaceDescription
-     */
-    private IWorkspaceDescription getWorkspaceDescription() {
-        return ResourcesPlugin.getWorkspace().getDescription();
-    }
-
-    /**
-     * Sent when an event that the receiver has registered for occurs.
-     *
-     * @param event the event which occurred
-     */
-    public void handleEvent(Event event) {
-        checkState();
-    }
-
-    /**
-     * Initializes this preference page for the given workbench.
-     * <p>
-     * This method is called automatically as the preference page is being created
-     * and initialized. Clients must not call this method.
-     * </p>
-     *
-     * @param workbench the workbench
-     */
-    public void init(org.eclipse.ui.IWorkbench workbench) {
-    }
-
-    /**
-     * Performs special processing when this page's Defaults button has been pressed.
-     * Reset the entries to thier default values.
-     */
-    protected void performDefaults() {
-        super.performDefaults();
-
-        Preferences prefs = ResourcesPlugin.getPlugin().getPluginPreferences();
-
-        long days = prefs
-                .getDefaultLong(ResourcesPlugin.PREF_FILE_STATE_LONGEVITY)
-                / DAY_LENGTH;
-        long megabytes = prefs
-                .getDefaultLong(ResourcesPlugin.PREF_MAX_FILE_STATE_SIZE)
-                / MEGABYTES;
-        this.longevityText.setText(String.valueOf(days));
-        this.maxStatesText.setText(prefs
-                .getDefaultString(ResourcesPlugin.PREF_MAX_FILE_STATES));
-        this.maxStateSizeText.setText(String.valueOf(megabytes));
-        checkState();
-    }
-
-    /** 
-     * Perform the result of the OK from the receiver.
-     */
-    public boolean performOk() {
-
-        long longevityValue = validateLongTextEntry(longevityText);
-        int maxFileStates = validateMaxFileStates();
-        long maxStateSize = validateMaxFileStateSize();
-        if (longevityValue == FAILED_VALUE || maxFileStates == FAILED_VALUE
-                || maxStateSize == FAILED_VALUE)
-            return false;
-
-        IWorkspaceDescription description = getWorkspaceDescription();
-        description.setFileStateLongevity(longevityValue * DAY_LENGTH);
-        description.setMaxFileStates(maxFileStates);
-        description.setMaxFileStateSize(maxStateSize * MEGABYTES);
-
-        try {
-            //As it is only a copy save it back in
-            ResourcesPlugin.getWorkspace().setDescription(description);
-        } catch (CoreException exception) {
-            ErrorDialog.openError(getShell(), SAVE_ERROR_MESSAGE, exception
-                    .getMessage(), exception.getStatus());
-            return false;
-        }
-
-        return true;
-
-    }
-
-    /**
-     * Validate a text entry for an integer field. Return the result if there are
-     * no errors, otherwise return -1 and set the entry field error. 
-     * @return int
-     */
-    private int validateIntegerTextEntry(Text text) {
-
-        int value;
-
-        try {
-            value = Integer.parseInt(text.getText());
-
-        } catch (NumberFormatException exception) {
-            setErrorMessage(MessageFormat.format(INVALID_VALUE_MESSAGE,
-                    new Object[] { exception.getLocalizedMessage() }));
-            return FAILED_VALUE;
-        }
-
-        //Be sure all values are non zero and positive
-        if (value <= 0) {
-            setErrorMessage(POSITIVE_MESSAGE);
-            return FAILED_VALUE;
-        }
-
-        return value;
-    }
-
-    /**
-     * Validate a text entry for a long field. Return the result if there are
-     * no errors, otherwise return -1 and set the entry field error. 
-     * @return long
-     */
-    private long validateLongTextEntry(Text text) {
-
-        long value;
-
-        try {
-            value = Long.parseLong(text.getText());
-
-        } catch (NumberFormatException exception) {
-            setErrorMessage(MessageFormat.format(INVALID_VALUE_MESSAGE,
-                    new Object[] { exception.getLocalizedMessage() }));
-            return FAILED_VALUE;
-        }
-
-        //Be sure all values are non zero and positive
-        if (value <= 0) {
-            setErrorMessage(POSITIVE_MESSAGE);
-            return FAILED_VALUE;
-        }
-
-        return value;
-    }
-
-    /**
-     * Validate the maximum file states.
-     * Return the value if successful, otherwise
-     * return FAILED_VALUE.
-     * Set the error message if it fails.
-     * @return int
-     */
-    private int validateMaxFileStates() {
-        int maxFileStates = validateIntegerTextEntry(this.maxStatesText);
-        if (maxFileStates == FAILED_VALUE)
-            return maxFileStates;
-
-        if (maxFileStates > FILE_STATES_MAXIMUM) {
-            setErrorMessage(IDEWorkbenchMessages.format(
-                    "FileHistory.aboveMaxEntries", //$NON-NLS-1$
-                    new String[] { String.valueOf(FILE_STATES_MAXIMUM) }));
-            return FAILED_VALUE;
-        }
-
-        return maxFileStates;
-    }
-
-    /**
-     * Validate the maximum file state size.
-     * Return the value if successful, otherwise
-     * return FAILED_VALUE.
-     * Set the error message if it fails.
-     * @return long
-     */
-    private long validateMaxFileStateSize() {
-        long maxFileStateSize = validateLongTextEntry(this.maxStateSizeText);
-        if (maxFileStateSize == FAILED_VALUE)
-            return maxFileStateSize;
-
-        if (maxFileStateSize > STATE_SIZE_MAXIMUM) {
-            setErrorMessage(IDEWorkbenchMessages.format(
-                    "FileHistory.aboveMaxFileSize", //$NON-NLS-1$
-                    new String[] { String.valueOf(STATE_SIZE_MAXIMUM) }));
-            return FAILED_VALUE;
-        }
-
-        return maxFileStateSize;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java
deleted file mode 100644
index 878ad3d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/FileSystemResourceExporter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Helper class for exporting resources to the file system.
- */
-/*package*/class FileSystemResourceExporter {
-    /**
-     *  Creates the specified file system directory at <code>destinationPath</code>.
-     *  This creates a new file system directory.
-     */
-    public void createFolder(IPath destinationPath) {
-        new File(destinationPath.toOSString()).mkdir();
-    }
-
-    /**
-     *  Writes the passed resource to the specified location recursively
-     */
-    public void write(IResource resource, IPath destinationPath)
-            throws CoreException, IOException {
-        if (resource.getType() == IResource.FILE)
-            writeFile((IFile) resource, destinationPath);
-        else
-            writeChildren((IContainer) resource, destinationPath);
-    }
-
-    /**
-     *  Exports the passed container's children
-     */
-    protected void writeChildren(IContainer folder, IPath destinationPath)
-            throws CoreException, IOException {
-        if (folder.isAccessible()) {
-            IResource[] children = folder.members();
-            for (int i = 0; i < children.length; i++) {
-                IResource child = children[i];
-                writeResource(child, destinationPath.append(child.getName()));
-            }
-        }
-    }
-
-    /**
-     *  Writes the passed file resource to the specified destination on the local
-     *  file system
-     */
-    protected void writeFile(IFile file, IPath destinationPath)
-            throws IOException, CoreException {
-        FileOutputStream output = null;
-        InputStream contentStream = null;
-
-        try {
-            output = new FileOutputStream(destinationPath.toOSString());
-            contentStream = file.getContents(false);
-            int chunkSize = contentStream.available();
-            byte[] readBuffer = new byte[chunkSize];
-            int n = contentStream.read(readBuffer);
-
-            while (n > 0) {
-                output.write(readBuffer);
-                n = contentStream.read(readBuffer);
-            }
-        } finally {
-            if (output != null)
-                output.close();
-            if (contentStream != null)
-                contentStream.close();
-        }
-    }
-
-    /**
-     *  Writes the passed resource to the specified location recursively
-     */
-    protected void writeResource(IResource resource, IPath destinationPath)
-            throws CoreException, IOException {
-        if (resource.getType() == IResource.FILE)
-            writeFile((IFile) resource, destinationPath);
-        else {
-            createFolder(destinationPath);
-            writeChildren((IContainer) resource, destinationPath);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java
deleted file mode 100644
index d464673..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEEditorsPreferencePage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.ide.IDEEncoding;
-import org.eclipse.ui.ide.dialogs.ResourceEncodingFieldEditor;
-
-import org.eclipse.ui.internal.dialogs.EditorsPreferencePage;
-import org.eclipse.ui.internal.dialogs.PreferenceLinkArea;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Extends the Editors preference page with IDE-specific settings.
- * 
- * Note: want IDE settings to appear in main Editors preference page (via
- * subclassing), however the superclass, EditorsPreferencePage, is internal
- */
-public class IDEEditorsPreferencePage extends EditorsPreferencePage {
-
-	//A boolean to indicate if the user settings were cleared.
-	private boolean clearUserSettings = false;
-
-	private ResourceEncodingFieldEditor encodingEditor;
-
-	protected Control createContents(Composite parent) {
-		Composite composite = createComposite(parent);
-        
-		PreferenceLinkArea area = new PreferenceLinkArea(composite, SWT.BORDER,
-				"org.eclipse.ui.preferencePages.FileEditors", IDEWorkbenchMessages.getString("IDEEditorsPreferencePage.WorkbenchPreference.relatedLink"));//$NON-NLS-1$ //$NON-NLS-2$
-
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		data.heightHint = 25;
-		data.widthHint = 100;
-		area.setLayoutData(data);
-
-		createEditorHistoryGroup(composite);
-
-		createSpace(composite);
-		createShowMultipleEditorTabsPref(composite);
-		createCloseEditorsOnExitPref(composite);
-		createEditorReuseGroup(composite);
-
-		createSpace(composite);
-		encodingEditor = new ResourceEncodingFieldEditor(IDEWorkbenchMessages
-				.getString("WorkbenchPreference.encoding"), composite, ResourcesPlugin //$NON-NLS-1$
-				.getWorkspace().getRoot());
-
-		encodingEditor.setPage(this);
-		encodingEditor.load();
-		encodingEditor.setPropertyChangeListener(new IPropertyChangeListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID))
-					updateValidState();
-
-			}
-		});
-
-		// @issue need IDE-level help for this page
-		//		WorkbenchHelp.setHelp(parent,
-		// IHelpContextIds.WORKBENCH_EDITOR_PREFERENCE_PAGE);
-
-		return composite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.dialogs.EditorsPreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-
-		clearUserSettings = true;
-
-		List encodings = WorkbenchEncoding.getDefinedEncodings();
-		Collections.sort(encodings);
-
-		encodingEditor.loadDefault();
-
-		super.performDefaults();
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.dialogs.EditorsPreferencePage#updateValidState()
-	 */
-	protected void updateValidState() {
-		if (!encodingEditor.isValid()) {
-			setValid(false);
-			return;
-		}
-		//Do the updating of super last we want to
-		//inherit the clearing code.
-		super.updateValidState();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.dialogs.FileEditorsPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-
-		if (clearUserSettings)
-			IDEEncoding.clearUserEncodings();
-		encodingEditor.store();
-
-		return super.performOk();
-	}
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.java
deleted file mode 100644
index 20c4837..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEPerspectivesPreferencePage.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.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Extends the Perspectives preference page with IDE-specific settings.
- * 
- * Note: want IDE settings to appear in main Perspectives preference page (via
- * subclassing), however the superclass, PerspectivesPreferencePage, is
- * internal
- */
-public class IDEPerspectivesPreferencePage extends PerspectivesPreferencePage {
-    private final String PROJECT_SWITCH_PERSP_MODE_TITLE = IDEWorkbenchMessages
-            .getString("ProjectSwitchPerspectiveMode.optionsTitle"); //$NON-NLS-1$
-
-    private final String PSPM_ALWAYS_TEXT = IDEWorkbenchMessages
-            .getString("ProjectSwitchPerspectiveMode.always"); //$NON-NLS-1$
-
-    private final String PSPM_NEVER_TEXT = IDEWorkbenchMessages
-            .getString("ProjectSwitchPerspectiveMode.never"); //$NON-NLS-1$
-
-    private final String PSPM_PROMPT_TEXT = IDEWorkbenchMessages
-            .getString("ProjectSwitchPerspectiveMode.prompt"); //$NON-NLS-1$
-
-    private RadioGroupFieldEditor projectSwitchField;
-
-    /**
-     * Creates the page's UI content.
-     */
-    protected Control createContents(Composite parent) {
-        // @issue if the product subclasses this page, then it should provide
-        // the help content
-    	PlatformUI
-				.getWorkbench()
-				.getHelpSystem()
-				.setHelp(
-						parent,
-						org.eclipse.ui.internal.IWorkbenchHelpContextIds.PERSPECTIVES_PREFERENCE_PAGE);
-
-        Composite composite = createComposite(parent);
-
-        createOpenPerspButtonGroup(composite);
-        createOpenViewButtonGroup(composite);
-        createProjectPerspectiveGroup(composite);
-        createCustomizePerspective(composite);
-
-        return composite;
-    }
-
-    /**
-     * Creates a composite that contains buttons for selecting the preference
-     * opening new project selections.
-     */
-    private void createProjectPerspectiveGroup(Composite composite) {
-
-        Composite projectComposite = new Composite(composite, SWT.NONE);
-        projectComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        projectComposite.setFont(composite.getFont());
-
-        String[][] namesAndValues = {
-                { PSPM_ALWAYS_TEXT, IDEInternalPreferences.PSPM_ALWAYS },
-                { PSPM_NEVER_TEXT, IDEInternalPreferences.PSPM_NEVER },
-                { PSPM_PROMPT_TEXT, IDEInternalPreferences.PSPM_PROMPT } };
-        projectSwitchField = new RadioGroupFieldEditor(
-                IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE,
-                PROJECT_SWITCH_PERSP_MODE_TITLE, namesAndValues.length,
-                namesAndValues, projectComposite, true);
-        projectSwitchField.setPreferenceStore(getIDEPreferenceStore());
-        projectSwitchField.setPage(this);
-        projectSwitchField.load();
-    }
-
-    /**
-     * Returns the IDE preference store.
-     */
-    protected IPreferenceStore getIDEPreferenceStore() {
-        return IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage#performDefaults()
-     */
-    protected void performDefaults() {
-        projectSwitchField.loadDefault();
-        super.performDefaults();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.dialogs.PerspectivesPreferencePage#performOk()
-     */
-    public boolean performOk() {
-        projectSwitchField.store();
-        IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-        return super.performOk();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java
deleted file mode 100644
index 7e644e2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEStartupPreferencePage.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchHelpContextIds;
-import org.eclipse.ui.internal.dialogs.StartupPreferencePage;
-import org.eclipse.ui.internal.ide.ChooseWorkspaceData;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Extends the Startup and Shutdown preference page with IDE-specific settings.
- * 
- * Note: want IDE settings to appear in main Workbench preference page (via subclassing),
- *   however the superclass, StartupPreferencePage, is internal
- * @since 3.0
- */
-public class IDEStartupPreferencePage extends StartupPreferencePage implements
-        IWorkbenchPreferencePage {
-
-    private Button refreshButton;
-
-    private Button launchPromptButton;
-
-    private Button exitPromptButton;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.preference.PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-				IWorkbenchHelpContextIds.STARTUP_PREFERENCE_PAGE);
-
-        Composite composite = createComposite(parent);
-
-        createLaunchPromptPref(composite);
-        createRefreshWorkspaceOnStartupPref(composite);
-        createExitPromptPref(composite);
-
-        Label separator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
-        separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        createEarlyStartupSelection(composite);
-
-        return composite;
-    }
-
-    /**
-     * The default button has been pressed.
-     */
-    protected void performDefaults() {
-        IPreferenceStore store = getIDEPreferenceStore();
-
-        launchPromptButton.setSelection(true);
-
-        refreshButton
-                .setSelection(store
-                        .getDefaultBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP));
-        exitPromptButton
-                .setSelection(store
-                        .getDefaultBoolean(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW));
-
-        super.performDefaults();
-    }
-
-    /**
-     * The user has pressed Ok. Store/apply this page's values appropriately.
-     */
-    public boolean performOk() {
-        IPreferenceStore store = getIDEPreferenceStore();
-
-        // store the refresh workspace on startup setting
-        store.setValue(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP,
-                refreshButton.getSelection());
-
-        // TODO: This should get the value from the configuration preference
-        //       area, but dj said we shouldn't use it yet; some final details are
-        //       being worked out. Hopefully it will be available soon, at which time
-        //       the entire recentWorkspaces.xml file can be removed. But until then,
-        //       this preference reads/writes the file each time.
-        ChooseWorkspaceData.setShowDialogValue(launchPromptButton
-                .getSelection());
-
-        // store the exit prompt on last window close setting
-        store.setValue(IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW,
-                exitPromptButton.getSelection());
-
-        IDEWorkbenchPlugin.getDefault().savePluginPreferences();
-
-        return super.performOk();
-    }
-
-    protected void createRefreshWorkspaceOnStartupPref(Composite composite) {
-        refreshButton = new Button(composite, SWT.CHECK);
-        refreshButton.setText(IDEWorkbenchMessages
-                .getString("StartupPreferencePage.refreshButton")); //$NON-NLS-1$
-        refreshButton.setFont(composite.getFont());
-        refreshButton.setSelection(getIDEPreferenceStore().getBoolean(
-                IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP));
-    }
-
-    protected void createLaunchPromptPref(Composite composite) {
-        launchPromptButton = new Button(composite, SWT.CHECK);
-        launchPromptButton.setText(IDEWorkbenchMessages
-                .getString("StartupPreferencePage.launchPromptButton")); //$NON-NLS-1$
-        launchPromptButton.setFont(composite.getFont());
-
-        // TODO: This should get the value from the configuration preference
-        //       area, but dj said we shouldn't use it yet; some final details are
-        //       being worked out. Hopefully it will be available soon, at which time
-        //       the entire recentWorkspaces.xml file can be removed. But until then,
-        //       this preference reads/writes the file each time.
-        launchPromptButton.setSelection(ChooseWorkspaceData
-                .getShowDialogValue());
-    }
-
-    protected void createExitPromptPref(Composite composite) {
-        exitPromptButton = new Button(composite, SWT.CHECK);
-        exitPromptButton.setText(IDEWorkbenchMessages
-                .getString("StartupPreferencePage.exitPromptButton")); //$NON-NLS-1$
-        exitPromptButton.setFont(composite.getFont());
-        exitPromptButton.setSelection(getIDEPreferenceStore().getBoolean(
-                IDEInternalPreferences.EXIT_PROMPT_ON_CLOSE_LAST_WINDOW));
-    }
-
-    /**
-     * Returns the IDE preference store.
-     */
-    protected IPreferenceStore getIDEPreferenceStore() {
-        return IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
deleted file mode 100644
index 138a822..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IDEWorkbenchPreferencePage.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.IWorkbenchHelpContextIds;
-import org.eclipse.ui.internal.dialogs.WorkbenchPreferencePage;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.misc.WorkInProgressMessages;
-
-/**
- * The IDE workbench main preference page.
- * 
- *Note: want IDE settings to appear in main Workbench preference page (via subclassing),
- *   however the superclass, WorkbenchPreferencePage, is internal
- */
-public class IDEWorkbenchPreferencePage extends WorkbenchPreferencePage
-        implements IWorkbenchPreferencePage {
-
-    private Button autoBuildButton;
-
-    private Button autoSaveAllButton;
-
-    private IntegerFieldEditor saveInterval;
-
-    private Button autoRefreshButton;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.preference.PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-				IWorkbenchHelpContextIds.WORKBENCH_PREFERENCE_PAGE);
-
-        Composite composite = createComposite(parent);
-
-        createShowUserDialogPref(composite);
-        createAutoBuildPref(composite);
-        createAutoRefreshControls(composite);
-        createSaveAllBeforeBuildPref(composite);
-        createStickyCyclePref(composite);
-
-        createSpace(composite);
-        createSaveIntervalGroup(composite);
-
-        createSpace(composite);
-        createOpenModeGroup(composite);
-
-        applyDialogFont(composite);
-
-        return composite;
-    }
-
-    protected void createSaveAllBeforeBuildPref(Composite composite) {
-        autoSaveAllButton = new Button(composite, SWT.CHECK);
-        autoSaveAllButton.setText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.savePriorToBuilding")); //$NON-NLS-1$
-        autoSaveAllButton.setToolTipText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.savePriorToBuildingToolTip")); //$NON-NLS-1$
-        autoSaveAllButton.setSelection(getIDEPreferenceStore().getBoolean(
-                IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD));
-    }
-
-    private void createAutoBuildPref(Composite composite) {
-        autoBuildButton = new Button(composite, SWT.CHECK);
-        autoBuildButton.setText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.autobuild")); //$NON-NLS-1$
-        autoBuildButton.setToolTipText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.autobuildToolTip")); //$NON-NLS-1$
-        autoBuildButton.setSelection(ResourcesPlugin.getWorkspace()
-                .isAutoBuilding());
-    }
-
-    /**
-     * Create a composite that contains entry fields specifying save interval
-     * preference.
-     * 
-     * @param composite the Composite the group is created in.
-     */
-    private void createSaveIntervalGroup(Composite composite) {
-        Composite groupComposite = new Composite(composite, SWT.LEFT);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        groupComposite.setLayout(layout);
-        GridData gd = new GridData();
-        gd.horizontalAlignment = GridData.FILL;
-        gd.grabExcessHorizontalSpace = true;
-        groupComposite.setLayoutData(gd);
-
-        saveInterval = new IntegerFieldEditor(
-                IDEInternalPreferences.SAVE_INTERVAL, IDEWorkbenchMessages
-                        .getString("WorkbenchPreference.saveInterval"), //$NON-NLS-1$
-                groupComposite);
-
-        // @issue we should drop our preference constant and let clients use
-        // core's pref. ours is not up-to-date anyway if someone changes this
-        // interval directly thru core api.
-        saveInterval.setPreferenceStore(getIDEPreferenceStore());
-        saveInterval.setPage(this);
-        saveInterval.setTextLimit(Integer.toString(
-                IDEInternalPreferences.MAX_SAVE_INTERVAL).length());
-        saveInterval.setErrorMessage(IDEWorkbenchMessages.format(
-                "WorkbenchPreference.saveIntervalError", //$NON-NLS-1$
-                new Object[] { new Integer(
-                        IDEInternalPreferences.MAX_SAVE_INTERVAL) }));
-        saveInterval
-                .setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-        saveInterval.setValidRange(1, IDEInternalPreferences.MAX_SAVE_INTERVAL);
-
-        IWorkspaceDescription description = ResourcesPlugin.getWorkspace()
-                .getDescription();
-        long interval = description.getSnapshotInterval() / 60000;
-        saveInterval.setStringValue(Long.toString(interval));
-
-        saveInterval.setPropertyChangeListener(new IPropertyChangeListener() {
-
-            public void propertyChange(PropertyChangeEvent event) {
-                if (event.getProperty().equals(FieldEditor.IS_VALID))
-                    setValid(saveInterval.isValid());
-            }
-        });
-
-    }
-
-    /**
-     * Returns the IDE preference store.
-     * @return the preference store.
-     */
-    protected IPreferenceStore getIDEPreferenceStore() {
-        return IDEWorkbenchPlugin.getDefault().getPreferenceStore();
-    }
-
-    /**
-     * The default button has been pressed.
-     */
-    protected void performDefaults() {
-
-        // core holds onto this preference.
-        boolean autoBuild = ResourcesPlugin.getPlugin().getPluginPreferences()
-                .getDefaultBoolean(ResourcesPlugin.PREF_AUTO_BUILDING);
-        autoBuildButton.setSelection(autoBuild);
-
-        IPreferenceStore store = getIDEPreferenceStore();
-        autoSaveAllButton
-                .setSelection(store
-                        .getDefaultBoolean(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD));
-        saveInterval.loadDefault();
-
-        boolean autoRefresh = ResourcesPlugin.getPlugin()
-                .getPluginPreferences().getDefaultBoolean(
-                        ResourcesPlugin.PREF_AUTO_REFRESH);
-        autoRefreshButton.setSelection(autoRefresh);
-
-        super.performDefaults();
-    }
-
-    /**
-     * The user has pressed Ok. Store/apply this page's values appropriately.
-     */
-    public boolean performOk() {
-        // set the workspace auto-build flag
-        IWorkspaceDescription description = ResourcesPlugin.getWorkspace()
-                .getDescription();
-        if (autoBuildButton.getSelection() != ResourcesPlugin.getWorkspace()
-                .isAutoBuilding()) {
-            try {
-                description.setAutoBuilding(autoBuildButton.getSelection());
-                ResourcesPlugin.getWorkspace().setDescription(description);
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin.log(
-                        "Error changing auto build workspace setting.", e//$NON-NLS-1$
-                                .getStatus());
-            }
-        }
-
-        IPreferenceStore store = getIDEPreferenceStore();
-
-        // store the save all prior to build setting
-        store.setValue(IDEInternalPreferences.SAVE_ALL_BEFORE_BUILD,
-                autoSaveAllButton.getSelection());
-
-        // store the workspace save interval
-        // @issue we should drop our preference constant and let clients use
-        // core's pref. ours is not up-to-date anyway if someone changes this
-        // interval directly thru core api.
-        long oldSaveInterval = description.getSnapshotInterval() / 60000;
-        long newSaveInterval = new Long(saveInterval.getStringValue())
-                .longValue();
-        if (oldSaveInterval != newSaveInterval) {
-            try {
-                description.setSnapshotInterval(newSaveInterval * 60000);
-                ResourcesPlugin.getWorkspace().setDescription(description);
-                store.firePropertyChangeEvent(
-                        IDEInternalPreferences.SAVE_INTERVAL, new Integer(
-                                (int) oldSaveInterval), new Integer(
-                                (int) newSaveInterval));
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin.log(
-                        "Error changing save interval preference", e //$NON-NLS-1$
-                                .getStatus());
-            }
-        }
-
-        Preferences preferences = ResourcesPlugin.getPlugin()
-                .getPluginPreferences();
-
-        boolean autoRefresh = autoRefreshButton.getSelection();
-        preferences.setValue(ResourcesPlugin.PREF_AUTO_REFRESH, autoRefresh);
-
-        return super.performOk();
-    }
-
-    /**
-     * Create the Refresh controls
-     * 
-     * @param parent
-     */
-    private void createAutoRefreshControls(Composite parent) {
-
-        this.autoRefreshButton = new Button(parent, SWT.CHECK);
-        this.autoRefreshButton.setText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.RefreshButtonText")); //$NON-NLS-1$
-        this.autoRefreshButton.setToolTipText(IDEWorkbenchMessages
-                .getString("WorkbenchPreference.RefreshButtonToolTip")); //$NON-NLS-1$
-
-        boolean autoRefresh = ResourcesPlugin.getPlugin()
-                .getPluginPreferences().getBoolean(
-                        ResourcesPlugin.PREF_AUTO_REFRESH);
-        this.autoRefreshButton.setSelection(autoRefresh);
-    }
-
-    /**
-     * Check the state of the text
-     * @param text The widget to check
-     * @return <code>true</code> if the text has a valid number entered.
-     */
-    protected boolean checkState(Text text) {
-
-        if (text == null)
-            return false;
-        try {
-            Integer.valueOf(text.getText()).intValue();
-            setErrorMessage(null);
-            return true;
-        } catch (NumberFormatException e1) {
-            setErrorMessage(WorkInProgressMessages
-                    .getString("WorkInProgressPreferencePage.InvalidMessage")); //$NON-NLS-1$
-        }
-
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java
deleted file mode 100644
index b81a821..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/IElementFilter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * The IElementFilter is a interface that defines 
- * the api for filtering the current selection of 
- * a ResourceTreeAndListGroup in order to find a 
- * subset to update as the result of a type filtering.
- * This is meant as an internal class and is used exlcusively
- * by the import dialog.
- */
-
-public interface IElementFilter {
-
-    public void filterElements(Collection elements, IProgressMonitor monitor)
-            throws InterruptedException;
-
-    public void filterElements(Object[] elements, IProgressMonitor monitor)
-            throws InterruptedException;
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java
deleted file mode 100644
index ce1a279..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InstallCapabilityStep.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.ICapabilityInstallWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.registry.Capability;
-
-/**
- * Represents a capability install step in a multi-step
- * wizard.
- */
-public class InstallCapabilityStep extends WizardStep {
-    private Capability capability;
-
-    private ICapabilityInstallWizard wizard;
-
-    private IWorkbench workbench;
-
-    private IProjectProvider projectProvider;
-
-    /**
-     * Creates the capability install step
-     * 
-     * @param number step order number
-     * @param capability the capability to install
-     */
-    public InstallCapabilityStep(int number, Capability capability,
-            IWorkbench workbench, IProjectProvider projectProvider) {
-        super(number);
-        this.capability = capability;
-        this.workbench = workbench;
-        this.projectProvider = projectProvider;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public String getLabel() {
-        return IDEWorkbenchMessages
-                .format(
-                        "InstallCapabilityStep.label", new Object[] { capability.getName() }); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public String getDetails() {
-        return capability.getInstallDetails();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public IWizard getWizard() {
-        if (wizard == null) {
-            wizard = capability.getInstallWizard();
-            if (wizard != null) {
-                wizard.init(workbench, StructuredSelection.EMPTY,
-                        projectProvider.getProject());
-                wizard.addPages();
-            }
-        }
-
-        return wizard;
-    }
-
-    interface IProjectProvider {
-        /**
-         * Returns the project to which the capability
-         * is to be configured against.
-         */
-        public IProject getProject();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java
deleted file mode 100644
index a59fc96..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/InternalErrorDialog.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Added a Details button to the MessageDialog to show the exception
- * stack trace.
- */
-public class InternalErrorDialog extends MessageDialog {
-
-    private Throwable detail;
-
-    private int detailButtonID = -1;
-
-    private Text text;
-
-    //Workaround. SWT does not seem to set the default button if 
-    //there is not control with focus. Bug: 14668
-    private int defaultButtonIndex = 0;
-
-    /**
-     * Size of the text in lines.
-     */
-    private static final int TEXT_LINE_COUNT = 15;
-
-    /**
-     * Create a new dialog.
-     * 
-     * @param parentShell the parent shell
-     * @param dialogTitle the  title
-     * @param dialogTitleImage the title image
-     * @param dialogMessage the message
-     * @param detail the error to display
-     * @param dialogImageType the type of image
-     * @param dialogButtonLabels the button labels
-     * @param defaultIndex the default selected button index
-     */
-    public InternalErrorDialog(Shell parentShell, String dialogTitle,
-            Image dialogTitleImage, String dialogMessage, Throwable detail,
-            int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
-        super(parentShell, dialogTitle, dialogTitleImage, dialogMessage,
-                dialogImageType, dialogButtonLabels, defaultIndex);
-        defaultButtonIndex = defaultIndex;
-        this.detail = detail;
-        setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL);
-    }
-
-    //Workaround. SWT does not seem to set rigth the default button if 
-    //there is not control with focus. Bug: 14668
-    public int open() {
-        create();
-        Button b = getButton(defaultButtonIndex);
-        b.setFocus();
-        b.getShell().setDefaultButton(b);
-        return super.open();
-    }
-
-    /**
-     * Set the detail button;
-     * @param index the detail button index
-     */
-    public void setDetailButton(int index) {
-        detailButtonID = index;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void buttonPressed(int buttonId) {
-        if (buttonId == detailButtonID) {
-            toggleDetailsArea();
-        } else {
-            setReturnCode(buttonId);
-            close();
-        }
-    }
-
-    /**
-     * Toggles the unfolding of the details area.  This is triggered by
-     * the user pressing the details button.
-     */
-    private void toggleDetailsArea() {
-        Point windowSize = getShell().getSize();
-        Point oldSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-        if (text != null) {
-            text.dispose();
-            text = null;
-            getButton(detailButtonID).setText(
-                    IDialogConstants.SHOW_DETAILS_LABEL);
-        } else {
-            createDropDownText((Composite) getContents());
-            getButton(detailButtonID).setText(
-                    IDialogConstants.HIDE_DETAILS_LABEL);
-        }
-
-        Point newSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        getShell()
-                .setSize(
-                        new Point(windowSize.x, windowSize.y
-                                + (newSize.y - oldSize.y)));
-    }
-
-    /**
-     * Create this dialog's drop-down list component.
-     *
-     * @param parent the parent composite
-     */
-    protected void createDropDownText(Composite parent) {
-        // create the list
-        text = new Text(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-        text.setFont(parent.getFont());
-
-        // print the stacktrace in the text field
-        try {
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            PrintStream ps = new PrintStream(baos);
-            detail.printStackTrace(ps);
-            ps.flush();
-            baos.flush();
-            text.setText(baos.toString());
-        } catch (IOException e) {
-        }
-
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL
-                | GridData.GRAB_VERTICAL);
-        data.heightHint = text.getLineHeight() * TEXT_LINE_COUNT;
-        data.horizontalSpan = 2;
-        text.setLayoutData(data);
-    }
-
-    /** 
-     * Convenience method to open a simple Yes/No question dialog.
-     *
-     * @param parent the parent shell of the dialog, or <code>null</code> if none
-     * @param title the dialog's title, or <code>null</code> if none
-     * @param message the message
-     * @param detail the error 
-     * @param defaultIndex the default index of the button to select
-     * @return <code>true</code> if the user presses the OK button,
-     *    <code>false</code> otherwise
-     */
-    public static boolean openQuestion(Shell parent, String title,
-            String message, Throwable detail, int defaultIndex) {
-        String[] labels;
-        if (detail == null)
-            labels = new String[] { IDialogConstants.YES_LABEL,
-                    IDialogConstants.NO_LABEL };
-        else
-            labels = new String[] { IDialogConstants.YES_LABEL,
-                    IDialogConstants.NO_LABEL,
-                    IDialogConstants.SHOW_DETAILS_LABEL };
-
-        InternalErrorDialog dialog = new InternalErrorDialog(parent, title,
-                null, // accept the default window icon
-                message, detail, QUESTION, labels, defaultIndex);
-        if (detail != null)
-            dialog.setDetailButton(2);
-        return dialog.open() == 0;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java
deleted file mode 100644
index 6c0bd81..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/LinkedResourcesPreferencePage.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Preference page for linked resources. 
- * This preference page allows enabling and disabling the workbench linked 
- * resource support.
- * It also shows all path variables currently defined in the workspace's path 
- * variable manager. The user may add, edit and remove path variables. 
- *  
- * @see org.eclipse.ui.internal.ide.dialogs.PathVariableDialog
- */
-public class LinkedResourcesPreferencePage extends PreferencePage implements
-        IWorkbenchPreferencePage {
-    private Label topLabel;
-
-    private PathVariablesGroup pathVariablesGroup;
-
-    /**
-     * Constructs a preference page of path variables.
-     * Omits "Restore Defaults"/"Apply Changes" buttons.
-     */
-    public LinkedResourcesPreferencePage() {
-        pathVariablesGroup = new PathVariablesGroup(true, IResource.FILE
-                | IResource.FOLDER);
-
-        this.noDefaultAndApplyButton();
-    }
-
-    /**
-     * Resets this page's internal state and creates its UI contents.
-     * 
-     * @see PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-     */
-    protected Control createContents(Composite parent) {
-        Font font = parent.getFont();
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-                IIDEHelpContextIds.LINKED_RESOURCE_PREFERENCE_PAGE);
-        // define container & its gridding
-        Composite pageComponent = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        pageComponent.setLayout(layout);
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        pageComponent.setLayoutData(data);
-        pageComponent.setFont(font);
-
-        final Button enableLinkedResourcesButton = new Button(pageComponent,
-                SWT.CHECK);
-        enableLinkedResourcesButton.setText(IDEWorkbenchMessages
-                .getString("LinkedResourcesPreference.enableLinkedResources")); //$NON-NLS-1$
-        enableLinkedResourcesButton.setFont(font);
-        enableLinkedResourcesButton
-                .addSelectionListener(new SelectionAdapter() {
-                    public void widgetSelected(SelectionEvent e) {
-                        boolean enabled = enableLinkedResourcesButton
-                                .getSelection();
-                        Preferences preferences = ResourcesPlugin.getPlugin()
-                                .getPluginPreferences();
-                        preferences.setValue(
-                                ResourcesPlugin.PREF_DISABLE_LINKING, !enabled);
-
-                        updateWidgetState(enabled);
-                        if (enabled) {
-                            MessageDialog
-                                    .openWarning(
-                                            getShell(),
-                                            IDEWorkbenchMessages
-                                                    .getString("LinkedResourcesPreference.linkedResourcesWarningTitle"), //$NON-NLS-1$ 
-                                            IDEWorkbenchMessages
-                                                    .getString("LinkedResourcesPreference.linkedResourcesWarningMessage")); //$NON-NLS-1$
-                        }
-                    }
-                });
-
-        createSpace(pageComponent);
-
-        topLabel = new Label(pageComponent, SWT.NONE);
-        topLabel.setText(IDEWorkbenchMessages
-                .getString("LinkedResourcesPreference.explanation")); //$NON-NLS-1$
-        data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        topLabel.setLayoutData(data);
-        topLabel.setFont(font);
-
-        pathVariablesGroup.createContents(pageComponent);
-
-        Preferences preferences = ResourcesPlugin.getPlugin()
-                .getPluginPreferences();
-        boolean enableLinking = !preferences
-                .getBoolean(ResourcesPlugin.PREF_DISABLE_LINKING);
-        enableLinkedResourcesButton.setSelection(enableLinking);
-        updateWidgetState(enableLinking);
-        return pageComponent;
-    }
-
-    /**
-     * Creates a tab of one horizontal spans.
-     *
-     * @param parent  the parent in which the tab should be created
-     */
-    protected static void createSpace(Composite parent) {
-        Label vfiller = new Label(parent, SWT.LEFT);
-        GridData gridData = new GridData();
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.BEGINNING;
-        gridData.grabExcessHorizontalSpace = false;
-        gridData.verticalAlignment = GridData.CENTER;
-        gridData.grabExcessVerticalSpace = false;
-        vfiller.setLayoutData(gridData);
-    }
-
-    /**
-     * Disposes the path variables group.
-     * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-     */
-    public void dispose() {
-        pathVariablesGroup.dispose();
-        super.dispose();
-    }
-
-    /**
-     * Empty implementation. This page does not use the workbench.
-     * 
-     * @see IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-     */
-    public void init(IWorkbench workbench) {
-    }
-
-    /**
-     * Commits the temporary state to the path variable manager in response to user
-     * confirmation.
-     * 
-     * @see PreferencePage#performOk()
-     * @see PathVariablesGroup#performOk()
-     */
-    public boolean performOk() {
-        return pathVariablesGroup.performOk();
-    }
-
-    /**
-     * Set the widget enabled state
-     * 
-     * @param enableLinking the new widget enabled state
-     */
-    protected void updateWidgetState(boolean enableLinking) {
-        topLabel.setEnabled(enableLinking);
-        pathVariablesGroup.setEnabled(enableLinking);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java
deleted file mode 100644
index f2253cb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepCapabilityWizard.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.dialogs.InstallCapabilityStep.IProjectProvider;
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
-
-public abstract class MultiStepCapabilityWizard extends MultiStepWizard
-        implements IProjectProvider {
-    /**
-     * Creates an empty wizard
-     */
-    protected MultiStepCapabilityWizard() {
-        super();
-    }
-
-    /**
-     * Returns the IDs of the perspectives to present
-     * as choices to the user.
-     */
-    protected abstract String[] getPerspectiveChoices();
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        if (!super.performFinish())
-            return false;
-
-        // Allow the user to choose which perspective to
-        // switch to.
-        if (isConfigureStepMode()) {
-            IWorkbenchWindow window = PlatformUI.getWorkbench()
-                    .getActiveWorkbenchWindow();
-            String[] perspIds = getPerspectiveChoices();
-            if (perspIds.length > 0) {
-                ProjectPerspectiveChoiceDialog dialog;
-                dialog = new ProjectPerspectiveChoiceDialog(window, perspIds);
-                dialog.open();
-                if (dialog.getReturnCode() == Dialog.OK)
-                    window = dialog.showChosenPerspective();
-            }
-
-            IProject project = getProject();
-            if (project != null) {
-                BasicNewResourceWizard.selectAndReveal(project, window);
-            }
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java
deleted file mode 100644
index efe8efe..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepConfigureWizardPage.java
+++ /dev/null
@@ -1,531 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *      activated and used by other components.
- *********************************************************************/
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-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.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.WizardStepGroup;
-
-/**
- * This page allows the user to go thru a series of steps. Each
- * step that has a wizard will have its pages embedded into this
- * page. At the end, the step will be asked to complete its work.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new MultiStepConfigureWizardPage("multiStepWizardPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Configure project capability.");
- * </pre>
- * </p>
- */
-public class MultiStepConfigureWizardPage extends WizardPage {
-    private MultiStepWizardDialog wizardDialog;
-
-    private Composite pageSite;
-
-    private WizardStepGroup stepGroup;
-
-    private WizardStepContainer stepContainer = new WizardStepContainer();
-
-    /**
-     * Creates a new multi-step wizard page.
-     *
-     * @param pageName the name of this page
-     */
-    public MultiStepConfigureWizardPage(String pageName) {
-        super(pageName);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage
-     */
-    public boolean canFlipToNextPage() {
-        return stepContainer.canFlipToNextPage();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        composite.setFont(parent.getFont());
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.NEW_PROJECT_CONFIGURE_WIZARD_PAGE);
-
-        createStepGroup(composite);
-        createEmbeddedPageSite(composite);
-
-        setControl(composite);
-    }
-
-    /**
-     * Creates the control where the step's wizard will
-     * display its pages.
-     */
-    private void createEmbeddedPageSite(Composite parent) {
-        pageSite = new Composite(parent, SWT.NONE);
-        pageSite.setLayout(new GridLayout());
-        pageSite.setLayoutData(new GridData(GridData.FILL_BOTH));
-    }
-
-    /**
-     * Creates the control for the step list
-     */
-    private void createStepGroup(Composite parent) {
-        stepGroup = new WizardStepGroup();
-        stepGroup.createContents(parent);
-    }
-
-    /**
-     * Returns the container handler for the pages
-     * of the step's wizard.
-     */
-    /* package */WizardStepContainer getStepContainer() {
-        return stepContainer;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public String getMessage() {
-        String msg = stepContainer.getMessage();
-        if (msg == null || msg.length() == 0)
-            msg = super.getMessage();
-        return msg;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage.
-     */
-    public IWizardPage getPreviousPage() {
-        return stepContainer.getPreviousPage();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage.
-     */
-    public void setPreviousPage(IWizardPage page) {
-        // Do not allow to go back
-        super.setPreviousPage(null);
-    }
-
-    /**
-     * Sets the steps to be displayed. Ignored if the
-     * createControl has not been called yet.
-     * 
-     * @param steps the collection of steps
-     */
-    /* package */void setSteps(WizardStep[] steps) {
-        if (stepGroup != null)
-            stepGroup.setSteps(steps);
-    }
-
-    /**
-     * Sets the multi-step wizard dialog processing this
-     * page.
-     */
-    /* package */void setWizardDialog(MultiStepWizardDialog dialog) {
-        wizardDialog = dialog;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        WizardStep[] steps = stepGroup.getSteps();
-        MultiStepWizard stepWizard = wizardDialog.getMultiStepWizard();
-        wizardDialog.setFinishLabel(stepWizard.getFinishStepLabel(steps));
-
-        getControl().getDisplay().asyncExec(new Runnable() {
-            public void run() {
-                stepContainer.processCurrentStep();
-            }
-        });
-    }
-
-    /**
-     * Support for handling pages from the step's wizard
-     */
-    /* package */class WizardStepContainer implements IWizardContainer {
-        private int stepIndex = 0;
-
-        private IWizard wizard;
-
-        private IWizardPage currentPage;
-
-        /* (non-Javadoc)
-         * Method declared on IRunnableContext.
-         */
-        public void run(boolean fork, boolean cancelable,
-                IRunnableWithProgress runnable)
-                throws InvocationTargetException, InterruptedException {
-            getContainer().run(fork, cancelable, runnable);
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public IWizardPage getCurrentPage() {
-            return currentPage;
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public Shell getShell() {
-            return getContainer().getShell();
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public void showPage(IWizardPage page) {
-            showPage(page, true);
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public void updateButtons() {
-            getContainer().updateButtons();
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public void updateMessage() {
-            getContainer().updateMessage();
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public void updateTitleBar() {
-            getContainer().updateTitleBar();
-        }
-
-        /* (non-Javadoc)
-         * Method declared on IWizardContainer.
-         */
-        public void updateWindowTitle() {
-            getContainer().updateWindowTitle();
-        }
-
-        /**
-         * Handles the back button pressed
-         */
-        public void backPressed() {
-            showPage(currentPage.getPreviousPage(), false);
-        }
-
-        /**
-         * Handles the next button pressed
-         */
-        public void nextPressed() {
-            showPage(currentPage.getNextPage(), true);
-        }
-
-        /**
-         * Handles the help button pressed
-         */
-        public void helpPressed() {
-            if (currentPage != null)
-                currentPage.performHelp();
-        }
-
-        /**
-         * Handles close request.
-         * 
-         * @return the result
-         */
-        public final boolean performCancel() {
-            if (wizard != null)
-                return wizard.performCancel();
-
-            return true;
-        }
-
-        /**
-         * Handles finish request.
-         * 
-         * @return the result
-         */
-        public final boolean performFinish() {
-            if (wizard != null) {
-                if (wizard.performFinish()) {
-                    wizard.dispose();
-                    wizard.setContainer(null);
-                    stepGroup.markStepAsDone();
-                    stepIndex++;
-                    return true;
-                }
-                return false;
-            }
-            return true;
-            
-        }
-
-        /**
-         * Calculates the difference in size between the given
-         * page and the page site. A larger page results 
-         * in a positive delta.
-         *
-         * @param page the page
-         * @return the size difference encoded
-         *   as a <code>new Point(deltaWidth,deltaHeight)</code>
-         */
-        private Point calculatePageSizeDelta(IWizardPage page) {
-            Control pageControl = page.getControl();
-
-            if (pageControl == null)
-                // control not created yet
-                return new Point(0, 0);
-
-            Point contentSize = pageControl.computeSize(SWT.DEFAULT,
-                    SWT.DEFAULT, true);
-            Rectangle rect = pageSite.getClientArea();
-            Point containerSize = new Point(rect.width, rect.height);
-
-            return new Point(Math.max(0, contentSize.x - containerSize.x), Math
-                    .max(0, contentSize.y - containerSize.y));
-        }
-
-        /**
-         * Computes the correct page site size for the given page
-         * and resizes the dialog if nessessary.
-         *
-         * @param page the wizard page
-         */
-        private void updateSizeForPage(IWizardPage page) {
-            // ensure the page container is large enough
-            Point delta = calculatePageSizeDelta(page);
-
-            if (delta.x > 0 || delta.y > 0) {
-                Point siteSize = pageSite.getSize();
-                GridData data = (GridData) pageSite.getLayoutData();
-                data.heightHint = siteSize.y + delta.y;
-                data.widthHint = siteSize.x + delta.x;
-            }
-        }
-
-        /**
-         * Computes the correct page site size for the given wizard
-         * and resizes the dialog if nessessary.
-         *
-         * @param wizard the wizard
-         */
-        private void updateSizeForWizard(IWizard wizard) {
-            Point delta = new Point(0, 0);
-            IWizardPage[] pages = wizard.getPages();
-            for (int i = 0; i < pages.length; i++) {
-                // ensure the page site is large enough
-                Point pageDelta = calculatePageSizeDelta(pages[i]);
-
-                delta.x = Math.max(delta.x, pageDelta.x);
-                delta.y = Math.max(delta.y, pageDelta.y);
-            }
-
-            if (delta.x > 0 || delta.y > 0) {
-                Point siteSize = pageSite.getSize();
-                GridData data = (GridData) pageSite.getLayoutData();
-                data.heightHint = siteSize.y + delta.y;
-                data.widthHint = siteSize.x + delta.x;
-            }
-        }
-
-        /**
-         * Process the current step's wizard.
-         */
-        public void processCurrentStep() {
-            WizardStep[] steps = stepGroup.getSteps();
-            while (stepIndex < steps.length) {
-                // adjust the finish button label
-                if (stepIndex == (steps.length - 1))
-                    wizardDialog.setFinishLabel(null);
-
-                final WizardStep step = steps[stepIndex];
-                stepGroup.setCurrentStep(step);
-
-                final IWizard[] stepWizard = new IWizard[1];
-                BusyIndicator.showWhile(getShell().getDisplay(),
-                        new Runnable() {
-                            public void run() {
-                                stepWizard[0] = step.getWizard();
-                                int tries = 0;
-                                while (stepWizard[0] == null && tries++ < 3) {
-                                    boolean tryAgain = wizardDialog
-                                            .getMultiStepWizard()
-                                            .handleMissingStepWizard(step);
-                                    if (!tryAgain)
-                                        break;
-
-                                    stepWizard[0] = step.getWizard();
-                                }
-                            }
-                        });
-
-                if (stepWizard[0] == null)
-                    break;
-                setWizard(stepWizard[0]);
-                if (stepWizard[0].getPageCount() > 0)
-                    return;
-
-                performFinish();
-            }
-
-            wizardDialog.forceClose();
-        }
-
-        /**
-         * Sets the current wizard.
-         * 
-         * @param newWizard the current wizard
-         */
-        public void setWizard(IWizard newWizard) {
-            wizard = newWizard;
-
-            // Allow the wizard pages to precreate their page controls
-            // This allows the wizard to open to the correct size
-            wizard.createPageControls(pageSite);
-
-            // Ensure that all of the created pages are initially not visible
-            IWizardPage[] pages = wizard.getPages();
-            for (int i = 0; i < pages.length; i++) {
-                IWizardPage page = pages[i];
-                if (page.getControl() != null)
-                    page.getControl().setVisible(false);
-            }
-
-            // Ensure the dialog is large enough for the wizard
-            updateSizeForWizard(wizard);
-            wizardDialog.updateLayout();
-
-            wizard.setContainer(this);
-            showPage(wizard.getStartingPage(), false);
-        }
-
-        /**
-         * Show the requested page.
-         * 
-         * @param page the page
-         * @param rememberPrevious whether hte previous page should be remembered
-         */
-        public void showPage(IWizardPage page, boolean rememberPrevious) {
-            if (page == null || page == currentPage)
-                return;
-
-            if (rememberPrevious && currentPage != null)
-                page.setPreviousPage(currentPage);
-
-            if (wizard != page.getWizard()) {
-                throw new IllegalStateException();
-            }
-
-            // ensure that page control has been created
-            // (this allows lazy page control creation)
-            if (page.getControl() == null) {
-                page.createControl(pageSite);
-                // the page is responsible for ensuring the created control is accessable
-                // via getControl.
-                if (page.getControl() == null) {
-                    throw new IllegalArgumentException();
-                }
-                // ensure the dialog is large enough for this page
-                updateSizeForPage(page);
-                wizardDialog.updateLayout();
-            }
-
-            // make the new page visible
-            IWizardPage oldPage = currentPage;
-            currentPage = page;
-            currentPage.setVisible(true);
-            if (oldPage != null)
-                oldPage.setVisible(false);
-            page.getControl().setBounds(pageSite.getClientArea());
-
-            // update the dialog controls
-            wizardDialog.updateAll();
-        }
-
-        /**
-         * Returns whether the current wizard can finish.
-         * 
-         * @return whether the wizard can finish
-         */
-        public boolean canWizardFinish() {
-            if (wizard != null)
-                return wizard.canFinish();
-
-            return false;
-        }
-
-        /**
-         * Returns whether the current page can flip to
-         * the next page.
-         * 
-         * @return can flip to next page
-         */
-        public boolean canFlipToNextPage() {
-            if (currentPage != null)
-                return currentPage.canFlipToNextPage();
-            return false;
-        }
-
-        /**
-         * Returns the current page's message.
-         * 
-         * @return the message
-         */
-        public String getMessage() {
-            if (currentPage != null)
-                return currentPage.getMessage();
-
-            return null;
-        }
-
-        /**
-         * Returns the current page's previous page.
-         * 
-         * @return the page
-         */
-        public IWizardPage getPreviousPage() {
-            if (currentPage != null)
-                return currentPage.getPreviousPage();
-
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java
deleted file mode 100644
index d6c4b3b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepReviewWizardPage.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *     activated and used by other components.
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.WizardStepGroup;
-
-/**
- * This page allows the user to review the steps to be done.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new MultiStepReviewWizardPage("multiStepReviewPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Review project.");
- * </pre>
- * </p>
- */
-public class MultiStepReviewWizardPage extends WizardPage {
-    private Text detailsField;
-
-    private Label instructionLabel;
-
-    private WizardStepGroup stepGroup;
-
-    private MultiStepWizard stepWizard;
-
-    /**
-     * Creates a new step review wizard page.
-     *
-     * @param pageName the name of this page
-     * @param stepWizard the wizard
-     */
-    public MultiStepReviewWizardPage(String pageName, MultiStepWizard stepWizard) {
-        super(pageName);
-        this.stepWizard = stepWizard;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage
-     */
-    public boolean canFlipToNextPage() {
-        // Already know there is a next page...
-        return isPageComplete() && !stepWizard.canFinishOnReviewPage();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.NEW_PROJECT_REVIEW_WIZARD_PAGE);
-
-        createStepGroup(composite);
-        createDetailsGroup(composite);
-        createInstructionsGroup(composite);
-
-        setControl(composite);
-    }
-
-    /**
-     * Creates the control for the details
-     */
-    private void createDetailsGroup(Composite parent) {
-        Font font = parent.getFont();
-        // Create a composite to hold everything together
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        // Add a label to identify the details text field
-        Label label = new Label(composite, SWT.LEFT);
-        label.setText(IDEWorkbenchMessages
-                .getString("MultiStepReviewWizardPage.detailsLabel")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        label.setLayoutData(data);
-        label.setFont(font);
-
-        // Text field to display the step's details
-        detailsField = new Text(composite, SWT.WRAP | SWT.MULTI | SWT.V_SCROLL
-                | SWT.BORDER);
-        detailsField.setText("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); // prefill to show 15 lines //$NON-NLS-1$
-        detailsField.setEditable(false);
-        detailsField.setLayoutData(new GridData(GridData.FILL_BOTH));
-        detailsField.setFont(font);
-    }
-
-    /**
-     * Creates the control for the instructions
-     */
-    private void createInstructionsGroup(Composite parent) {
-        instructionLabel = new Label(parent, SWT.LEFT);
-        instructionLabel.setText(IDEWorkbenchMessages
-                .getString("MultiStepReviewWizardPage.instructionFinishLabel")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        data.horizontalSpan = 2;
-        instructionLabel.setLayoutData(data);
-        instructionLabel.setFont(parent.getFont());
-    }
-
-    /**
-     * Creates the control for the step list
-     */
-    private void createStepGroup(Composite parent) {
-        stepGroup = new WizardStepGroup();
-        stepGroup.createContents(parent);
-        stepGroup.setSelectionListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                if (event.getSelection() instanceof IStructuredSelection) {
-                    IStructuredSelection sel = (IStructuredSelection) event
-                            .getSelection();
-                    WizardStep step = (WizardStep) sel.getFirstElement();
-                    if (step != null)
-                        detailsField.setText(step.getDetails());
-                }
-            }
-        });
-    }
-
-    /**
-     * Returns the steps to be displayed.
-     */
-    /* package */WizardStep[] getSteps() {
-        if (stepGroup != null)
-            return stepGroup.getSteps();
-
-        return new WizardStep[0];
-    }
-
-    /**
-     * Sets the steps to be displayed. Has no effect if
-     * the page is not yet created.
-     * 
-     * @param steps the collection of steps
-     */
-    /* package */void setSteps(WizardStep[] steps) {
-        if (stepGroup != null)
-            stepGroup.setSteps(steps);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        if (visible) {
-            if (stepWizard.canFinishOnReviewPage())
-                instructionLabel
-                        .setText(IDEWorkbenchMessages
-                                .getString("MultiStepReviewWizardPage.instructionFinishLabel")); //$NON-NLS-1$
-            else
-                instructionLabel
-                        .setText(IDEWorkbenchMessages
-                                .getString("MultiStepReviewWizardPage.instructionNextLabel")); //$NON-NLS-1$
-            ((Composite) getControl()).layout(true);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.java
deleted file mode 100644
index e162319..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizard.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.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.dialogs.MultiStepConfigureWizardPage.WizardStepContainer;
-
-/**
- * Standard workbench wizard to handle a multi-step page. The
- * wizard is allowed any number of pages before the multi-step
- * page is presented to the user.
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new MultiStepWizard();
- * WizardDialog dialog = new MultiStepWizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * </p>
- */
-public abstract class MultiStepWizard extends Wizard {
-    private MultiStepWizardDialog wizardDialog;
-
-    private MultiStepReviewWizardPage reviewPage;
-
-    private MultiStepConfigureWizardPage configPage;
-
-    /**
-     * Creates an empty wizard
-     */
-    protected MultiStepWizard() {
-        super();
-        setNeedsProgressMonitor(true);
-    }
-
-    /**
-     * Adds any custom pages to the wizard before
-     * the multi-step review and configure pages are
-     * added.
-     */
-    protected abstract void addCustomPages();
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public final void addPages() {
-        super.addPages();
-        addCustomPages();
-
-        reviewPage = new MultiStepReviewWizardPage(
-                "multiStepReviewWizardPage", this);//$NON-NLS-1$
-        reviewPage.setTitle(getReviewPageTitle()); //$NON-NLS-1$
-        reviewPage.setDescription(getReviewPageDescription()); //$NON-NLS-1$
-        this.addPage(reviewPage);
-
-        configPage = new MultiStepConfigureWizardPage(
-                "multiStepConfigureWizardPage");//$NON-NLS-1$
-        configPage.setTitle(getConfigurePageTitle()); //$NON-NLS-1$
-        configPage.setDescription(getConfigurePageDescription()); //$NON-NLS-1$
-        configPage.setWizardDialog(wizardDialog);
-        this.addPage(configPage);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean canFinish() {
-        if (getContainer().getCurrentPage() == reviewPage)
-            return canFinishOnReviewPage();
-        else if (isConfigureStepMode())
-            return getStepContainer().canWizardFinish();
-        else
-            return false;
-    }
-
-    /**
-     * Returns whether the wizard wants the Finish button
-     * enabled on the review page. Should only happen if
-     * there is only one step and that step does not require
-     * further interaction with the user. The Next button will
-     * be disabled and the instructions updated.
-     */
-    protected abstract boolean canFinishOnReviewPage();
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void dispose() {
-        super.dispose();
-        wizardDialog = null;
-    }
-
-    /**
-     * Returns the title for the multi-step configure
-     * page.
-     */
-    protected abstract String getConfigurePageTitle();
-
-    /**
-     * Returns the description for the multi-step configure
-     * page.
-     */
-    protected abstract String getConfigurePageDescription();
-
-    /**
-     * Returns the title for the multi-step review
-     * page.
-     */
-    protected abstract String getReviewPageTitle();
-
-    /**
-     * Returns the label used on the finish button to
-     * to indicate finishing a step. Can be <code>null</code>
-     * if no special label is required.
-     * <p>
-     * The default implementation is to return the translated
-     * label "Finish Step".
-     * </p><p>
-     * On the last step, the finish button label is changed to
-     * be "Finish" and will no be changed.
-     * </p>
-     */
-    protected String getFinishStepLabel(WizardStep[] steps) {
-        return IDEWorkbenchMessages.getString("MultiStepWizard.finishLabel"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public final IWizardPage getPreviousPage(IWizardPage page) {
-        if (page == configPage)
-            return null;
-        else
-            return super.getPreviousPage(page);
-    }
-
-    /**
-     * Returns the description for the multi-step review
-     * page.
-     */
-    protected abstract String getReviewPageDescription();
-
-    /**
-     * Returns the container handler for the pages
-     * of the step's wizard.
-     */
-    /* package */WizardStepContainer getStepContainer() {
-        return configPage.getStepContainer();
-    }
-
-    /**
-     * Handles the problem of a missing step wizard.
-     * 
-     * @return <code>true</code> to retry, <code>false</code> to terminate
-     * 		multi step wizard dialog.
-     */
-    /* package */abstract boolean handleMissingStepWizard(WizardStep step);
-
-    /**
-     * Returns whether the wizard is configuring steps
-     */
-    /* package */boolean isConfigureStepMode() {
-        return getContainer().getCurrentPage() == configPage;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public final boolean performCancel() {
-        if (isConfigureStepMode())
-            return getStepContainer().performCancel();
-        else
-            return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        // Finish on review page is a shortcut to performing
-        // the steps.
-        if (getContainer().getCurrentPage() == reviewPage) {
-            getContainer().showPage(configPage);
-            return false;
-        }
-
-        // Does nothing as each step is responsible
-        // to complete its work when its wizard is
-        // done.
-        return true;
-    }
-
-    /**
-     * Returns the collection of steps for the wizard.
-     */
-    public final WizardStep[] getSteps() {
-        if (reviewPage != null)
-            return reviewPage.getSteps();
-        else
-            return new WizardStep[0];
-    }
-
-    /**
-     * Sets the collection of steps for the wizard.
-     * Ignored if the multi-step review and configure
-     * pages are not yet created.
-     */
-    public final void setSteps(WizardStep[] steps) {
-        if (reviewPage != null)
-            reviewPage.setSteps(steps);
-        if (configPage != null)
-            configPage.setSteps(steps);
-    }
-
-    /**
-     * Sets the multi-step wizard dialog processing this
-     * wizard.
-     */
-    /* package */void setWizardDialog(MultiStepWizardDialog dialog) {
-        wizardDialog = dialog;
-        if (configPage != null)
-            configPage.setWizardDialog(wizardDialog);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.java
deleted file mode 100644
index abec46c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/MultiStepWizardDialog.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.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog to show a multi-step wizard to the end user. 
- * <p>
- * In typical usage, the client instantiates this class with 
- * a multi-step wizard. The dialog serves as the wizard container
- * and orchestrates the presentation of its pages.
- * <p>
- * The standard layout is roughly as follows: 
- * it has an area at the top containing both the
- * wizard's title, description, and image; the actual wizard page
- * appears in the middle; below that is a progress indicator
- * (which is made visible if needed); and at the bottom
- * of the page is message line and a button bar containing 
- * Help, Next, Back, Finish, and Cancel buttons (or some subset).
- * </p>
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- */
-public class MultiStepWizardDialog extends WizardDialog {
-    private MultiStepWizard multiStepWizard;
-
-    /**
-     * Creates a new wizard dialog for the given wizard. 
-     *
-     * @param parentShell the parent shell
-     * @param newWizard the multi-step wizard this dialog is working on
-     */
-    public MultiStepWizardDialog(Shell parentShell, MultiStepWizard newWizard) {
-        super(parentShell, newWizard);
-        multiStepWizard = newWizard;
-        multiStepWizard.setWizardDialog(this);
-    }
-
-    /**
-     * Forces the wizard dialog to close
-     */
-    /* package */void forceClose() {
-        super.finishPressed();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDialog.
-     */
-    protected void backPressed() {
-        if (multiStepWizard.isConfigureStepMode())
-            multiStepWizard.getStepContainer().backPressed();
-        else
-            super.backPressed();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDialog.
-     */
-    protected void finishPressed() {
-        if (multiStepWizard.isConfigureStepMode()) {
-            boolean success = multiStepWizard.getStepContainer()
-                    .performFinish();
-            if (success)
-                multiStepWizard.getStepContainer().processCurrentStep();
-        } else {
-            super.finishPressed();
-        }
-    }
-
-    /**
-     * Returns the multi-step wizard for this dialog
-     */
-    /* package */MultiStepWizard getMultiStepWizard() {
-        return multiStepWizard;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDialog.
-     */
-    protected void helpPressed() {
-        if (multiStepWizard.isConfigureStepMode())
-            multiStepWizard.getStepContainer().helpPressed();
-        else
-            super.helpPressed();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardDialog.
-     */
-    protected void nextPressed() {
-        if (multiStepWizard.isConfigureStepMode())
-            multiStepWizard.getStepContainer().nextPressed();
-        else
-            super.nextPressed();
-    }
-
-    /**
-     * Sets the label for the finish button
-     */
-    /* package */void setFinishLabel(String label) {
-        Button button = getButton(IDialogConstants.FINISH_ID);
-        if (button == null)
-            return;
-
-        if (label == null) {
-            if (!button.getText().equals(IDialogConstants.FINISH_LABEL)) {
-                button.setText(IDialogConstants.FINISH_LABEL);
-                ((Composite) button.getParent()).layout(true);
-            }
-        } else {
-            button.setText(label);
-            ((Composite) button.getParent()).layout(true);
-        }
-    }
-
-    /**
-     * Updates everything in the dialog
-     */
-    /* package */void updateAll() {
-        super.update();
-    }
-
-    /**
-     * Updates the layout of the dialog
-     */
-    /* package */void updateLayout() {
-        super.updateSize(getCurrentPage());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java
deleted file mode 100644
index 442b439..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/NewProjectWizard.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * Standard workbench wizard that guides the user to supply
- * the necessary information to create a project.
- */
-public class NewProjectWizard extends MultiStepCapabilityWizard implements
-        INewWizard {
-    // init method parameters supplied
-    private IWorkbench workbench;
-
-    // Reference to the pages provided by this wizard
-    private WizardNewProjectNameAndLocationPage creationPage;
-
-    private WizardNewProjectCapabilityPage capabilityPage;
-
-    // Newly created project
-    private IProject newProject;
-
-    // initial values for the pages provided by this wizard
-    private String initialProjectName;
-
-    private Capability[] initialProjectCapabilities;
-
-    private Category[] initialSelectedCategories;
-
-    /**
-     * Creates an empty wizard for creating a new project
-     * in the workspace.
-     */
-    public NewProjectWizard() {
-        super();
-
-        IDEWorkbenchPlugin plugin = IDEWorkbenchPlugin.getDefault();
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings section = workbenchSettings
-                .getSection("NewProjectWizard");//$NON-NLS-1$
-        if (section == null)
-            section = workbenchSettings.addNewSection("NewProjectWizard");//$NON-NLS-1$
-        setDialogSettings(section);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected void addCustomPages() {
-        creationPage = new WizardNewProjectNameAndLocationPage(
-                "newProjectCreationPage");//$NON-NLS-1$
-        creationPage.setTitle(IDEWorkbenchMessages
-                .getString("NewProjectWizard.title")); //$NON-NLS-1$
-        creationPage.setDescription(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.description")); //$NON-NLS-1$
-        creationPage.setInitialProjectName(initialProjectName);
-        this.addPage(creationPage);
-
-        capabilityPage = new WizardNewProjectCapabilityPage(
-                "newProjectCapabilityPage");//$NON-NLS-1$
-        capabilityPage.setTitle(IDEWorkbenchMessages
-                .getString("NewProjectWizard.title")); //$NON-NLS-1$
-        capabilityPage.setDescription(IDEWorkbenchMessages
-                .getString("WizardNewProjectCapabilityPage.description")); //$NON-NLS-1$
-        capabilityPage
-                .setInitialProjectCapabilities(initialProjectCapabilities);
-        capabilityPage.setInitialSelectedCategories(initialSelectedCategories);
-        this.addPage(capabilityPage);
-    }
-
-    /**
-     * Builds the collection of steps to create and install
-     * the chosen capabilities.
-     * 
-     * @return <code>true</code> if successful, <code>false</code>
-     * 		if a problem was detected.
-     */
-    private boolean buildSteps() {
-        Capability[] caps = capabilityPage.getSelectedCapabilities();
-        CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                .getCapabilityRegistry();
-        IStatus status = reg.validateCapabilities(caps);
-        if (status.isOK()) {
-            Capability[] results = reg.pruneCapabilities(caps);
-            WizardStep[] steps = new WizardStep[results.length + 1];
-            steps[0] = new CreateProjectStep(1, creationPage, this);
-            for (int i = 0; i < results.length; i++)
-                steps[i + 1] = new InstallCapabilityStep(i + 2, results[i],
-                        workbench, this);
-            setSteps(steps);
-            return true;
-        } else {
-            ErrorDialog.openError(getShell(), IDEWorkbenchMessages
-                    .getString("NewProjectWizard.errorTitle"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("NewProjectWizard.invalidCapabilities"), //$NON-NLS-1$
-                    status);
-            return false;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected boolean canFinishOnReviewPage() {
-        // yes if the only step is to create the project.
-        return getSteps().length == 1;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getConfigurePageTitle() {
-        return IDEWorkbenchMessages.getString("NewProjectWizard.title"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getConfigurePageDescription() {
-        return IDEWorkbenchMessages
-                .getString("WizardProjectConfigurePage.description"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getReviewPageTitle() {
-        return IDEWorkbenchMessages.getString("NewProjectWizard.title"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getReviewPageDescription() {
-        return IDEWorkbenchMessages
-                .getString("WizardProjectReviewPage.description"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getFinishStepLabel(WizardStep[] steps) {
-        // The first step is the project creation which has no wizard
-        // pages, so ignore it. If there is only one step after that,
-        // then it needs the "Finish" label. So the "Finish Step" label
-        // is only needed if more than 2 steps in the list.
-        if (steps.length > 2)
-            return super.getFinishStepLabel(steps);
-        else
-            return null;
-    }
-
-    /**
-     * Returns the newly created project.
-     *
-     * @return the created project, or <code>null</code>
-     *   if project is not created yet.
-     */
-    public IProject getNewProject() {
-        return newProject;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String[] getPerspectiveChoices() {
-        ArrayList results = new ArrayList();
-        Capability[] caps = capabilityPage.getSelectedCapabilities();
-        for (int i = 0; i < caps.length; i++) {
-            ArrayList ids = caps[i].getPerspectiveChoices();
-            if (ids != null) {
-                Iterator it = ids.iterator();
-                while (it.hasNext()) {
-                    String id = (String) it.next();
-                    if (!results.contains(id))
-                        results.add(id);
-                }
-            }
-        }
-        String[] ids = new String[results.size()];
-        results.toArray(ids);
-        return ids;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IProjectProvider.
-     */
-    public IProject getProject() {
-        return newProject;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public IWizardPage getNextPage(IWizardPage page) {
-        if (page == capabilityPage) {
-            if (!buildSteps())
-                return capabilityPage;
-        }
-        return super.getNextPage(page);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    /* package */boolean handleMissingStepWizard(WizardStep step) {
-        MessageDialog
-                .openError(
-                        getShell(),
-                        IDEWorkbenchMessages
-                                .getString("NewProjectWizard.errorTitle"), //$NON-NLS-1$
-                        IDEWorkbenchMessages
-                                .format(
-                                        "NewProjectWizard.noWizard", new Object[] { step.getLabel() })); //$NON-NLS-1$
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        this.workbench = workbench;
-        initializeDefaultPageImageDescriptor();
-        setWindowTitle(IDEWorkbenchMessages
-                .getString("NewProjectWizard.windowTitle")); //$NON-NLS-1$
-    }
-
-    /**
-     * Sets the image banner for the wizard
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$		
-        try {
-            // @issue when icons move to IDE, need to update the following
-            URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen. Ignore.
-        }
-    }
-
-    /**
-     * Sets the initial categories to be selected.
-     * 
-     * @param categories initial categories to select
-     */
-    public void setInitialSelectedCategories(Category[] categories) {
-        initialSelectedCategories = categories;
-    }
-
-    /**
-     * Sets the initial project capabilities to be selected.
-     * 
-     * @param capabilities initial project capabilities to select
-     */
-    public void setInitialProjectCapabilities(Capability[] capabilities) {
-        initialProjectCapabilities = capabilities;
-    }
-
-    /**
-     * Sets the initial project name. Leading and trailing
-     * spaces in the name are ignored.
-     * 
-     * @param name initial project name
-     */
-    public void setInitialProjectName(String name) {
-        if (name == null)
-            initialProjectName = null;
-        else
-            initialProjectName = name.trim();
-    }
-
-    /**
-     * Sets the newly created project resource
-     */
-    /* package */void setNewProject(IProject project) {
-        newProject = project;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java
deleted file mode 100644
index 6e162ff..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/OpenResourceDialog.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ResourceListSelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * Shows a list of resources to the user with a text entry field
- * for a string pattern used to filter the list of resources.
- *
- * @since 2.1
- */
-public class OpenResourceDialog extends ResourceListSelectionDialog {
-
-    /**
-     * Creates a new instance of the class.
-     * 
-     * @param parentShell the parent shell
-     * @param container the container
-     * @param typesMask the mask
-     */
-    public OpenResourceDialog(Shell parentShell, IContainer container,
-            int typesMask) {
-        super(parentShell, container, typesMask);
-        setTitle(IDEWorkbenchMessages.getString("OpenResourceDialog.title")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem()
-                .setHelp(parentShell, IIDEHelpContextIds.OPEN_RESOURCE_DIALOG);
-    }
-
-    /**
-     * Extends the super's filter to exclude derived resources.
-     * 
-     * @since 3.0
-     */
-    protected boolean select(IResource resource) {
-        return super.select(resource) && !resource.isDerived();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
deleted file mode 100644
index ee55b09..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableDialog.java
+++ /dev/null
@@ -1,608 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font
- *     should be activated and used by other components.
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.util.Set;
-
-import org.eclipse.core.resources.IPathVariableManager;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Dialog that prompts the user for defining a variable's name and value. It
- * supports creating a new variable or editing an existing one. The difference
- * between the two uses is just a matter of which messages to present to the
- * user and whether the "Ok" button starts enabled or not.
- */
-public class PathVariableDialog extends TitleAreaDialog {
-
-    // UI widgets
-    private Button okButton;
-
-    private Label variableNameLabel;
-
-    private Label variableValueLabel;
-
-    private Text variableNameField;
-
-    private Text variableValueField;
-
-    private Button fileButton;
-
-    private Button folderButton;
-
-    /**
-     * This dialog type: <code>NEW_VARIABLE</code> or
-     * <code>EXISTING_VARIABLE</code>.
-     */
-    private int type;
-
-    /**
-     * The type of variable that can be edited in this dialog.
-     * <code>IResource.FILE</code> or <code>IResource.FOLDER</code>
-     */
-    private int variableType;
-
-    /**
-     * The name of the variable being edited.
-     */
-    private String variableName;
-
-    /**
-     * The value of the variable being edited.
-     */
-    private String variableValue;
-
-    /**
-     * The original name of the variable being edited. It is used when testing
-     * if the current variable's name is already in use.
-     */
-    private String originalName;
-
-    /**
-     * Used to select the proper message depending on the current mode
-     * (new/existing variable).
-     */
-    private boolean newVariable;
-
-    /**
-     * Reference to the path variable manager. It is used for validating
-     * variable names.
-     */
-    private IPathVariableManager pathVariableManager;
-
-    /**
-     * Set of variable names currently in use. Used when warning the user that
-     * the currently selected name is already in use by another variable.
-     */
-    private Set namesInUse;
-
-    /**
-     * The current validation status. Its value can be one of the following:<ul>
-     * <li><code>IMessageProvider.NONE</code> (default);</li>
-     * <li><code>IMessageProvider.WARNING</code>;</li>
-     * <li><code>IMessageProvider.ERROR</code>;</li>
-     * </ul>
-     * Used when validating the user input.
-     */
-    private int validationStatus;
-
-    /**
-     * The current validation message generated by the last
-     * call to a <code>validate</code> method.
-     */
-    private String validationMessage;
-
-    /**
-     * Whether a variable name has been entered.  
-     */
-    private boolean nameEntered = false;
-
-    /**
-     * Whether a variable location has been entered.  
-     */
-    private boolean locationEntered = false;
-
-    /**
-     * The standard message to be shown when there are no problems being
-     * reported.
-     */
-    final private String standardMessage;
-
-    /**
-     * Constant for defining this dialog as intended to create a new variable
-     * (value = 1).
-     */
-    public final static int NEW_VARIABLE = 1;
-
-    /**
-     * Constant for defining this dialog as intended to edit an existing
-     * variable (value = 2).
-     */
-    public final static int EXISTING_VARIABLE = 2;
-
-    /**
-     * Constructs a dialog for editing a new/existing path variable.
-     * 
-     * @param parentShell the parent shell
-     * @param type the dialog type: <code>NEW_VARIABLE</code> or
-     * 	<code>EXISTING_VARIABLE</code>
-     * @param variableType the type of variable that can be edited in 
-     * 	this dialog. <code>IResource.FILE</code> or <code>IResource.FOLDER</code>
-     * @param pathVariableManager a reference to the path variable manager
-     * @param namesInUse a set of variable names currently in use 
-     */
-    public PathVariableDialog(Shell parentShell, int type, int variableType,
-            IPathVariableManager pathVariableManager, Set namesInUse) {
-        super(parentShell);
-        this.type = type;
-        this.newVariable = type == NEW_VARIABLE;
-        this.variableName = ""; //$NON-NLS-1$
-        this.variableValue = ""; //$NON-NLS-1$
-        this.variableType = variableType;
-        this.pathVariableManager = pathVariableManager;
-        this.namesInUse = namesInUse;
-
-        if (newVariable)
-            this.standardMessage = IDEWorkbenchMessages
-                    .getString("PathVariableDialog.message.newVariable"); //$NON-NLS-1$
-        else
-            this.standardMessage = IDEWorkbenchMessages
-                    .getString("PathVariableDialog.message.existingVariable"); //$NON-NLS-1$
-    }
-
-    /**
-     * Configures this dialog's shell, setting the shell's text.
-     * 
-     * @see org.eclipse.jface.window.Window#configureShell(Shell)
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        if (newVariable)
-            shell.setText(IDEWorkbenchMessages
-                    .getString("PathVariableDialog.shellTitle.newVariable")); //$NON-NLS-1$
-        else
-            shell
-                    .setText(IDEWorkbenchMessages
-                            .getString("PathVariableDialog.shellTitle.existingVariable")); //$NON-NLS-1$
-    }
-
-    /**
-     * Creates and returns the contents of this dialog (except for the button bar).
-     * 
-     * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea
-     */
-    protected Control createDialogArea(Composite parent) {
-        // top level composite
-        Composite parentComposite = (Composite) super.createDialogArea(parent);
-
-        // creates dialog area composite
-        Composite contents = createComposite(parentComposite);
-
-        // creates and lay outs dialog area widgets 
-        createWidgets(contents, parent.getFont());
-
-        // validate possibly already incorrect variable definitions
-        if (type == EXISTING_VARIABLE) {
-            nameEntered = locationEntered = true;
-            validateVariableValue();
-        }
-
-        return contents;
-    }
-
-    /**
-     * Creates and configures this dialog's main composite.
-     * 
-     * @param parentComposite parent's composite
-     * @return this dialog's main composite
-     */
-    private Composite createComposite(Composite parentComposite) {
-        // creates a composite with standard margins and spacing
-        Composite contents = new Composite(parentComposite, SWT.NONE);
-
-        FormLayout layout = new FormLayout();
-
-        layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-        layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-
-        contents.setLayout(layout);
-        contents.setFont(parentComposite.getFont());
-
-        if (newVariable)
-            setTitle(IDEWorkbenchMessages
-                    .getString("PathVariableDialog.dialogTitle.newVariable")); //$NON-NLS-1$
-        else
-            setTitle(IDEWorkbenchMessages
-                    .getString("PathVariableDialog.dialogTitle.existingVariable")); //$NON-NLS-1$
-        setMessage(standardMessage);
-        return contents;
-    }
-
-    /**
-     * Creates widgets for this dialog.
-     * 
-     * @param parent the parent composite where to create widgets
-     * @param contents 
-     */
-    private void createWidgets(Composite contents, Font font) {
-        FormData data;
-
-        String nameLabelText = IDEWorkbenchMessages
-                .getString("PathVariableDialog.variableName"); //$NON-NLS-1$
-        String valueLabelText = IDEWorkbenchMessages
-                .getString("PathVariableDialog.variableValue"); //$NON-NLS-1$
-
-        // variable name label
-        variableNameLabel = new Label(contents, SWT.LEFT);
-        variableNameLabel.setText(nameLabelText);
-
-        data = new FormData();
-        variableNameLabel.setLayoutData(data);
-        variableNameLabel.setFont(font);
-
-        // variable value label
-        variableValueLabel = new Label(contents, SWT.LEFT);
-        variableValueLabel.setText(valueLabelText);
-
-        data = new FormData();
-        data.top = new FormAttachment(variableNameLabel,
-                convertVerticalDLUsToPixels(10));
-        variableValueLabel.setLayoutData(data);
-        variableValueLabel.setFont(font);
-
-        // the larger label will be used in the left attachments for the fields  
-        Label largerLabel = nameLabelText.length() > valueLabelText.length() ? variableNameLabel
-                : variableValueLabel;
-
-        // variable name field
-        variableNameField = new Text(contents, SWT.SINGLE | SWT.BORDER);
-        variableNameField.setText(variableName);
-
-        data = new FormData();
-        data.width = convertWidthInCharsToPixels(50);
-        data.left = new FormAttachment(largerLabel,
-                convertHorizontalDLUsToPixels(5));
-        variableNameField.setLayoutData(data);
-        variableNameField.setFont(font);
-        variableNameField.setFocus();
-
-        variableNameField.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent event) {
-                variableNameModified();
-            }
-        });
-
-        // variable value field
-        variableValueField = new Text(contents, SWT.SINGLE | SWT.BORDER);
-        variableValueField.setText(variableValue);
-
-        data = new FormData();
-        data.width = convertWidthInCharsToPixels(50);
-        data.left = new FormAttachment(largerLabel,
-                convertHorizontalDLUsToPixels(5));
-        data.top = new FormAttachment(variableNameLabel,
-                convertVerticalDLUsToPixels(10));
-        variableValueField.setLayoutData(data);
-        variableValueField.setFont(font);
-
-        variableValueField.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent event) {
-                variableValueModified();
-            }
-        });
-
-        // select file path button
-        fileButton = new Button(contents, SWT.PUSH);
-        fileButton.setText(IDEWorkbenchMessages
-                .getString("PathVariableDialog.file")); //$NON-NLS-1$
-        if ((variableType & IResource.FILE) == 0)
-            fileButton.setEnabled(false);
-
-        data = setButtonFormLayoutData(fileButton);
-        data.top = new FormAttachment(variableNameLabel,
-                convertVerticalDLUsToPixels(10));
-        data.left = new FormAttachment(variableValueField,
-                convertHorizontalDLUsToPixels(10));
-        data.right = new FormAttachment(100, -5);
-        fileButton.setLayoutData(data);
-        fileButton.setFont(font);
-
-        fileButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                selectFile();
-            }
-        });
-
-        // select folder path button
-        folderButton = new Button(contents, SWT.PUSH);
-        folderButton.setText(IDEWorkbenchMessages
-                .getString("PathVariableDialog.folder")); //$NON-NLS-1$
-        if ((variableType & IResource.FOLDER) == 0)
-            folderButton.setEnabled(false);
-
-        data = setButtonFormLayoutData(folderButton);
-        data.top = new FormAttachment(variableValueLabel,
-                convertVerticalDLUsToPixels(10));
-        data.left = new FormAttachment(variableValueField,
-                convertHorizontalDLUsToPixels(10));
-        data.right = new FormAttachment(100, -5);
-        folderButton.setLayoutData(data);
-        folderButton.setFont(font);
-
-        folderButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                selectFolder();
-            }
-        });
-    }
-
-    /**
-     * Sets the <code>FormData</code> on the specified button to be one that is
-     * spaced for the current dialog page units. The method
-     * <code>initializeDialogUnits</code> must be called once before calling this
-     * method for the first time.
-     * 
-     * @param button the button to set the <code>FormData</code>
-     * @return the <code>FormData</code> set on the specified button
-     */
-    private FormData setButtonFormLayoutData(Button button) {
-        FormData data = new FormData();
-        int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-        data.width = Math.max(widthHint, button.computeSize(SWT.DEFAULT,
-                SWT.DEFAULT, true).x);
-        button.setLayoutData(data);
-        return data;
-    }
-
-    /**
-     * Fires validations (variable name first) and updates enabled state for the
-     * "Ok" button accordingly.
-     */
-    private void variableNameModified() {
-        // updates and validates the variable name
-        variableName = variableNameField.getText().trim();
-        validationStatus = IMessageProvider.NONE;
-        okButton.setEnabled(validateVariableName() && validateVariableValue());
-        nameEntered = true;
-    }
-
-    /**
-     * Fires validations (variable value first) and updates enabled state for the
-     * "Ok" button accordingly.
-     */
-    private void variableValueModified() {
-        // updates and validates the variable value
-        variableValue = variableValueField.getText().trim();
-        validationStatus = IMessageProvider.NONE;
-        okButton.setEnabled(validateVariableValue() && validateVariableName());
-        locationEntered = true;
-    }
-
-    /**
-     * Opens a dialog where the user can select a folder path.
-     */
-    private void selectFolder() {
-        DirectoryDialog dialog = new DirectoryDialog(getShell());
-        dialog.setText(IDEWorkbenchMessages
-                .getString("PathVariableDialog.selectFolderTitle")); //$NON-NLS-1$
-        dialog.setMessage(IDEWorkbenchMessages
-                .getString("PathVariableDialog.selectFolderMessage")); //$NON-NLS-1$
-        dialog.setFilterPath(variableValue);
-        String res = dialog.open();
-        if (res != null) {
-            variableValue = new Path(res).makeAbsolute().toOSString();
-            variableValueField.setText(variableValue);
-        }
-    }
-
-    /**
-     * Opens a dialog where the user can select a file path.
-     */
-    private void selectFile() {
-        FileDialog dialog = new FileDialog(getShell());
-        dialog.setText(IDEWorkbenchMessages
-                .getString("PathVariableDialog.selectFileTitle")); //$NON-NLS-1$
-        dialog.setFilterPath(variableValue);
-        String res = dialog.open();
-        if (res != null) {
-            variableValue = new Path(res).makeAbsolute().toOSString();
-            variableValueField.setText(variableValue);
-        }
-    }
-
-    /**
-     * Adds buttons to this dialog's button bar.
-     * 
-     * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        okButton = createButton(parent, IDialogConstants.OK_ID,
-                IDialogConstants.OK_LABEL, true);
-        okButton.setEnabled(type == EXISTING_VARIABLE);
-
-        createButton(parent, IDialogConstants.CANCEL_ID,
-                IDialogConstants.CANCEL_LABEL, false);
-    }
-
-    /**
-     * Validates the current variable name, and updates this dialog's message.
-     * 
-     * @return true if the name is valid, false otherwise
-     */
-    private boolean validateVariableName() {
-        boolean allowFinish = false;
-
-        // if the current validationStatus is ERROR, no additional validation applies
-        if (validationStatus == IMessageProvider.ERROR)
-            return false;
-
-        // assumes everything will be ok
-        String message = standardMessage;
-        int newValidationStatus = IMessageProvider.NONE;
-
-        if (variableName.length() == 0) {
-            // the variable name is empty
-            if (nameEntered) {
-                // a name was entered before and is now empty
-                newValidationStatus = IMessageProvider.ERROR;
-                message = IDEWorkbenchMessages
-                        .getString("PathVariableDialog.variableNameEmptyMessage"); //$NON-NLS-1$
-            }
-        } else {
-            IStatus status = pathVariableManager.validateName(variableName);
-            if (!status.isOK()) {
-                // the variable name is not valid
-                newValidationStatus = IMessageProvider.ERROR;
-                message = status.getMessage();
-            } else if (namesInUse.contains(variableName)
-                    && !variableName.equals(originalName)) {
-                // the variable name is already in use
-                message = IDEWorkbenchMessages
-                        .getString("PathVariableDialog.variableAlreadyExistsMessage"); //$NON-NLS-1$
-                newValidationStatus = IMessageProvider.ERROR;
-            } else {
-                allowFinish = true;
-            }
-        }
-
-        // overwrite the current validation status / message only if everything is ok (clearing them)
-        // or if we have a more serious problem than the current one
-        if (validationStatus == IMessageProvider.NONE
-                || newValidationStatus == IMessageProvider.ERROR) {
-            validationStatus = newValidationStatus;
-            validationMessage = message;
-        }
-        // only set the message here if it is not going to be set in 
-        // validateVariableValue to avoid flashing.
-        if (allowFinish == false)
-            setMessage(validationMessage, validationStatus);
-        return allowFinish;
-    }
-
-    /**
-     * Validates the current variable value, and updates this dialog's message.
-     * 
-     * @return true if the value is valid, false otherwise
-     */
-    private boolean validateVariableValue() {
-        boolean allowFinish = false;
-
-        // if the current validationStatus is ERROR, no additional validation applies
-        if (validationStatus == IMessageProvider.ERROR)
-            return false;
-
-        // assumes everything will be ok
-        String message = standardMessage;
-        int newValidationStatus = IMessageProvider.NONE;
-
-        if (variableValue.length() == 0) {
-            // the variable value is empty
-            if (locationEntered) {
-                // a location value was entered before and is now empty
-                newValidationStatus = IMessageProvider.ERROR;
-                message = IDEWorkbenchMessages
-                        .getString("PathVariableDialog.variableValueEmptyMessage"); //$NON-NLS-1$
-            }
-        } else if (!Path.EMPTY.isValidPath(variableValue)) {
-            // the variable value is an invalid path
-            message = IDEWorkbenchMessages
-                    .getString("PathVariableDialog.variableValueInvalidMessage"); //$NON-NLS-1$
-            newValidationStatus = IMessageProvider.ERROR;
-        } else if (!new Path(variableValue).isAbsolute()) {
-            // the variable value is a relative path
-            message = IDEWorkbenchMessages
-                    .getString("PathVariableDialog.pathIsRelativeMessage"); //$NON-NLS-1$
-            newValidationStatus = IMessageProvider.ERROR;
-        } else if (!new File(variableValue).exists()) {
-            // the path does not exist (warning)
-            message = IDEWorkbenchMessages
-                    .getString("PathVariableDialog.pathDoesNotExistMessage"); //$NON-NLS-1$
-            newValidationStatus = IMessageProvider.WARNING;
-            allowFinish = true;
-        } else {
-            allowFinish = true;
-        }
-
-        // overwrite the current validation status / message only if everything is ok (clearing them)
-        // or if we have a more serious problem than the current one
-        if (validationStatus == IMessageProvider.NONE
-                || newValidationStatus > validationStatus) {
-            validationStatus = newValidationStatus;
-            validationMessage = message;
-        }
-        setMessage(validationMessage, validationStatus);
-        return allowFinish;
-    }
-
-    /**
-     * Returns the variable name.
-     * 
-     * @return the variable name
-     */
-    public String getVariableName() {
-        return variableName;
-    }
-
-    /**
-     * Returns the variable value.
-     * 
-     * @return the variable value
-     */
-    public String getVariableValue() {
-        return variableValue;
-    }
-
-    /**
-     * Sets the variable name.
-     * 
-     * @param variableName the new variable name
-     */
-    public void setVariableName(String variableName) {
-        this.variableName = variableName.trim();
-        this.originalName = this.variableName;
-    }
-
-    /**
-     * Sets the variable value.
-     * 
-     * @param variableValue the new variable value
-     */
-    public void setVariableValue(String variableValue) {
-        this.variableValue = variableValue;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java
deleted file mode 100644
index 783ea1c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariableSelectionDialog.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * A selection dialog which shows the path variables defined in the 
- * workspace.
- * The <code>getResult</code> method returns the name(s) of the 
- * selected path variable(s).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- *  PathVariableSelectionDialog dialog =
- *    new PathVariableSelectionDialog(getShell(), IResource.FOLDER);
- *	dialog.open();
- *	String[] result = (String[]) dialog.getResult();
- * </pre> 	
- * </p>
- * 
- * @since 2.1
- */
-public class PathVariableSelectionDialog extends SelectionDialog {
-    private static final int EXTEND_ID = IDialogConstants.CLIENT_ID + 1;
-
-    private PathVariablesGroup pathVariablesGroup;
-
-    private int variableType;
-
-    /**
-     * Creates a path variable selection dialog.
-     *
-     * @param parentShell the parent shell
-     * @param variableType the type of variables that are displayed in 
-     * 	this dialog. <code>IResource.FILE</code> and/or <code>IResource.FOLDER</code>
-     * 	logically ORed together.
-     */
-    public PathVariableSelectionDialog(Shell parentShell, int variableType) {
-        super(parentShell);
-        setTitle(IDEWorkbenchMessages
-                .getString("PathVariableSelectionDialog.title")); //$NON-NLS-1$
-        this.variableType = variableType;
-        pathVariablesGroup = new PathVariablesGroup(false, variableType,
-                new Listener() {
-                    public void handleEvent(Event event) {
-                        updateExtendButtonState();
-                    }
-                });
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-    }
-
-    /**
-     * Handles an "Extend" button press.
-     * 
-     * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-     */
-    protected void buttonPressed(int buttonId) {
-        if (buttonId == EXTEND_ID) {
-            FileFolderSelectionDialog dialog = new FileFolderSelectionDialog(
-                    getShell(), false, variableType);
-            PathVariablesGroup.PathVariableElement selection = pathVariablesGroup
-                    .getSelection()[0];
-            dialog
-                    .setTitle(IDEWorkbenchMessages
-                            .getString("PathVariableSelectionDialog.ExtensionDialog.title")); //$NON-NLS-1$
-            dialog
-                    .setMessage(IDEWorkbenchMessages
-                            .format(
-                                    "PathVariableSelectionDialog.ExtensionDialog.description", new Object[] { selection.name })); //$NON-NLS-1$
-            dialog.setInput(selection.path.toFile());
-            if (dialog.open() == Window.OK
-                    && pathVariablesGroup.performOk()) {
-                setExtensionResult(selection, (File) dialog.getResult()[0]);
-                super.okPressed();
-            }
-        } else
-            super.buttonPressed(buttonId);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-                IIDEHelpContextIds.PATH_VARIABLE_SELECTION_DIALOG);
-    }
-
-    /**
-     * Adds an Extend button in addition to OK, Cancel.
-     * 
-     * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(Composite)
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-                true);
-        createButton(parent, EXTEND_ID, IDEWorkbenchMessages
-                .getString("PathVariableSelectionDialog.extendButton"), false);//$NON-NLS-1$	
-        createButton(parent, IDialogConstants.CANCEL_ID,
-                IDialogConstants.CANCEL_LABEL, false);
-        updateExtendButtonState();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // create composite 
-        Composite dialogArea = (Composite) super.createDialogArea(parent);
-
-        pathVariablesGroup.createContents(dialogArea);
-        return dialogArea;
-    }
-
-    /**
-     * Disposes the path variables group.
-     * @see org.eclipse.jface.window.Window#close()
-     */
-    public boolean close() {
-        pathVariablesGroup.dispose();
-        return super.close();
-    }
-
-    /**
-     * Sets the dialog result to the selected path variable name(s). 
-     */
-    protected void okPressed() {
-        if (pathVariablesGroup.performOk()) {
-            PathVariablesGroup.PathVariableElement[] selection = pathVariablesGroup
-                    .getSelection();
-            String[] variableNames = new String[selection.length];
-
-            for (int i = 0; i < selection.length; i++)
-                variableNames[i] = selection[i].name;
-            setSelectionResult(variableNames);
-        } else {
-            setSelectionResult(null);
-        }
-        super.okPressed();
-    }
-
-    /**
-     * Sets the dialog result to the concatenated variable name and extension.
-     * 
-     * @param variable variable selected in the variables list and extended
-     * 	by <code>extensionFile</code>
-     * @param extensionFile file selected to extend the variable.
-     */
-    private void setExtensionResult(
-            PathVariablesGroup.PathVariableElement variable, File extensionFile) {
-        IPath extensionPath = new Path(extensionFile.getPath());
-        int matchCount = extensionPath.matchingFirstSegments(variable.path);
-        IPath resultPath = new Path(variable.name);
-
-        extensionPath = extensionPath.removeFirstSegments(matchCount);
-        resultPath = resultPath.append(extensionPath);
-        setSelectionResult(new String[] { resultPath.toOSString() });
-    }
-
-    /**
-     * Updates the enabled state of the Extend button based on the 
-     * current variable selection.
-     */
-    protected void updateExtendButtonState() {
-        PathVariablesGroup.PathVariableElement[] selection = pathVariablesGroup
-                .getSelection();
-        Button extendButton = getButton(EXTEND_ID);
-
-        if (extendButton == null)
-            return;
-        if (selection.length == 1) {
-            File file = selection[0].path.toFile();
-            if (file.exists() == false || file.isFile())
-                extendButton.setEnabled(false);
-            else
-                extendButton.setEnabled(true);
-        } else
-            extendButton.setEnabled(false);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java
deleted file mode 100644
index 8ba0df4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/PathVariablesGroup.java
+++ /dev/null
@@ -1,574 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.eclipse.core.resources.IPathVariableManager;
-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.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-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.TableItem;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A widget group that displays path variables. 
- * Includes buttons to edit, remove existing variables and create new ones.
- * 
- * @since 2.1
- */
-public class PathVariablesGroup {
-    /**
-     * Simple data structure that holds a path variable name/value pair.
-     */
-    public static class PathVariableElement {
-        public String name;
-
-        public IPath path;
-    }
-
-    // sizing constants
-    private static final int SIZING_SELECTION_PANE_WIDTH = 400;
-
-    // parent shell
-    private Shell shell;
-
-    private Label variableLabel;
-
-    private Table variableTable;
-
-    private Button addButton;
-
-    private Button editButton;
-
-    private Button removeButton;
-
-    // used to compute layout sizes
-    private FontMetrics fontMetrics;
-
-    // create a multi select table
-    private boolean multiSelect;
-
-    // IResource.FILE and/or IResource.FOLDER
-    private int variableType;
-
-    // External listener called when the table selection changes
-    private Listener selectionListener;
-
-    // temporary collection for keeping currently defined variables
-    private SortedMap tempPathVariables;
-
-    // set of removed variables' names
-    private Set removedVariableNames;
-
-    // reference to the workspace's path variable manager
-    private IPathVariableManager pathVariableManager;
-
-    // file image
-    private final Image FILE_IMG = PlatformUI.getWorkbench().getSharedImages()
-            .getImage(ISharedImages.IMG_OBJ_FILE);
-
-    // folder image
-    private final Image FOLDER_IMG = PlatformUI.getWorkbench()
-            .getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-
-    // unknown (non-existent) image. created locally, dispose locally
-    private Image imageUnkown;
-
-    /**
-     * Creates a new PathVariablesGroup.
-     *
-     * @param multiSelect create a multi select tree
-     * @param variableType the type of variables that are displayed in 
-     * 	the widget group. <code>IResource.FILE</code> and/or <code>IResource.FOLDER</code>
-     * 	logically ORed together.
-     */
-    public PathVariablesGroup(boolean multiSelect, int variableType) {
-        this.multiSelect = multiSelect;
-        this.variableType = variableType;
-        pathVariableManager = ResourcesPlugin.getWorkspace()
-                .getPathVariableManager();
-        removedVariableNames = new HashSet();
-        tempPathVariables = new TreeMap();
-        // initialize internal model
-        initTemporaryState();
-    }
-
-    /**
-     * Creates a new PathVariablesGroup.
-     *
-     * @param multiSelect create a multi select tree
-     * @param variableType the type of variables that are displayed in 
-     * 	the widget group. <code>IResource.FILE</code> and/or <code>IResource.FOLDER</code>
-     * 	logically ORed together.
-     * @param selectionListener listener notified when the selection changes
-     * 	in the variables list.
-     */
-    public PathVariablesGroup(boolean multiSelect, int variableType,
-            Listener selectionListener) {
-        this(multiSelect, variableType);
-        this.selectionListener = selectionListener;
-    }
-
-    /**
-     * Opens a dialog for creating a new variable.
-     */
-    private void addNewVariable() {
-        // constructs a dialog for editing the new variable's current name and value
-        PathVariableDialog dialog = new PathVariableDialog(shell,
-                PathVariableDialog.NEW_VARIABLE, variableType,
-                pathVariableManager, tempPathVariables.keySet());
-
-        // opens the dialog - just returns if the user cancels it
-        if (dialog.open() == Window.CANCEL)
-            return;
-
-        // otherwise, adds the new variable (or updates an existing one) in the
-        // temporary collection of currently defined variables
-        String newVariableName = dialog.getVariableName();
-        IPath newVariableValue = new Path(dialog.getVariableValue());
-        tempPathVariables.put(newVariableName, newVariableValue);
-
-        // the UI must be updated
-        updateWidgetState(newVariableName);
-    }
-
-    /**
-     * Creates the widget group.
-     * Callers must call <code>dispose</code> when the group is no 
-     * longer needed.
-     * 
-     * @param parent the widget parent
-     * @return container of the widgets 
-     */
-    public Control createContents(Composite parent) {
-        Font font = parent.getFont();
-
-        if (imageUnkown == null) {
-            ImageDescriptor descriptor = AbstractUIPlugin
-                    .imageDescriptorFromPlugin(
-                            IDEWorkbenchPlugin.IDE_WORKBENCH,
-                            "icons/full/obj16/warning.gif"); //$NON-NLS-1$
-            imageUnkown = descriptor.createImage();
-        }
-        initializeDialogUnits(parent);
-        shell = parent.getShell();
-
-        // define container & its layout
-        Composite pageComponent = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        pageComponent.setLayout(layout);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.widthHint = SIZING_SELECTION_PANE_WIDTH;
-        pageComponent.setLayoutData(data);
-        pageComponent.setFont(font);
-
-        // layout the table & its buttons
-        variableLabel = new Label(pageComponent, SWT.LEFT);
-        variableLabel.setText(IDEWorkbenchMessages
-                .getString("PathVariablesBlock.variablesLabel")); //$NON-NLS-1$
-        data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.horizontalSpan = 2;
-        variableLabel.setLayoutData(data);
-        variableLabel.setFont(font);
-
-        int tableStyle = SWT.BORDER | SWT.FULL_SELECTION;
-        if (multiSelect) {
-            tableStyle |= SWT.MULTI;
-        }
-        variableTable = new Table(pageComponent, tableStyle);
-        variableTable.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                updateEnabledState();
-                if (selectionListener != null)
-                    selectionListener.handleEvent(new Event());
-            }
-        });
-        data = new GridData(GridData.FILL_BOTH);
-        data.heightHint = variableTable.getItemHeight() * 7;
-        variableTable.setLayoutData(data);
-        variableTable.setFont(font);
-
-        createButtonGroup(pageComponent);
-        // populate table with current internal state and set buttons' initial state
-        updateWidgetState(null);
-
-        return pageComponent;
-    }
-
-    /**
-     * Disposes the group's resources. 
-     */
-    public void dispose() {
-        if (imageUnkown != null) {
-            imageUnkown.dispose();
-            imageUnkown = null;
-        }
-    }
-
-    /**
-     * Opens a dialog for editing an existing variable.
-     *
-     * @see PathVariableDialog
-     */
-    private void editSelectedVariable() {
-        // retrieves the name and value for the currently selected variable
-        TableItem item = variableTable.getItem(variableTable
-                .getSelectionIndex());
-        String variableName = (String) item.getData();
-        IPath variableValue = (IPath) tempPathVariables.get(variableName);
-
-        // constructs a dialog for editing the variable's current name and value
-        PathVariableDialog dialog = new PathVariableDialog(shell,
-                PathVariableDialog.EXISTING_VARIABLE, variableType,
-                pathVariableManager, tempPathVariables.keySet());
-        dialog.setVariableName(variableName);
-        dialog.setVariableValue(variableValue.toOSString());
-
-        // opens the dialog - just returns if the user cancels it
-        if (dialog.open() == Window.CANCEL)
-            return;
-
-        // the name can be changed, so we remove the current variable definition...
-        removedVariableNames.add(variableName);
-        tempPathVariables.remove(variableName);
-
-        String newVariableName = dialog.getVariableName();
-        IPath newVariableValue = new Path(dialog.getVariableValue());
-
-        // and add it again (maybe with a different name)
-        tempPathVariables.put(newVariableName, newVariableValue);
-
-        // now we must refresh the UI state
-        updateWidgetState(newVariableName);
-
-    }
-
-    /**
-     * Returns the enabled state of the group's widgets.
-     * Returns <code>true</code> if called prior to calling 
-     * <code>createContents</code>.
-     * 
-     * @return boolean the enabled state of the group's widgets.
-     * 	 <code>true</code> if called prior to calling <code>createContents</code>.
-     */
-    public boolean getEnabled() {
-        if (variableTable != null && !variableTable.isDisposed()) {
-            return variableTable.getEnabled();
-        }
-        return true;
-    }
-
-    /**
-     * Returns the selected variables.
-     *  
-     * @return the selected variables. Returns an empty array if 
-     * 	the widget group has not been created yet by calling 
-     * 	<code>createContents</code>
-     */
-    public PathVariableElement[] getSelection() {
-        if (variableTable == null) {
-            return new PathVariableElement[0];
-        }
-        TableItem[] items = variableTable.getSelection();
-        PathVariableElement[] selection = new PathVariableElement[items.length];
-
-        for (int i = 0; i < items.length; i++) {
-            String name = (String) items[i].getData();
-            selection[i] = new PathVariableElement();
-            selection[i].name = name;
-            selection[i].path = (IPath) tempPathVariables.get(name);
-        }
-        return selection;
-    }
-
-    /**
-     * Creates the add/edit/remove buttons
-     * 
-     * @param parent the widget parent
-     */
-    private void createButtonGroup(Composite parent) {
-        Font font = parent.getFont();
-        Composite groupComponent = new Composite(parent, SWT.NULL);
-        GridLayout groupLayout = new GridLayout();
-        groupLayout.marginWidth = 0;
-        groupLayout.marginHeight = 0;
-        groupComponent.setLayout(groupLayout);
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        groupComponent.setLayoutData(data);
-        groupComponent.setFont(font);
-
-        addButton = new Button(groupComponent, SWT.PUSH);
-        addButton.setText(IDEWorkbenchMessages
-                .getString("PathVariablesBlock.addVariableButton")); //$NON-NLS-1$
-        addButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                addNewVariable();
-            }
-        });
-        addButton.setFont(font);
-        setButtonLayoutData(addButton);
-
-        editButton = new Button(groupComponent, SWT.PUSH);
-        editButton.setText(IDEWorkbenchMessages
-                .getString("PathVariablesBlock.editVariableButton")); //$NON-NLS-1$
-        editButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                editSelectedVariable();
-            }
-        });
-        editButton.setFont(font);
-        setButtonLayoutData(editButton);
-
-        removeButton = new Button(groupComponent, SWT.PUSH);
-        removeButton.setText(IDEWorkbenchMessages
-                .getString("PathVariablesBlock.removeVariableButton")); //$NON-NLS-1$
-        removeButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                removeSelectedVariables();
-            }
-        });
-        removeButton.setFont(font);
-        setButtonLayoutData(removeButton);
-    }
-
-    /**
-     * Initializes the computation of horizontal and vertical dialog units
-     * based on the size of current font.
-     * <p>
-     * This method must be called before <code>setButtonLayoutData</code> 
-     * is called.
-     * </p>
-     *
-     * @param control a control from which to obtain the current font
-     */
-    protected void initializeDialogUnits(Control control) {
-        // Compute and store a font metric
-        GC gc = new GC(control);
-        gc.setFont(control.getFont());
-        fontMetrics = gc.getFontMetrics();
-        gc.dispose();
-    }
-
-    /**
-     * (Re-)Initialize collections used to mantain temporary variable state.
-     */
-    private void initTemporaryState() {
-        String[] varNames = pathVariableManager.getPathVariableNames();
-
-        tempPathVariables.clear();
-        for (int i = 0; i < varNames.length; i++) {
-            IPath value = pathVariableManager.getValue(varNames[i]);
-
-            // the value may not exist any more
-            if (value != null) {
-                boolean isFile = value.toFile().isFile();
-                if ((isFile && (variableType & IResource.FILE) != 0)
-                        || (isFile == false && (variableType & IResource.FOLDER) != 0)) {
-
-                    tempPathVariables.put(varNames[i], value);
-                }
-            }
-        }
-        removedVariableNames.clear();
-    }
-
-    /**
-     * Updates button enabled state, depending on the number of currently selected
-     * variables in the table.
-     */
-    private void updateEnabledState() {
-        int itemsSelectedCount = variableTable.getSelectionCount();
-        editButton.setEnabled(itemsSelectedCount == 1);
-        removeButton.setEnabled(itemsSelectedCount > 0);
-    }
-
-    /**
-     * Rebuilds table widget state with the current list of variables (reflecting
-     * any changes, additions and removals), and selects the item corresponding to
-     * the given variable name. If the variable name is <code>null</code>, the
-     * first item (if any) will be selected.
-     * 
-     * @param selectedVarName the name for the variable to be selected (may be
-     * <code>null</code>)
-     * @see IPathVariableManager#getPathVariableNames()
-     * @see IPathVariableManager#getValue(String)
-     */
-    private void updateVariableTable(String selectedVarName) {
-        variableTable.removeAll();
-        int selectedVarIndex = 0;
-        for (Iterator varNames = tempPathVariables.keySet().iterator(); varNames
-                .hasNext();) {
-            TableItem item = new TableItem(variableTable, SWT.NONE);
-            String varName = (String) varNames.next();
-            IPath value = (IPath) tempPathVariables.get(varName);
-            File file = value.toFile();
-
-            item.setText(varName + " - " + value.toOSString()); //$NON-NLS-1$ 
-            // the corresponding variable name is stored in each table widget item
-            item.setData(varName);
-            item.setImage(file.exists() ? (file.isFile() ? FILE_IMG
-                    : FOLDER_IMG) : imageUnkown);
-            if (varName.equals(selectedVarName))
-                selectedVarIndex = variableTable.getItemCount() - 1;
-        }
-        if (variableTable.getItemCount() > selectedVarIndex) {
-            variableTable.setSelection(selectedVarIndex);
-            if (selectionListener != null)
-                selectionListener.handleEvent(new Event());
-        } else if (variableTable.getItemCount() == 0
-                && selectionListener != null)
-            selectionListener.handleEvent(new Event());
-    }
-
-    /**
-     * Commits the temporary state to the path variable manager in response to user
-     * confirmation.
-     *
-     * @see IPathVariableManager#setValue(String, IPath)
-     */
-    public boolean performOk() {
-        try {
-            // first process removed variables  
-            for (Iterator removed = removedVariableNames.iterator(); removed
-                    .hasNext();) {
-                String removedVariableName = (String) removed.next();
-                // only removes variables that have not been added again
-                if (!tempPathVariables.containsKey(removedVariableName))
-                    pathVariableManager.setValue(removedVariableName, null);
-            }
-
-            // then process the current collection of variables, adding/updating them
-            for (Iterator current = tempPathVariables.entrySet().iterator(); current
-                    .hasNext();) {
-                Map.Entry entry = (Map.Entry) current.next();
-                String variableName = (String) entry.getKey();
-                IPath variableValue = (IPath) entry.getValue();
-                pathVariableManager.setValue(variableName, variableValue);
-            }
-            // re-initialize temporary state
-            initTemporaryState();
-
-            // performOk accepted
-            return true;
-        } catch (CoreException ce) {
-            ErrorDialog.openError(shell, null, null, ce.getStatus());
-        }
-        return false;
-    }
-
-    /**
-     * Removes the currently selected variables.
-     */
-    private void removeSelectedVariables() {
-        // remove each selected element
-        int[] selectedIndices = variableTable.getSelectionIndices();
-        for (int i = 0; i < selectedIndices.length; i++) {
-            TableItem selectedItem = variableTable.getItem(selectedIndices[i]);
-            String varName = (String) selectedItem.getData();
-            removedVariableNames.add(varName);
-            tempPathVariables.remove(varName);
-        }
-        updateWidgetState(null);
-    }
-
-    /**
-     * Sets the <code>GridData</code> on the specified button to
-     * be one that is spaced for the current dialog page units. The
-     * method <code>initializeDialogUnits</code> must be called once
-     * before calling this method for the first time.
-     *
-     * @param button the button to set the <code>GridData</code>
-     * @return the <code>GridData</code> set on the specified button
-     */
-    private GridData setButtonLayoutData(Button button) {
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-        int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics,
-                IDialogConstants.BUTTON_WIDTH);
-        data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT,
-                SWT.DEFAULT, true).x);
-        button.setLayoutData(data);
-        return data;
-    }
-
-    /**
-     * Sets the enabled state of the group's widgets.
-     * Does nothing if called prior to calling <code>createContents</code>.
-     * 
-     * @param enabled the new enabled state of the group's widgets
-     */
-    public void setEnabled(boolean enabled) {
-        if (variableTable != null && !variableTable.isDisposed()) {
-            variableLabel.setEnabled(enabled);
-            variableTable.setEnabled(enabled);
-            addButton.setEnabled(enabled);
-            if (enabled)
-                updateEnabledState();
-            else {
-                editButton.setEnabled(enabled);
-                removeButton.setEnabled(enabled);
-            }
-        }
-    }
-
-    /**
-     * Updates the widget's current state: refreshes the table with the current 
-     * defined variables, selects the item corresponding to the given variable 
-     * (selects the first item if <code>null</code> is provided) and updates 
-     * the enabled state for the Add/Remove/Edit buttons.
-     * 
-     * @param selectedVarName the name of the variable to be selected (may be null)
-     */
-    private void updateWidgetState(String selectedVarName) {
-        updateVariableTable(selectedVarName);
-        updateEnabledState();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java
deleted file mode 100644
index 399aff9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityEditingPropertyPage.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *     activated and used by other components.
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-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.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.wizard.IWizardContainer;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- * A property page for IProject resources to edit a single
- * capability at a time.
- */
-public class ProjectCapabilityEditingPropertyPage extends
-        ProjectCapabilityPropertyPage {
-    private static final int SIZING_WIZARD_WIDTH = 500;
-
-    private static final int SIZING_WIZARD_HEIGHT = 500;
-
-    private TableViewer table;
-
-    private Button addButton;
-
-    private Button removeButton;
-
-    private ArrayList disabledCaps = new ArrayList();
-
-    private Capability selectedCap;
-
-    private CapabilityRegistry reg;
-
-    /**
-     * Creates a new ProjectCapabilityEditingPropertyPage.
-     */
-    public ProjectCapabilityEditingPropertyPage() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-        Font font = parent.getFont();
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IIDEHelpContextIds.PROJECT_CAPABILITY_PROPERTY_PAGE);
-        noDefaultAndApplyButton();
-        reg = IDEWorkbenchPlugin.getDefault().getCapabilityRegistry();
-
-        Composite topComposite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        topComposite.setLayout(layout);
-        topComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        String instructions;
-        if (reg.hasCapabilities())
-            instructions = IDEWorkbenchMessages
-                    .getString("ProjectCapabilityPropertyPage.chooseCapabilities"); //$NON-NLS-1$
-        else
-            instructions = IDEWorkbenchMessages
-                    .getString("ProjectCapabilityPropertyPage.noCapabilities"); //$NON-NLS-1$
-        Label label = new Label(topComposite, SWT.LEFT);
-        label.setFont(font);
-        label.setText(instructions);
-
-        Capability[] caps = reg.getProjectDisabledCapabilities(getProject());
-        disabledCaps.addAll(Arrays.asList(caps));
-
-        Composite mainComposite = new Composite(topComposite, SWT.NONE);
-        layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        mainComposite.setLayout(layout);
-        mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        Composite capComposite = new Composite(mainComposite, SWT.NONE);
-        layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        capComposite.setLayout(layout);
-        capComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        label = new Label(capComposite, SWT.LEFT);
-        label.setFont(font);
-        label.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySelectionGroup.capabilities")); //$NON-NLS-1$
-
-        table = new TableViewer(capComposite, SWT.SINGLE | SWT.H_SCROLL
-                | SWT.V_SCROLL | SWT.BORDER);
-        table.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
-        table.getTable().setFont(font);
-        table.setLabelProvider(new CapabilityLabelProvider());
-        table.setContentProvider(getContentProvider());
-        table.setInput(getProject());
-
-        Composite buttonComposite = new Composite(mainComposite, SWT.NONE);
-        layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        buttonComposite.setLayout(layout);
-        buttonComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-        label = new Label(buttonComposite, SWT.LEFT);
-        label.setFont(font);
-        label.setText(""); //$NON-NLS-1$
-
-        addButton = new Button(buttonComposite, SWT.PUSH);
-        addButton.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilityEditingPropertyPage.add")); //$NON-NLS-1$
-        addButton.setEnabled(true);
-        addButton.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-                addCapability();
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-            }
-        });
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-        data.widthHint = Math.max(widthHint, addButton.computeSize(SWT.DEFAULT,
-                SWT.DEFAULT, true).x);
-        addButton.setLayoutData(data);
-        addButton.setFont(font);
-
-        removeButton = new Button(buttonComposite, SWT.PUSH);
-        removeButton.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilityEditingPropertyPage.remove")); //$NON-NLS-1$
-        removeButton.setEnabled(false);
-        removeButton.addSelectionListener(new SelectionListener() {
-            public void widgetSelected(SelectionEvent e) {
-                removeCapability(selectedCap);
-            }
-
-            public void widgetDefaultSelected(SelectionEvent e) {
-            }
-        });
-        data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-        data.widthHint = Math.max(widthHint, removeButton.computeSize(
-                SWT.DEFAULT, SWT.DEFAULT, true).x);
-        removeButton.setLayoutData(data);
-        removeButton.setFont(font);
-
-        table.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                selectedCap = null;
-                IStructuredSelection sel = (IStructuredSelection) event
-                        .getSelection();
-                if (sel != null)
-                    selectedCap = (Capability) sel.getFirstElement();
-                removeButton.setEnabled(selectedCap != null);
-            }
-        });
-
-        return topComposite;
-    }
-
-    /**
-     * Returns the content provider for the viewers
-     */
-    private IContentProvider getContentProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object parentElement) {
-                if (parentElement instanceof IProject)
-                    return reg.getProjectCapabilities((IProject) parentElement);
-                else
-                    return null;
-            }
-        };
-    }
-
-    /**
-     * Returns whether the category is considered disabled
-     */
-    private boolean isDisabledCapability(Capability cap) {
-        return disabledCaps.contains(cap);
-    }
-
-    private void addCapability() {
-        ProjectCapabilitySimpleAddWizard wizard;
-        wizard = new ProjectCapabilitySimpleAddWizard(
-                PlatformUI.getWorkbench(), StructuredSelection.EMPTY,
-                getProject());
-        WizardDialog dialog = new WizardDialog(getShell(), wizard);
-        dialog.create();
-        dialog.getShell().setSize(
-                Math.max(SIZING_WIZARD_WIDTH, dialog.getShell().getSize().x),
-                SIZING_WIZARD_HEIGHT);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(dialog.getShell(),
-                IIDEHelpContextIds.UPDATE_CAPABILITY_WIZARD);
-        dialog.open();
-
-        table.refresh();
-    }
-
-    private void removeCapability(Capability cap) {
-        ArrayList results = new ArrayList();
-        results.addAll(Arrays.asList(reg.getProjectCapabilities(getProject())));
-        results.remove(cap);
-        Capability[] caps = new Capability[results.size()];
-        results.toArray(caps);
-
-        for (int i = 0; i < caps.length; i++) {
-            List prereqs = Arrays.asList(reg.getPrerequisiteIds(caps[i]));
-            if (prereqs.contains(cap.getId())) {
-                MessageDialog
-                        .openWarning(
-                                getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .format(
-                                                "ProjectCapabilityPropertyPage.capabilityRequired", new Object[] { caps[i].getName() })); //$NON-NLS-1$
-                return;
-            }
-        }
-
-        IStatus status = reg.validateCapabilities(caps);
-        if (!status.isOK()) {
-            ErrorDialog
-                    .openError(
-                            getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilityPropertyPage.invalidSelection"), //$NON-NLS-1$
-                            status);
-            return;
-        }
-
-        String[] natureIds = new String[1];
-        natureIds[0] = cap.getNatureId();
-
-        ICapabilityUninstallWizard wizard = cap.getUninstallWizard();
-        if (wizard == null)
-            wizard = new RemoveCapabilityWizard();
-        if (wizard != null) {
-            wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY,
-                    getProject(), natureIds);
-            wizard.addPages();
-        }
-
-        if (wizard.getStartingPage() == null) {
-            wizard.setContainer(new StubContainer());
-            wizard.performFinish();
-            wizard.setContainer(null);
-        } else {
-            wizard = cap.getUninstallWizard();
-            if (wizard == null)
-                wizard = new RemoveCapabilityWizard();
-            if (wizard != null)
-                wizard.init(PlatformUI.getWorkbench(),
-                        StructuredSelection.EMPTY, getProject(), natureIds);
-            WizardDialog dialog = new WizardDialog(getShell(), wizard);
-            dialog.create();
-            dialog.getShell().setSize(
-                    Math
-                            .max(SIZING_WIZARD_WIDTH, dialog.getShell()
-                                    .getSize().x), SIZING_WIZARD_HEIGHT);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(
-					dialog.getShell(),
-					IIDEHelpContextIds.UPDATE_CAPABILITY_WIZARD);
-            dialog.open();
-        }
-
-        table.refresh();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public boolean performOk() {
-        return true;
-    }
-
-    class CapabilityLabelProvider extends LabelProvider {
-        private Map imageTable;
-
-        public void dispose() {
-            if (imageTable != null) {
-                Iterator it = imageTable.values().iterator();
-                while (it.hasNext())
-                    ((Image) it.next()).dispose();
-                imageTable = null;
-            }
-        }
-
-        public Image getImage(Object element) {
-            ImageDescriptor descriptor = ((Capability) element)
-                    .getIconDescriptor();
-            if (descriptor == null)
-                return null;
-
-            //obtain the cached image corresponding to the descriptor
-            if (imageTable == null) {
-                imageTable = new Hashtable(40);
-            }
-            Image image = (Image) imageTable.get(descriptor);
-            if (image == null) {
-                image = descriptor.createImage();
-                imageTable.put(descriptor, image);
-            }
-            return image;
-        }
-
-        public String getText(Object element) {
-            Capability cap = (Capability) element;
-            String text = cap.getName();
-            if (isDisabledCapability(cap))
-                text = IDEWorkbenchMessages
-                        .format(
-                                "ProjectCapabilitySelectionGroup.disabledLabel", new Object[] { text }); //$NON-NLS-1$
-            return text;
-        }
-    }
-
-    class StubContainer implements IWizardContainer {
-        public IWizardPage getCurrentPage() {
-            return null;
-        }
-
-        public Shell getShell() {
-            return ProjectCapabilityEditingPropertyPage.this.getShell();
-        }
-
-        public void showPage(IWizardPage page) {
-        }
-
-        public void updateButtons() {
-        }
-
-        public void updateMessage() {
-        }
-
-        public void updateTitleBar() {
-        }
-
-        public void updateWindowTitle() {
-        }
-
-        public void run(boolean fork, boolean cancelable,
-                IRunnableWithProgress runnable)
-                throws InvocationTargetException, InterruptedException {
-            new ProgressMonitorJobsDialog(getShell()).run(fork, cancelable,
-                    runnable);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java
deleted file mode 100644
index fc3df47..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilityPropertyPage.java
+++ /dev/null
@@ -1,204 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *       activated and used by other components.
- *********************************************************************/
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.ProjectCapabilitySelectionGroup;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * A property page for IProject resources to view and edit the
- * capabilities assigned to the project.
- */
-public class ProjectCapabilityPropertyPage extends PropertyPage {
-    /**
-     * The wizard dialog width
-     */
-    private static final int SIZING_WIZARD_WIDTH = 500;
-
-    /**
-     * The wizard dialog height
-     */
-    private static final int SIZING_WIZARD_HEIGHT = 500;
-
-    private IProject project;
-
-    private ProjectCapabilitySelectionGroup capabilityGroup;
-
-    /**
-     * Creates a new ProjectCapabilityPropertyPage.
-     */
-    public ProjectCapabilityPropertyPage() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IIDEHelpContextIds.PROJECT_CAPABILITY_PROPERTY_PAGE);
-        noDefaultAndApplyButton();
-        CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                .getCapabilityRegistry();
-
-        String instructions;
-        if (reg.hasCapabilities())
-            instructions = IDEWorkbenchMessages
-                    .getString("ProjectCapabilityPropertyPage.chooseCapabilities"); //$NON-NLS-1$
-        else
-            instructions = IDEWorkbenchMessages
-                    .getString("ProjectCapabilityPropertyPage.noCapabilities"); //$NON-NLS-1$
-        Label label = new Label(parent, SWT.LEFT);
-        label.setFont(parent.getFont());
-        label.setText(instructions);
-
-        Capability[] caps = reg.getProjectCapabilities(getProject());
-        Capability[] disabledCaps = reg
-                .getProjectDisabledCapabilities(getProject());
-        Category[] cats = new Category[0];
-        capabilityGroup = new ProjectCapabilitySelectionGroup(cats, caps,
-                disabledCaps, reg);
-        return capabilityGroup.createContents(parent);
-    }
-
-    /**
-     * Returns the project which this property page applies to
-     * 
-     * @return IProject the project for this property page
-     */
-    /* package */IProject getProject() {
-        if (project == null)
-            project = (IProject) getElement().getAdapter(IResource.class);
-
-        return project;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public boolean performOk() {
-        // Avoid doing any work if no changes were made.
-        if (!capabilityGroup.getCapabilitiesModified())
-            return true;
-
-        // Validate the requested changes are ok
-        CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                .getCapabilityRegistry();
-        Capability[] caps = capabilityGroup.getSelectedCapabilities();
-        IStatus status = reg.validateCapabilities(caps);
-        if (!status.isOK()) {
-            ErrorDialog
-                    .openError(
-                            getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilityPropertyPage.invalidSelection"), //$NON-NLS-1$
-                            status);
-            return true;
-        }
-
-        // Get the current set of nature ids on the project
-        String[] natureIds;
-        try {
-            natureIds = getProject().getDescription().getNatureIds();
-            natureIds = getProject().getWorkspace().sortNatureSet(natureIds);
-        } catch (CoreException e) {
-            ErrorDialog
-                    .openError(
-                            getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilityPropertyPage.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilityPropertyPage.internalError"), //$NON-NLS-1$
-                            e.getStatus());
-            return true;
-        }
-
-        // Keep only the nature ids whose capability is selected
-        ArrayList keepIds = new ArrayList();
-        ArrayList removeCaps = new ArrayList();
-        for (int i = 0; i < natureIds.length; i++) {
-            boolean isRemoved = true;
-            String id = natureIds[i];
-            for (int j = 0; j < caps.length; j++) {
-                if (id.equals(caps[j].getNatureId())) {
-                    keepIds.add(id);
-                    isRemoved = false;
-                    break;
-                }
-            }
-            if (isRemoved)
-                removeCaps.add(reg.getCapabilityForNature(id));
-        }
-
-        // Collect the capabilities to add
-        ArrayList newCaps = new ArrayList();
-        for (int i = 0; i < caps.length; i++) {
-            boolean isNew = true;
-            Capability cap = caps[i];
-            for (int j = 0; j < natureIds.length; j++) {
-                if (natureIds[j].equals(cap.getNatureId())) {
-                    isNew = false;
-                    break;
-                }
-            }
-            if (isNew)
-                newCaps.add(cap);
-        }
-
-        // Launch the step wizard if needed		
-        if (newCaps.size() > 0 || removeCaps.size() > 0) {
-            Capability[] newCapabilities = new Capability[newCaps.size()];
-            newCaps.toArray(newCapabilities);
-
-            Capability[] removeCapabilities = new Capability[removeCaps.size()];
-            removeCaps.toArray(removeCapabilities);
-
-            UpdateProjectCapabilityWizard wizard = new UpdateProjectCapabilityWizard(
-                    getProject(), newCapabilities, removeCapabilities);
-
-            MultiStepWizardDialog dialog = new MultiStepWizardDialog(
-                    getShell(), wizard);
-            dialog.create();
-            dialog.getShell().setSize(
-                    Math
-                            .max(SIZING_WIZARD_WIDTH, dialog.getShell()
-                                    .getSize().x), SIZING_WIZARD_HEIGHT);
-            PlatformUI.getWorkbench().getHelpSystem().setHelp(
-					dialog.getShell(),
-					IIDEHelpContextIds.UPDATE_CAPABILITY_WIZARD);
-            dialog.open();
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.java
deleted file mode 100644
index 884bde1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleAddWizard.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.ui.internal.ide.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-public class ProjectCapabilitySimpleAddWizard extends Wizard {
-    private ProjectCapabilitySimpleSelectionPage mainPage;
-
-    private IWorkbench workbench;
-
-    private IStructuredSelection selection;
-
-    private IProject project;
-
-    public ProjectCapabilitySimpleAddWizard(IWorkbench workbench,
-            IStructuredSelection selection, IProject project) {
-        super();
-        this.workbench = workbench;
-        this.selection = selection;
-        this.project = project;
-        setForcePreviousAndNextButtons(true);
-        setNeedsProgressMonitor(true);
-        initializeDefaultPageImageDescriptor();
-        setWindowTitle(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySimpleSelectionPage.windowTitle")); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard
-     */
-    public void addPages() {
-        mainPage = new ProjectCapabilitySimpleSelectionPage(
-                "projectCapabilitySimpleSelectionPage", //$NON-NLS-1$
-                workbench, selection, project);
-        mainPage.setTitle(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySimpleSelectionPage.title")); //$NON-NLS-1$
-        mainPage.setDescription(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySimpleSelectionPage.description")); //$NON-NLS-1$
-        addPage(mainPage);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean canFinish() {
-        return false;
-    }
-
-    /**
-     * Sets the image banner for the wizard
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$		
-        try {
-            // @issue when icons move to IDE, need to update the following
-            URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen. Ignore.
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard
-     */
-    public boolean performFinish() {
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java
deleted file mode 100644
index d3f7458..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectCapabilitySimpleSelectionPage.java
+++ /dev/null
@@ -1,245 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *       activated and used by other components.
- *********************************************************************/
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.ICapabilityInstallWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-public class ProjectCapabilitySimpleSelectionPage extends WizardPage {
-    private IWorkbench workbench;
-
-    private IStructuredSelection selection;
-
-    private IProject project;
-
-    private TreeViewer viewer;
-
-    private CapabilityRegistry reg;
-
-    private Capability chosenCapability;
-
-    private HashMap mapCapToWizard = new HashMap();
-
-    /**
-     * Creates an instance of this page.
-     */
-    public ProjectCapabilitySimpleSelectionPage(String pageName,
-            IWorkbench workbench, IStructuredSelection selection,
-            IProject project) {
-        super(pageName);
-        this.workbench = workbench;
-        this.selection = selection;
-        this.project = project;
-        this.reg = IDEWorkbenchPlugin.getDefault().getCapabilityRegistry();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage
-     */
-    public boolean canFlipToNextPage() {
-        return isPageComplete();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage
-     */
-    public void createControl(Composite parent) {
-        Font font = parent.getFont();
-        Composite topContainer = new Composite(parent, SWT.NONE);
-        topContainer.setLayout(new GridLayout());
-        topContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        Label label = new Label(topContainer, SWT.LEFT);
-        label.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySelectionGroup.capabilities")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        label.setLayoutData(data);
-        label.setFont(font);
-
-        viewer = new TreeViewer(topContainer, SWT.SINGLE | SWT.H_SCROLL
-                | SWT.V_SCROLL | SWT.BORDER);
-        viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-        viewer.getTree().setFont(font);
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-        viewer.setContentProvider(getContentProvider());
-        viewer.setInput(reg);
-
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                chosenCapability = null;
-                if (event.getSelection() instanceof IStructuredSelection) {
-                    IStructuredSelection sel = (IStructuredSelection) event
-                            .getSelection();
-                    if (sel != null && !sel.isEmpty()) {
-                        Object result = sel.getFirstElement();
-                        if (result instanceof Capability) {
-                            chosenCapability = (Capability) result;
-                        }
-                    }
-                }
-
-                setPageComplete(validateChosenCapability());
-            }
-        });
-
-        setControl(topContainer);
-    }
-
-    /**
-     * Returns the content provider for the viewer
-     */
-    private IContentProvider getContentProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object parentElement) {
-                if (parentElement instanceof CapabilityRegistry) {
-                    ArrayList cats = reg.getUsedCategories();
-                    if (reg.getMiscCategory() != null)
-                        cats.add(reg.getMiscCategory());
-                    return cats.toArray();
-                }
-                if (parentElement instanceof Category)
-                    return ((Category) parentElement)
-                            .getChildren(parentElement);
-                return null;
-            }
-
-            public boolean hasChildren(Object element) {
-                if (element instanceof CapabilityRegistry)
-                    return true;
-                if (element instanceof Category)
-                    return ((Category) element).hasElements();
-                return false;
-            }
-        };
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage.
-     */
-    public IWizardPage getNextPage() {
-        if (chosenCapability == null)
-            return null;
-
-        final IWizard[] wizard = new IWizard[1];
-        wizard[0] = (IWizard) mapCapToWizard.get(chosenCapability);
-        if (wizard[0] == null) {
-            BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-                public void run() {
-                    ICapabilityInstallWizard wiz;
-                    wiz = chosenCapability.getInstallWizard();
-                    if (wiz != null) {
-                        wiz.init(workbench, selection, project);
-                        wiz.addPages();
-                        mapCapToWizard.put(chosenCapability, wiz);
-                        wizard[0] = wiz;
-                    }
-                }
-            });
-        }
-
-        if (wizard[0] == null)
-            return null;
-
-        IWizardPage page = wizard[0].getStartingPage();
-        wizard[0] = null;
-        return page;
-    }
-
-    private boolean validateChosenCapability() {
-        if (chosenCapability == null) {
-            setErrorMessage(null);
-            return false;
-        }
-
-        Capability[] caps = reg.getProjectCapabilities(project);
-        List existingCaps = Arrays.asList(caps);
-        if (existingCaps.contains(chosenCapability)) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("ProjectCapabilitySimpleSelectionPage.capabilityExist")); //$NON-NLS-1$
-            return false;
-        }
-
-        String[] ids = reg.getPrerequisiteIds(chosenCapability);
-        Capability[] prereqs = reg.findCapabilities(ids);
-        for (int i = 0; i < prereqs.length; i++) {
-            if (prereqs[i] == null) {
-                setErrorMessage(IDEWorkbenchMessages
-                        .format(
-                                "ProjectCapabilitySimpleSelectionPage.capabilityMissing", new Object[] { ids[i] })); //$NON-NLS-1$
-                return false;
-            }
-            if (!existingCaps.contains(prereqs[i])) {
-                setErrorMessage(IDEWorkbenchMessages
-                        .format(
-                                "ProjectCapabilitySimpleSelectionPage.capabilityRequired", new Object[] { prereqs[i].getName() })); //$NON-NLS-1$
-                return false;
-            }
-        }
-
-        ids = reg.getMembershipSetIds(chosenCapability);
-        List idsList = Arrays.asList(ids);
-        for (int i = 0; i < caps.length; i++) {
-            String[] setIds = reg.getMembershipSetIds(caps[i]);
-            for (int j = 0; j < setIds.length; j++) {
-                if (idsList.contains(setIds[j])) {
-                    setErrorMessage(IDEWorkbenchMessages
-                            .format(
-                                    "ProjectCapabilitySimpleSelectionPage.capabilitySet", new Object[] { caps[i].getName() })); //$NON-NLS-1$
-                    return false;
-                }
-            }
-        }
-
-        Capability[] newCaps = new Capability[caps.length + 1];
-        System.arraycopy(caps, 0, newCaps, 0, caps.length);
-        newCaps[caps.length] = chosenCapability;
-        IStatus status = reg.validateCapabilities(newCaps);
-        if (!status.isOK()) {
-            setErrorMessage(status.getMessage());
-            return false;
-        }
-
-        setErrorMessage(null);
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java
deleted file mode 100644
index 0fa4c43..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectPerspectiveChoiceDialog.java
+++ /dev/null
@@ -1,305 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *     activated and used by other components.
- *********************************************************************/
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.model.PerspectiveLabelProvider;
-
-public class ProjectPerspectiveChoiceDialog extends Dialog {
-    private static final int MIN_DIALOG_WIDTH = 200;
-
-    private static final int MIN_DIALOG_HEIGHT = 250;
-
-    private IWorkbenchWindow window;
-
-    private ArrayList persps;
-
-    private IPerspectiveDescriptor chosenPersp;
-
-    private boolean sameWindow = true;
-
-    private TableViewer list;
-
-    private Comparator comparator = new Comparator() {
-        private Collator collator = Collator.getInstance();
-
-        public int compare(Object ob1, Object ob2) {
-            IPerspectiveDescriptor d1 = (IPerspectiveDescriptor) ob1;
-            IPerspectiveDescriptor d2 = (IPerspectiveDescriptor) ob2;
-            return collator.compare(d1.getLabel(), d2.getLabel());
-        }
-    };
-
-    /**
-     * Create a ProjectPerspectiveChoiceDialog
-     * @param window the workbench window launching this dialog
-     * @param perspIds the list of ids the user can choose from
-     */
-    public ProjectPerspectiveChoiceDialog(IWorkbenchWindow window,
-            String[] perspIds) {
-        super(window.getShell());
-        this.window = window;
-
-        IWorkbenchPage page = window.getActivePage();
-        if (page != null)
-            chosenPersp = page.getPerspective();
-
-        IPerspectiveRegistry reg = window.getWorkbench()
-                .getPerspectiveRegistry();
-        persps = new ArrayList(perspIds.length);
-        for (int i = 0; i < perspIds.length; i++) {
-            IPerspectiveDescriptor desc;
-            desc = reg.findPerspectiveWithId(perspIds[i]);
-            if (desc != null && desc != chosenPersp)
-                persps.add(desc);
-        }
-        Collections.sort(persps, comparator);
-
-        if (chosenPersp != null)
-            persps.add(0, chosenPersp);
-    }
-
-    /* (non-Javadoc)
-     * Method declared in Window.
-     */
-    protected void configureShell(Shell shell) {
-        super.configureShell(shell);
-        shell.setText(IDEWorkbenchMessages
-                .getString("ProjectPerspectiveChoiceDialog.title")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(shell,
-                IIDEHelpContextIds.SHOW_PROJECT_PERSPECTIVE_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-                true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        // page group
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        composite.setLayout(new GridLayout());
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.widthHint = MIN_DIALOG_WIDTH;
-        data.heightHint = MIN_DIALOG_HEIGHT;
-        composite.setLayoutData(data);
-
-        createPerspectiveGroup(composite);
-        createOptionGroup(composite);
-
-        if (chosenPersp != null)
-            list.setSelection(new StructuredSelection(chosenPersp));
-
-        return composite;
-    }
-
-    /**
-     * Creates the perspective choice controls.
-     *
-     * @param parent the parent composite
-     */
-    private void createPerspectiveGroup(Composite parent) {
-        Font font = parent.getFont();
-        // Label for choosing perspective
-        Label label = new Label(parent, SWT.NONE);
-        label.setFont(font);
-        label.setText(IDEWorkbenchMessages
-                .getString("ProjectPerspectiveChoiceDialog.choosePerspective")); //$NON-NLS-1$
-
-        // Add perspective list.
-        list = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-        list.setLabelProvider(new PerspectiveLabelProvider(false));
-        list.setContentProvider(new PerspectiveContentProvider());
-        list.setInput(persps);
-        list.addSelectionChangedListener(new SelectionListener());
-        list.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
-        list.getTable().setFont(font);
-    }
-
-    /**
-     * Creates the option controls.
-     *
-     * @param parent the parent composite
-     */
-    private void createOptionGroup(Composite parent) {
-        Font font = parent.getFont();
-        // Create the option group
-        Group optionGroup = new Group(parent, SWT.LEFT);
-        GridLayout layout = new GridLayout();
-        optionGroup.setLayout(layout);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        optionGroup.setLayoutData(data);
-        optionGroup.setFont(font);
-        optionGroup.setText(IDEWorkbenchMessages
-                .getString("ProjectPerspectiveChoiceDialog.options")); //$NON-NLS-1$
-
-        // Same window option
-        Button button = new Button(optionGroup, SWT.RADIO | SWT.LEFT);
-        button.setText(IDEWorkbenchMessages
-                .getString("ProjectPerspectiveChoiceDialog.sameWindow")); //$NON-NLS-1$
-        data = new GridData();
-        button.setLayoutData(data);
-        button.setFont(font);
-        button.setSelection(sameWindow);
-        button.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                sameWindow = true;
-            }
-        });
-
-        // New window option
-        button = new Button(optionGroup, SWT.RADIO | SWT.LEFT);
-        button.setText(IDEWorkbenchMessages
-                .getString("ProjectPerspectiveChoiceDialog.newWindow")); //$NON-NLS-1$
-        data = new GridData();
-        button.setLayoutData(data);
-        button.setFont(font);
-        button.setSelection(!sameWindow);
-        button.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                sameWindow = false;
-            }
-        });
-    }
-
-    /**
-     * Shows the choosen perspective in the same or
-     * new window depending on the option checked.
-     * Returns the workbench window the perspective
-     * was shown in.
-     */
-    public IWorkbenchWindow showChosenPerspective() {
-        if (chosenPersp == null)
-            return window;
-
-        final IWorkbenchWindow[] results = new IWorkbenchWindow[1];
-        final WorkbenchException[] errors = new WorkbenchException[1];
-        BusyIndicator.showWhile(window.getShell().getDisplay(), new Runnable() {
-            public void run() {
-                if (sameWindow) {
-                    results[0] = window;
-                    IWorkbenchPage page = window.getActivePage();
-                    if (page != null)
-                        page.setPerspective(chosenPersp);
-                } else {
-                    try {
-                        results[0] = window.getWorkbench().openWorkbenchWindow(
-                                chosenPersp.getId(),
-                                ResourcesPlugin.getWorkspace().getRoot());
-                    } catch (WorkbenchException e) {
-                        errors[0] = e;
-                    }
-                }
-            }
-        });
-
-        IWorkbenchWindow result = results[0];
-        results[0] = null;
-
-        if (errors[0] != null) {
-            ErrorDialog
-                    .openError(
-                            window.getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("ProjectPerspectiveChoiceDialog.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .getString("ProjectPerspectiveChoiceDialog.errorMessage"), //$NON-NLS-1$
-                            errors[0].getStatus());
-            errors[0] = null;
-            return window;
-        }
-
-        return result;
-    }
-
-    class PerspectiveContentProvider implements IStructuredContentProvider {
-        public PerspectiveContentProvider() {
-            super();
-        }
-
-        public void dispose() {
-        }
-
-        public Object[] getElements(Object element) {
-            if (element instanceof ArrayList) {
-                return ((ArrayList) element).toArray();
-            }
-            return null;
-        }
-
-        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        }
-
-        public boolean isDeleted(Object element) {
-            return false;
-        }
-    }
-
-    class SelectionListener implements ISelectionChangedListener {
-        public SelectionListener() {
-            super();
-        }
-
-        public void selectionChanged(SelectionChangedEvent event) {
-            IStructuredSelection selection = (IStructuredSelection) event
-                    .getSelection();
-            if (selection != null)
-                chosenPersp = (IPerspectiveDescriptor) selection
-                        .getFirstElement();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
deleted file mode 100644
index 339723b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectReferencePage.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-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.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.internal.ide.DialogUtil;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A property page for viewing and modifying the set
- * of projects referenced by a given project.
- */
-public class ProjectReferencePage extends PropertyPage {
-    private IProject project;
-
-    private boolean modified = false;
-
-    //widgets
-    private CheckboxTableViewer listViewer;
-
-    private static final int PROJECT_LIST_MULTIPLIER = 30;
-
-    /**
-     * Creates a new ProjectReferencePage.
-     */
-    public ProjectReferencePage() {
-        //Do nothing on creation
-    }
-
-    /**
-     * @see PreferencePage#createContents
-     */
-    protected Control createContents(Composite parent) {
-
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IIDEHelpContextIds.PROJECT_REFERENCE_PROPERTY_PAGE);
-        Font font = parent.getFont();
-
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        composite.setFont(font);
-
-        initialize();
-
-        createDescriptionLabel(composite);
-
-        listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP
-                | SWT.BORDER);
-        listViewer.getTable().setFont(font);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.grabExcessHorizontalSpace = true;
-
-        //Only set a height hint if it will not result in a cut off dialog
-        if (DialogUtil.inRegularFontMode(parent))
-            data.heightHint = getDefaultFontHeight(listViewer.getTable(),
-                    PROJECT_LIST_MULTIPLIER);
-        listViewer.getTable().setLayoutData(data);
-        listViewer.getTable().setFont(font);
-
-        listViewer.setLabelProvider(WorkbenchLabelProvider
-                .getDecoratingWorkbenchLabelProvider());
-        listViewer.setContentProvider(getContentProvider(project));
-        listViewer.setSorter(new ViewerSorter());
-        listViewer.setInput(project.getWorkspace());
-        try {
-            listViewer.setCheckedElements(project.getDescription()
-                    .getReferencedProjects());
-        } catch (CoreException e) {
-            //don't initial-check anything
-        }
-
-        //check for initial modification to avoid work if no changes are made
-        listViewer.addCheckStateListener(new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                modified = true;
-            }
-        });
-
-        return composite;
-    }
-
-    /**
-     * Returns a content provider for the list dialog. It
-     * will return all projects in the workspace except
-     * the given project, plus any projects referenced
-     * by the given project which do no exist in the
-     * workspace.
-     * @param project the project to provide content for
-     * @return the content provider that shows the project content
-     */
-    protected IStructuredContentProvider getContentProvider(
-            final IProject project) {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (!(o instanceof IWorkspace)) {
-                    return new Object[0];
-                }
-
-                // Collect all the projects in the workspace except the given project
-                IProject[] projects = ((IWorkspace) o).getRoot().getProjects();
-                ArrayList referenced = new ArrayList(projects.length);
-                boolean found = false;
-                for (int i = 0; i < projects.length; i++) {
-                    if (!found && projects[i].equals(project)) {
-                        found = true;
-                        continue;
-                    }
-                    referenced.add(projects[i]);
-                }
-
-                // Add any referenced that do not exist in the workspace currently
-                try {
-                    projects = project.getDescription().getReferencedProjects();
-                    for (int i = 0; i < projects.length; i++) {
-                        if (!referenced.contains(projects[i]))
-                            referenced.add(projects[i]);
-                    }
-                } catch (CoreException e) {
-                    //Ignore core exceptions
-                }
-
-                return referenced.toArray();
-            }
-        };
-    }
-
-    /**
-     * Get the defualt widget height for the supplied control.
-     * @return int
-     * @param control - the control being queried about fonts
-     * @param lines - the number of lines to be shown on the table.
-     */
-    private static int getDefaultFontHeight(Control control, int lines) {
-        FontData[] viewerFontData = control.getFont().getFontData();
-        int fontHeight = 10;
-
-        //If we have no font data use our guess
-        if (viewerFontData.length > 0)
-            fontHeight = viewerFontData[0].getHeight();
-        return lines * fontHeight;
-
-    }
-
-    /**
-     * Handle the exception thrown when saving.
-     * @param e the exception
-     */
-    protected void handle(InvocationTargetException e) {
-        IStatus error;
-        Throwable target = e.getTargetException();
-        if (target instanceof CoreException) {
-            error = ((CoreException) target).getStatus();
-        } else {
-            String msg = target.getMessage();
-            if (msg == null)
-                msg = IDEWorkbenchMessages.getString("Internal_error"); //$NON-NLS-1$
-            error = new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                    1, msg, target);
-        }
-        ErrorDialog.openError(getControl().getShell(), null, null, error);
-    }
-
-    /**
-     * Initializes a ProjectReferencePage.
-     */
-    private void initialize() {
-        project = (IProject) getElement().getAdapter(IResource.class);
-        noDefaultAndApplyButton();
-        setDescription(IDEWorkbenchMessages
-                .format(
-                        "ProjectReferencesPage.label", new Object[] { project.getName() })); //$NON-NLS-1$
-    }
-
-    /**
-     * @see PreferencePage#performOk
-     */
-    public boolean performOk() {
-        if (!modified)
-            return true;
-        Object[] checked = listViewer.getCheckedElements();
-        final IProject[] refs = new IProject[checked.length];
-        System.arraycopy(checked, 0, refs, 0, checked.length);
-        IRunnableWithProgress runnable = new IRunnableWithProgress() {
-            public void run(IProgressMonitor monitor)
-                    throws InvocationTargetException {
-
-                try {
-                    IProjectDescription description = project.getDescription();
-                    description.setReferencedProjects(refs);
-                    project.setDescription(description, monitor);
-                } catch (CoreException e) {
-                    throw new InvocationTargetException(e);
-                }
-            }
-        };
-        try {
-            new ProgressMonitorJobsDialog(getControl().getShell()).run(true,
-                    true, runnable);
-        } catch (InterruptedException e) {
-            //Ignore interrupted exceptions
-        } catch (InvocationTargetException e) {
-            handle(e);
-            return false;
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.java
deleted file mode 100644
index eede67f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityStep.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.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * Represents the removal of a capability step in a multi-step
- * wizard.
- */
-public class RemoveCapabilityStep extends WizardStep {
-    private Capability capability;
-
-    private String[] natureIds;
-
-    private IProject project;
-
-    private ICapabilityUninstallWizard wizard;
-
-    /**
-     * Creates the remove capability step
-     * 
-     * @param number step order number
-     * @param capability the capability to be removed
-     * @param natureIds the list of nature ids to remove on the project
-     * @param project the project to remove the capability from
-     */
-    public RemoveCapabilityStep(int number, Capability capability,
-            String[] natureIds, IProject project) {
-        super(number);
-        this.capability = capability;
-        this.natureIds = natureIds;
-        this.project = project;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public String getLabel() {
-        return IDEWorkbenchMessages
-                .format(
-                        "RemoveCapabilityStep.label", new Object[] { capability.getName() }); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public String getDetails() {
-        String details = capability.getUninstallDetails();
-        if (details == null) {
-            if (natureIds.length == 1) {
-                details = IDEWorkbenchMessages
-                        .format(
-                                "RemoveCapabilityStep.defaultDescription0", new Object[] { capability.getName() }); //$NON-NLS-1$
-            } else if (natureIds.length == 2) {
-                CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                        .getCapabilityRegistry();
-                Capability otherCapability = reg
-                        .getCapabilityForNature(natureIds[1]);
-                if (otherCapability == capability)
-                    otherCapability = reg.getCapabilityForNature(natureIds[0]);
-                details = IDEWorkbenchMessages
-                        .format(
-                                "RemoveCapabilityStep.defaultDescription1", new Object[] { capability.getName(), otherCapability.getName() }); //$NON-NLS-1$
-            } else {
-                StringBuffer msg = new StringBuffer();
-                CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                        .getCapabilityRegistry();
-                for (int i = 0; i < natureIds.length; i++) {
-                    Capability cap = reg.getCapabilityForNature(natureIds[i]);
-                    if (cap != capability) {
-                        msg.append("\n    "); //$NON-NLS-1$
-                        msg.append(cap.getName());
-                    }
-                }
-                details = IDEWorkbenchMessages
-                        .format(
-                                "RemoveCapabilityStep.defaultDescription2", new Object[] { capability.getName(), msg.toString() }); //$NON-NLS-1$
-            }
-        }
-
-        return details;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WizardStep.
-     */
-    public IWizard getWizard() {
-        if (wizard == null) {
-            wizard = capability.getUninstallWizard();
-            if (wizard == null)
-                wizard = new RemoveCapabilityWizard();
-            if (wizard != null) {
-                wizard.init(PlatformUI.getWorkbench(),
-                        StructuredSelection.EMPTY, project, natureIds);
-                wizard.addPages();
-            }
-        }
-
-        return wizard;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.java
deleted file mode 100644
index d272937..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/RemoveCapabilityWizard.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.ui.internal.ide.dialogs;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Internal workbench wizard to remove a capability
- * from a project. Also removes prerequisite natures
- * as specified in the <code>init</code> method.
- * <p>
- * This wizard is intended to be used by the
- * <code>RemoveCapabilityStep</code> class only.
- * </p>
- */
-public class RemoveCapabilityWizard extends Wizard implements
-        ICapabilityUninstallWizard {
-    private IProject project;
-
-    private String[] natureIds;
-
-    /**
-     * Creates an empty wizard for removing a capability
-     * from a project.
-     */
-    /* package */RemoveCapabilityWizard() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ICapabilityUninstallWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection selection,
-            IProject project, String[] natureIds) {
-        this.project = project;
-        this.natureIds = natureIds;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        return updateNatures();
-    }
-
-    /**
-     * Update the project natures
-     */
-    private boolean updateNatures() {
-        // define the operation to update natures
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                try {
-                    IProjectDescription description = project.getDescription();
-                    String[] oldIds = description.getNatureIds();
-                    ArrayList newIds = new ArrayList(oldIds.length);
-                    for (int i = 0; i < oldIds.length; i++) {
-                        boolean keepNature = true;
-                        for (int j = 0; j < natureIds.length; j++) {
-                            if (natureIds[j].equals(oldIds[i])) {
-                                keepNature = false;
-                                break;
-                            }
-                        }
-                        if (keepNature)
-                            newIds.add(oldIds[i]);
-                    }
-                    String[] results = new String[newIds.size()];
-                    newIds.toArray(results);
-                    description.setNatureIds(results);
-                    project.setDescription(description, monitor);
-                } finally {
-                    monitor.done();
-                }
-            }
-        };
-
-        // run the update nature operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                ErrorDialog.openError(getShell(), IDEWorkbenchMessages
-                        .getString("RemoveCapabilityWizard.errorMessage"), //$NON-NLS-1$
-                        null, // no special message
-                        ((CoreException) t).getStatus());
-            } else {
-                // Unexpected runtime exceptions and errors may still occur.
-                Platform.getPlugin(PlatformUI.PLUGIN_ID).getLog().log(
-                        new Status(Status.ERROR, PlatformUI.PLUGIN_ID, 0, t
-                                .toString(), t));
-                MessageDialog
-                        .openError(
-                                getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("RemoveCapabilityWizard.errorMessage"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .format(
-                                                "RemoveCapabilityWizard.internalError", new Object[] { t.getMessage() })); //$NON-NLS-1$
-            }
-            return false;
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
deleted file mode 100644
index c2415eb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceInfoPage.java
+++ /dev/null
@@ -1,755 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourceAttributes;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.ide.dialogs.ResourceEncodingFieldEditor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * This is a dummy page that is added to the property dialog when multiple
- * elements are selected. At the moment we don't handle multiple selection in a
- * meaningful way.
- */
-public class ResourceInfoPage extends PropertyPage {
-
-	private Button editableBox;
-
-	private Button executableBox;
-
-	private Button archiveBox;
-
-	private Button derivedBox;
-
-	private boolean previousReadOnlyValue;
-
-	private boolean previousExecutableValue;
-
-	private boolean previousArchiveValue;
-
-	private boolean previousDerivedValue;
-
-	private IContentDescription cachedContentDescription;
-
-	private ResourceEncodingFieldEditor encodingEditor;
-
-	private static String READ_ONLY = IDEWorkbenchMessages
-			.getString("ResourceInfo.readOnly"); //$NON-NLS-1$
-
-	private static String EXECUTABLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.executable"); //$NON-NLS-1$
-	
-	private static String ARCHIVE = IDEWorkbenchMessages
-			.getString("ResourceInfo.archive"); //$NON-NLS-1$
-
-	private static String DERIVED = IDEWorkbenchMessages
-			.getString("ResourceInfo.derived"); //$NON-NLS-1$
-
-	private static String TYPE_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.type"); //$NON-NLS-1$
-
-	private static String LOCATION_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.location"); //$NON-NLS-1$
-
-	private static String RESOLVED_LOCATION_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.resolvedLocation"); //$NON-NLS-1$
-
-	private static String SIZE_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.size"); //$NON-NLS-1$
-
-	private static String BYTES_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.bytes"); //$NON-NLS-1$
-
-	private static String FILE_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.file"); //$NON-NLS-1$
-
-	private static String FILE_TYPE_FORMAT = IDEWorkbenchMessages
-			.getString("ResourceInfo.fileTypeFormat"); //$NON-NLS-1$
-
-	private static String FOLDER_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.folder"); //$NON-NLS-1$
-
-	private static String PROJECT_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.project"); //$NON-NLS-1$
-
-	private static String LINKED_FILE_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.linkedFile"); //$NON-NLS-1$
-
-	private static String LINKED_FOLDER_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.linkedFolder"); //$NON-NLS-1$
-
-	private static String UNKNOWN_LABEL = IDEWorkbenchMessages
-			.getString("ResourceInfo.unknown"); //$NON-NLS-1$
-
-	private static String NOT_LOCAL_TEXT = IDEWorkbenchMessages
-			.getString("ResourceInfo.notLocal"); //$NON-NLS-1$
-
-	private static String MISSING_PATH_VARIABLE_TEXT = IDEWorkbenchMessages
-			.getString("ResourceInfo.undefinedPathVariable"); //$NON-NLS-1$
-
-	private static String NOT_EXIST_TEXT = IDEWorkbenchMessages
-			.getString("ResourceInfo.notExist"); //$NON-NLS-1$
-
-	private static String PATH_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.path"); //$NON-NLS-1$
-
-	private static String TIMESTAMP_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.lastModified"); //$NON-NLS-1$
-
-	private static String FILE_NOT_EXIST_TEXT = IDEWorkbenchMessages
-			.getString("ResourceInfo.fileNotExist"); //$NON-NLS-1$
-
-	private static String FILE_ENCODING_TITLE = IDEWorkbenchMessages
-			.getString("WorkbenchPreference.encoding"); //$NON-NLS-1$
-
-	private static String CONTAINER_ENCODING_TITLE = IDEWorkbenchMessages
-			.getString("ResourceInfo.fileEncodingTitle"); //$NON-NLS-1$
-
-	//Max value width in characters before wrapping
-	private static final int MAX_VALUE_WIDTH = 80;
-
-	/**
-	 * Create the group that shows the name, location, size and type.
-	 * 
-	 * @param parent
-	 *            the composite the group will be created in
-	 * @param resource
-	 *            the resource the information is being taken from.
-	 * @return the composite for the group
-	 */
-	private Composite createBasicInfoGroup(Composite parent, IResource resource) {
-
-		Font font = parent.getFont();
-
-		Composite basicInfoComposite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		basicInfoComposite.setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		basicInfoComposite.setLayoutData(data);
-		basicInfoComposite.setFont(font);
-
-		//The group for path
-		Label pathLabel = new Label(basicInfoComposite, SWT.NONE);
-		pathLabel.setText(PATH_TITLE);
-		GridData gd = new GridData();
-		gd.verticalAlignment = SWT.TOP;
-		pathLabel.setLayoutData(gd);
-		pathLabel.setFont(font);
-
-		// path value label
-		Text pathValueText = new Text(basicInfoComposite, SWT.WRAP
-				| SWT.READ_ONLY);
-		pathValueText.setText(resource.getFullPath().toString());
-		gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalAlignment = GridData.FILL;
-		pathValueText.setLayoutData(gd);
-		pathValueText.setFont(font);
-		pathValueText.setBackground(pathValueText.getDisplay().getSystemColor(
-				SWT.COLOR_WIDGET_BACKGROUND));
-
-		//The group for types
-		Label typeTitle = new Label(basicInfoComposite, SWT.LEFT);
-		typeTitle.setText(TYPE_TITLE);
-		typeTitle.setFont(font);
-
-		Text typeValue = new Text(basicInfoComposite, SWT.LEFT | SWT.READ_ONLY);
-		typeValue.setText(getTypeString(resource));
-		typeValue.setBackground(typeValue.getDisplay().getSystemColor(
-				SWT.COLOR_WIDGET_BACKGROUND));
-		typeValue.setFont(font);
-
-		//The group for location
-		Label locationTitle = new Label(basicInfoComposite, SWT.LEFT);
-		locationTitle.setText(LOCATION_TITLE);
-		gd = new GridData();
-		gd.verticalAlignment = SWT.TOP;
-		locationTitle.setLayoutData(gd);
-		locationTitle.setFont(font);
-
-		Text locationValue = new Text(basicInfoComposite, SWT.WRAP
-				| SWT.READ_ONLY);
-		locationValue.setText(getLocationText(resource));
-		gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalAlignment = GridData.FILL;
-		locationValue.setLayoutData(gd);
-		locationValue.setFont(font);
-		locationValue.setBackground(locationValue.getDisplay().getSystemColor(
-				SWT.COLOR_WIDGET_BACKGROUND));
-
-		if (isPathVariable(resource)) {
-			Label resolvedLocationTitle = new Label(basicInfoComposite,
-					SWT.LEFT);
-			resolvedLocationTitle.setText(RESOLVED_LOCATION_TITLE);
-			gd = new GridData();
-			gd.verticalAlignment = SWT.TOP;
-			resolvedLocationTitle.setLayoutData(gd);
-			resolvedLocationTitle.setFont(font);
-
-			Text resolvedLocationValue = new Text(basicInfoComposite, SWT.WRAP
-					| SWT.READ_ONLY);
-			resolvedLocationValue.setText(getResolvedLocationText(resource));
-			gd = new GridData();
-			gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-			gd.grabExcessHorizontalSpace = true;
-			gd.horizontalAlignment = GridData.FILL;
-			resolvedLocationValue.setLayoutData(gd);
-			resolvedLocationValue.setFont(font);
-			resolvedLocationValue.setBackground(resolvedLocationValue
-					.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		}
-		if (resource.getType() == IResource.FILE) {
-			//The group for size
-			Label sizeTitle = new Label(basicInfoComposite, SWT.LEFT);
-			sizeTitle.setText(SIZE_TITLE);
-			sizeTitle.setFont(font);
-
-			Text sizeValue = new Text(basicInfoComposite, SWT.LEFT
-					| SWT.READ_ONLY);
-			sizeValue.setText(getSizeString((IFile) resource));
-			gd = new GridData();
-			gd.widthHint = convertWidthInCharsToPixels(MAX_VALUE_WIDTH);
-			gd.grabExcessHorizontalSpace = true;
-			gd.horizontalAlignment = GridData.FILL;
-			sizeValue.setLayoutData(gd);
-			sizeValue.setFont(font);
-			sizeValue.setBackground(sizeValue.getDisplay().getSystemColor(
-					SWT.COLOR_WIDGET_BACKGROUND));
-		}
-
-		return basicInfoComposite;
-	}
-
-	protected Control createContents(Composite parent) {
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-				IIDEHelpContextIds.RESOURCE_INFO_PROPERTY_PAGE);
-
-		// layout the page
-		IResource resource = (IResource) getElement();
-		if (resource.getType() != IResource.PROJECT) {
-			ResourceAttributes attrs = resource.getResourceAttributes();
-			if (attrs != null) {
-				previousReadOnlyValue = attrs.isReadOnly();
-				previousExecutableValue = attrs.isExecutable();
-				previousArchiveValue = attrs.isArchive();
-			} else {
-				previousReadOnlyValue = previousExecutableValue = previousArchiveValue = false;
-			}
-			previousDerivedValue = resource.isDerived();
-		}
-
-		// top level group
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL);
-		data.grabExcessHorizontalSpace = true;
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-
-		createBasicInfoGroup(composite, resource);
-		createSeparator(composite);
-		createStateGroup(composite, resource);
-		new Label(composite, SWT.NONE); // a vertical spacer
-		encodingEditor = new ResourceEncodingFieldEditor(
-				getFieldEditorLabel(resource), composite, resource);
-		encodingEditor.setPage(this);
-		encodingEditor.load();
-
-		encodingEditor.setPropertyChangeListener(new IPropertyChangeListener() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID))
-					setValid(encodingEditor.isValid());
-
-			}
-		});
-
-		return composite;
-	}
-
-	/**
-	 * Return the label for the encoding field editor for the resource.
-	 * 
-	 * @param resource -
-	 *            the resource to edit.
-	 * @return String
-	 */
-	private String getFieldEditorLabel(IResource resource) {
-		if (resource instanceof IContainer)
-			return CONTAINER_ENCODING_TITLE;
-		return FILE_ENCODING_TITLE;
-	}
-
-	/**
-	 * Create the isEditable button and it's associated label as a child of
-	 * parent using the editableValue of the receiver. The Composite will be the
-	 * parent of the button.
-	 * 
-	 * @param composite
-	 *            the parent of the button
-	 */
-	private void createEditableButton(Composite composite) {
-
-		this.editableBox = new Button(composite, SWT.CHECK | SWT.RIGHT);
-		this.editableBox.setAlignment(SWT.LEFT);
-		this.editableBox.setText(READ_ONLY);
-		this.editableBox.setSelection(this.previousReadOnlyValue);
-		this.editableBox.setFont(composite.getFont());
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		this.editableBox.setLayoutData(data);
-	}
-
-	/**
-	 * Create the isExecutable button and it's associated label as a child of
-	 * parent using the editableValue of the receiver. The Composite will be the
-	 * parent of the button.
-	 * 
-	 * @param composite
-	 *            the parent of the button
-	 */
-	private void createExecutableButton(Composite composite) {
-
-		this.executableBox = new Button(composite, SWT.CHECK | SWT.RIGHT);
-		this.executableBox.setAlignment(SWT.LEFT);
-		this.executableBox.setText(EXECUTABLE);
-		this.executableBox.setSelection(this.previousExecutableValue);
-		this.executableBox.setFont(composite.getFont());
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		this.executableBox.setLayoutData(data);
-	}
-
-	/**
-	 * Create the isArchive button and it's associated label as a child of
-	 * parent using the editableValue of the receiver. The Composite will be the
-	 * parent of the button.
-	 * 
-	 * @param composite
-	 *            the parent of the button
-	 */
-	private void createArchiveButton(Composite composite) {
-
-		this.archiveBox = new Button(composite, SWT.CHECK | SWT.RIGHT);
-		this.archiveBox.setAlignment(SWT.LEFT);
-		this.archiveBox.setText(ARCHIVE);
-		this.archiveBox.setSelection(this.previousArchiveValue);
-		this.archiveBox.setFont(composite.getFont());
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		this.archiveBox.setLayoutData(data);
-	}
-
-	/**
-	 * Create the derived button and it's associated label as a child of parent
-	 * using the derived of the receiver. The Composite will be the parent of
-	 * the button.
-	 * 
-	 * @param composite
-	 *            the parent of the button
-	 */
-	private void createDerivedButton(Composite composite) {
-
-		this.derivedBox = new Button(composite, SWT.CHECK | SWT.RIGHT);
-		this.derivedBox.setAlignment(SWT.LEFT);
-		this.derivedBox.setText(DERIVED);
-		this.derivedBox.setSelection(this.previousDerivedValue);
-		this.derivedBox.setFont(composite.getFont());
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		this.derivedBox.setLayoutData(data);
-	}
-
-	/**
-	 * Create a separator that goes across the entire page
-	 * 
-	 * @param composite
-	 *            The parent of the seperator
-	 */
-	private void createSeparator(Composite composite) {
-
-		Label separator = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData gridData = new GridData();
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		separator.setLayoutData(gridData);
-	}
-
-	/**
-	 * Create the group that shows the read only state and the timestamp.
-	 * 
-	 * @param parent
-	 *            the composite the group will be created in
-	 * @param resource
-	 *            the resource the information is being taken from.
-	 */
-	private void createStateGroup(Composite parent, IResource resource) {
-
-		Font font = parent.getFont();
-
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-		composite.setFont(font);
-
-		Label timeStampLabel = new Label(composite, SWT.NONE);
-		timeStampLabel.setText(TIMESTAMP_TITLE);
-		timeStampLabel.setFont(font);
-
-		// timeStamp value label
-		Text timeStampValue = new Text(composite, SWT.READ_ONLY);
-		timeStampValue.setText(getDateStringValue(resource));
-		timeStampValue.setFont(font);
-		timeStampValue.setBackground(timeStampValue.getDisplay()
-				.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		timeStampValue.setLayoutData(new GridData(GridData.FILL_HORIZONTAL
-				| GridData.GRAB_HORIZONTAL));
-
-		//Not relevant to projects
-		if (resource.getType() != IResource.PROJECT) {
-			createEditableButton(composite);
-			createExecutableButton(composite);
-			createArchiveButton(composite);
-			createDerivedButton(composite);
-		}
-	}
-
-	private String getContentTypeString(IFile file) {
-		IContentDescription description = getContentDescription(file);
-		if (description != null) {
-			IContentType contentType = description.getContentType();
-			if (contentType != null)
-				return contentType.getName();
-		}
-		return null;
-	}
-
-	private IContentDescription getContentDescription(IFile file) {
-		if (cachedContentDescription == null) {
-			try {
-				cachedContentDescription = file.getContentDescription();
-			} catch (CoreException e) {
-				// silently ignore
-			}
-		}
-		return cachedContentDescription;
-	}
-
-	/**
-	 * Return the value for the date String for the timestamp of the supplied
-	 * resource.
-	 * 
-	 * @param resource
-	 *            The resource to query
-	 * @return String
-	 */
-	private String getDateStringValue(IResource resource) {
-		if (!resource.isLocal(IResource.DEPTH_ZERO))
-			return NOT_LOCAL_TEXT;
-
-		IPath location = resource.getLocation();
-		if (location == null) {
-			if (resource.isLinked())
-				return MISSING_PATH_VARIABLE_TEXT;
-
-			return NOT_EXIST_TEXT;
-		}
-
-		File localFile = location.toFile();
-		if (localFile.exists()) {
-			DateFormat format = DateFormat.getDateTimeInstance(DateFormat.LONG,
-					DateFormat.MEDIUM);
-			return format.format(new Date(localFile.lastModified()));
-		}
-		return NOT_EXIST_TEXT;
-
-	}
-
-	/**
-	 * Get the location of a resource
-	 * 
-	 * @param resource
-	 * @return String the text to display the location
-	 */
-	private String getLocationText(IResource resource) {
-		if (!resource.isLocal(IResource.DEPTH_ZERO))
-			return NOT_LOCAL_TEXT;
-
-		IPath resolvedLocation = resource.getLocation();
-		IPath location = resolvedLocation;
-		if (resource.isLinked()) {
-			location = resource.getRawLocation();
-		}
-		if (location == null) {
-			return NOT_EXIST_TEXT;
-		}
-
-		String locationString = location.toOSString();
-		if (resolvedLocation != null && !isPathVariable(resource)) {
-			// No path variable used. Display the file not exist message
-			// in the location. Fixes bug 33318.
-			File file = resolvedLocation.toFile();
-			if (!file.exists()) {
-				locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-			}
-		}
-		return locationString;
-
-	}
-
-	/**
-	 * Get the resolved location of a resource. This resolves path variables if
-	 * present in the resource path.
-	 * 
-	 * @param resource
-	 * @return String
-	 */
-	private String getResolvedLocationText(IResource resource) {
-		if (!resource.isLocal(IResource.DEPTH_ZERO))
-			return NOT_LOCAL_TEXT;
-
-		IPath location = resource.getLocation();
-		if (location == null) {
-			if (resource.isLinked())
-				return MISSING_PATH_VARIABLE_TEXT;
-
-			return NOT_EXIST_TEXT;
-		}
-
-		String locationString = location.toOSString();
-		File file = location.toFile();
-
-		if (!file.exists()) {
-			locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-		}
-		return locationString;
-
-	}
-
-	/**
-	 * Return a String that indicates the size of the supplied file.
-	 * 
-	 * @param file
-	 * @return String
-	 */
-	private String getSizeString(IFile file) {
-		if (!file.isLocal(IResource.DEPTH_ZERO))
-			return NOT_LOCAL_TEXT;
-
-		IPath location = file.getLocation();
-		if (location == null) {
-			if (file.isLinked())
-				return MISSING_PATH_VARIABLE_TEXT;
-
-			return NOT_EXIST_TEXT;
-		}
-
-		File localFile = location.toFile();
-
-		if (localFile.exists()) {
-			String bytesString = Long.toString(localFile.length());
-			return MessageFormat.format(BYTES_LABEL,
-					new Object[] { bytesString });
-		}
-		return NOT_EXIST_TEXT;
-
-	}
-
-	/**
-	 * Get the string that identifies the type of this resource.
-	 * 
-	 * @param resource
-	 * @return String
-	 */
-	private String getTypeString(IResource resource) {
-
-		if (resource.getType() == IResource.FILE) {
-			if (resource.isLinked())
-				return LINKED_FILE_LABEL;
-
-			if (resource instanceof IFile) {
-				String contentType = getContentTypeString((IFile) resource);
-				if (contentType != null)
-					return MessageFormat.format(FILE_TYPE_FORMAT,
-							new String[] { contentType });
-			}
-			return FILE_LABEL;
-		}
-
-		if (resource.getType() == IResource.FOLDER) {
-			if (resource.isLinked())
-				return LINKED_FOLDER_LABEL;
-
-			return FOLDER_LABEL;
-		}
-
-		if (resource.getType() == IResource.PROJECT)
-			return PROJECT_LABEL;
-
-		//Should not be possible
-		return UNKNOWN_LABEL;
-	}
-
-	/**
-	 * Returns whether the given resource is a linked resource bound to a path
-	 * variable.
-	 * 
-	 * @param resource
-	 *            resource to test
-	 * @return boolean <code>true</code> the given resource is a linked
-	 *         resource bound to a path variable. <code>false</code> the given
-	 *         resource is either not a linked resource or it is not using a
-	 *         path variable.
-	 */
-	private boolean isPathVariable(IResource resource) {
-		if (!resource.isLinked())
-			return false;
-
-		IPath resolvedLocation = resource.getLocation();
-		if (resolvedLocation == null) {
-			// missing path variable
-			return true;
-		}
-		IPath rawLocation = resource.getRawLocation();
-		if (resolvedLocation.equals(rawLocation))
-			return false;
-
-		return true;
-	}
-
-	/**
-	 * Reset the editableBox to the false.
-	 */
-	protected void performDefaults() {
-
-		//Nothing to update if we never made the box
-		if (this.editableBox != null)
-			this.editableBox.setSelection(false);
-		
-		//Nothing to update if we never made the box
-		if (this.executableBox != null)
-			this.executableBox.setSelection(false);
-
-		//Nothing to update if we never made the box
-		if (this.derivedBox != null)
-			this.derivedBox.setSelection(false);
-
-		encodingEditor.loadDefault();
-
-	}
-
-	/**
-	 * Apply the read only state and the encoding to the resource.
-	 */
-	public boolean performOk() {
-
-		IResource resource = (IResource) getElement();
-
-		encodingEditor.store();
-
-		try {
-			//Nothing to update if we never made the box
-			if (editableBox != null && executableBox != null
-					&& archiveBox != null) {
-				boolean localReadOnlyValue = editableBox.getSelection();
-				boolean localExecutableValue = executableBox.getSelection();
-				boolean localArchiveValue = archiveBox.getSelection();
-				ResourceAttributes attrs = resource.getResourceAttributes();
-				if (attrs != null) {
-					attrs.setExecutable(localExecutableValue);
-					attrs.setReadOnly(localReadOnlyValue);
-					attrs.setArchive(localArchiveValue);
-					if (previousReadOnlyValue != localReadOnlyValue
-							|| previousExecutableValue != localExecutableValue
-							|| previousArchiveValue != localArchiveValue) {
-						resource.setResourceAttributes(attrs);
-						attrs = resource.getResourceAttributes();
-						if (attrs != null) {
-							previousReadOnlyValue = attrs.isReadOnly();
-							previousExecutableValue = attrs.isExecutable();
-							previousArchiveValue = attrs.isArchive();
-							editableBox.setSelection(attrs.isReadOnly());
-							executableBox.setSelection(attrs.isExecutable());
-							archiveBox.setSelection(attrs.isArchive());
-						}
-					}
-				}
-			}
-
-			//Nothing to update if we never made the box
-			if (this.derivedBox != null) {
-				boolean localDerivedValue = derivedBox.getSelection();
-				if (previousDerivedValue != localDerivedValue) {
-					resource.setDerived(localDerivedValue);
-					boolean isDerived = resource.isDerived();
-					previousDerivedValue = isDerived;
-					derivedBox.setSelection(isDerived);
-				}
-			}
-		} catch (CoreException exception) {
-			ErrorDialog.openError(getShell(), IDEWorkbenchMessages
-					.getString("InternalError"), //$NON-NLS-1$
-					exception.getLocalizedMessage(), exception.getStatus());
-			return false;
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.java
deleted file mode 100644
index d20b76f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceSorter.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.ui.internal.ide.dialogs;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Sorter for viewers that display items of type <code>IResource</code>.
- * The sorter supports two sort criteria:
- * <p>
- * <code>NAME</code>: Folders are given order precedence, followed by files.
- * Within these two groups resources are ordered by name.  All name comparisons
- * are case-insensitive.
- * </p>
- * <p>
- * <code>TYPE</code>: Folders are given order precedence, followed by files.
- * Within these two groups resources are ordered by extension.  All extension
- * comparisons are case-insensitive.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ResourceSorter extends ViewerSorter {
-
-    /**
-     * Constructor argument value that indicates to sort items by name.
-     */
-    public final static int NAME = 1;
-
-    /**
-     * Constructor argument value that indicates to sort items by extension.
-     */
-    public final static int TYPE = 2;
-
-    private int criteria;
-
-    /**
-     * Creates a resource sorter that will use the given sort criteria.
-     *
-     * @param criteria the sort criterion to use: one of <code>NAME</code> or 
-     *   <code>TYPE</code>
-     */
-    public ResourceSorter(int criteria) {
-        super();
-        this.criteria = criteria;
-    }
-
-    /**
-     * Returns an integer value representing the relative sort priority of the 
-     * given element based on its class.
-     * <p>
-     * <ul>
-     *   <li>resources (<code>IResource</code>) - 2</li>
-     *   <li>project references (<code>ProjectReference</code>) - 1</li>
-     *   <li>everything else - 0</li>
-     * </ul>
-     * </p>
-     *
-     * @param element the element
-     * @return the sort priority (larger numbers means more important)
-     */
-    protected int classComparison(Object element) {
-        if (element instanceof IResource) {
-            return 2;
-        }
-        return 0;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ViewerSorter.
-     */
-    public int compare(Viewer viewer, Object o1, Object o2) {
-        //have to deal with non-resources in navigator
-        //if one or both objects are not resources, returned a comparison 
-        //based on class.
-        if (!(o1 instanceof IResource && o2 instanceof IResource)) {
-            return compareClass(o1, o2);
-        }
-        IResource r1 = (IResource) o1;
-        IResource r2 = (IResource) o2;
-
-        if (r1 instanceof IContainer && r2 instanceof IContainer)
-            return compareNames(r1, r2);
-        else if (r1 instanceof IContainer)
-            return -1;
-        else if (r2 instanceof IContainer)
-            return 1;
-        else if (criteria == NAME)
-            return compareNames(r1, r2);
-        else if (criteria == TYPE)
-            return compareTypes(r1, r2);
-        else
-            return 0;
-    }
-
-    /**
-     * Returns a number reflecting the collation order of the given elements
-     * based on their class.
-     *
-     * @param element1 the first element to be ordered
-     * @param element2 the second element to be ordered
-     * @return a negative number if the first element is less  than the 
-     *  second element; the value <code>0</code> if the first element is
-     *  equal to the second element; and a positive number if the first
-     *  element is greater than the second element
-     */
-    protected int compareClass(Object element1, Object element2) {
-        return classComparison(element1) - classComparison(element2);
-    }
-
-    /**
-     * Returns a number reflecting the collation order of the given resources
-     * based on their resource names.
-     *
-     * @param resource1 the first resource element to be ordered
-     * @param resource2 the second resource element to be ordered
-     * @return a negative number if the first element is less  than the 
-     *  second element; the value <code>0</code> if the first element is
-     *  equal to the second element; and a positive number if the first
-     *  element is greater than the second element
-     */
-    protected int compareNames(IResource resource1, IResource resource2) {
-        return collator.compare(resource1.getName(), resource2.getName());
-    }
-
-    /**
-     * Returns a number reflecting the collation order of the given resources
-     * based on their respective file extensions. Resources with the same file
-     * extension will be collated based on their names.
-     *
-     * @param resource1 the first resource element to be ordered
-     * @param resource2 the second resource element to be ordered
-     * @return a negative number if the first element is less  than the 
-     *  second element; the value <code>0</code> if the first element is
-     *  equal to the second element; and a positive number if the first
-     *  element is greater than the second element
-     */
-    protected int compareTypes(IResource resource1, IResource resource2) {
-        String ext1 = getExtensionFor(resource1);
-        String ext2 = getExtensionFor(resource2);
-
-        // Compare extensions.  If they're different then return a value that
-        // indicates correct extension ordering.  If they're the same then
-        // return a value that indicates the correct NAME ordering.
-        int result = collator.compare(ext1, ext2);
-
-        if (result != 0) // ie.- different extensions
-            return result;
-
-        return compareNames(resource1, resource2);
-    }
-
-    /**
-     * Returns the sort criteria of this this sorter.
-     *
-     * @return the sort criterion: one of <code>NAME</code> or <code>TYPE</code>
-     */
-    public int getCriteria() {
-        return criteria;
-    }
-
-    /**
-     * Returns the extension portion of the given resource.
-     *
-     * @param resource the resource
-     * @return the file extension, possibily the empty string
-     */
-    private String getExtensionFor(IResource resource) {
-        String ext = resource.getFileExtension();
-        return ext == null ? "" : ext; //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java
deleted file mode 100644
index 76a46cd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.java
+++ /dev/null
@@ -1,1048 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- *	Workbench-level composite that combines a CheckboxTreeViewer and CheckboxListViewer.
- *	All viewer selection-driven interactions are handled within this object
- */
-public class ResourceTreeAndListGroup implements ICheckStateListener,
-        ISelectionChangedListener, ITreeViewerListener {
-    private Object root;
-
-    private Object currentTreeSelection;
-
-    private Collection expandedTreeNodes = new HashSet();
-
-    private Map checkedStateStore = new HashMap(9);
-
-    private Collection whiteCheckedTreeItems = new HashSet();
-
-    private ListenerList listeners = new ListenerList();
-
-    private ITreeContentProvider treeContentProvider;
-
-    private IStructuredContentProvider listContentProvider;
-
-    private ILabelProvider treeLabelProvider;
-
-    private ILabelProvider listLabelProvider;
-
-    // widgets
-    private CheckboxTreeViewer treeViewer;
-
-    private CheckboxTableViewer listViewer;
-
-    //height hint for viewers
-    private static int PREFERRED_HEIGHT = 150;
-
-    /**
-     *	Create an instance of this class.  Use this constructor if you wish to specify
-     *	the width and/or height of the combined widget (to only hardcode one of the
-     *	sizing dimensions, specify the other dimension's value as -1)
-     *  
-     * @param parent
-     * @param rootObject
-     * @param treeContentProvider
-     * @param treeLabelProvider
-     * @param listContentProvider
-     * @param listLabelProvider
-     * @param style
-     * @param useHeightHint If true then use the height hint
-     *  to make this group big enough
-     *
-     */
-    public ResourceTreeAndListGroup(Composite parent, Object rootObject,
-            ITreeContentProvider treeContentProvider,
-            ILabelProvider treeLabelProvider,
-            IStructuredContentProvider listContentProvider,
-            ILabelProvider listLabelProvider, int style, boolean useHeightHint) {
-
-        root = rootObject;
-        this.treeContentProvider = treeContentProvider;
-        this.listContentProvider = listContentProvider;
-        this.treeLabelProvider = treeLabelProvider;
-        this.listLabelProvider = listLabelProvider;
-        createContents(parent, style, useHeightHint);
-    }
-
-    /**
-     * This method must be called just before this window becomes visible.
-     */
-    public void aboutToOpen() {
-        determineWhiteCheckedDescendents(root);
-        checkNewTreeElements(treeContentProvider.getElements(root));
-        currentTreeSelection = null;
-
-        //select the first element in the list
-        Object[] elements = treeContentProvider.getElements(root);
-        Object primary = elements.length > 0 ? elements[0] : null;
-        if (primary != null) {
-            treeViewer.setSelection(new StructuredSelection(primary));
-        }
-        treeViewer.getControl().setFocus();
-    }
-
-    /**
-     *	Add the passed listener to self's collection of clients
-     *	that listen for changes to element checked states
-     *
-     *	@param listener ICheckStateListener
-     */
-    public void addCheckStateListener(ICheckStateListener listener) {
-        listeners.add(listener);
-    }
-
-    /**
-     *	Return a boolean indicating whether all children of the passed tree element
-     *	are currently white-checked
-     *
-     *	@return boolean
-     *	@param treeElement java.lang.Object
-     */
-    protected boolean areAllChildrenWhiteChecked(Object treeElement) {
-        Object[] children = treeContentProvider.getChildren(treeElement);
-        for (int i = 0; i < children.length; ++i) {
-            if (!whiteCheckedTreeItems.contains(children[i]))
-                return false;
-        }
-
-        return true;
-    }
-
-    /**
-     *	Return a boolean indicating whether all list elements associated with
-     *	the passed tree element are currently checked
-     *
-     *	@return boolean
-     *	@param treeElement java.lang.Object
-     */
-    protected boolean areAllElementsChecked(Object treeElement) {
-        List checkedElements = (List) checkedStateStore.get(treeElement);
-        if (checkedElements == null) // ie.- tree item not even gray-checked
-            return false;
-
-        return getListItemsSize(treeElement) == checkedElements.size();
-    }
-
-    /**
-     *	Iterate through the passed elements which are being realized for the first
-     *	time and check each one in the tree viewer as appropriate
-     */
-    protected void checkNewTreeElements(Object[] elements) {
-        for (int i = 0; i < elements.length; ++i) {
-            Object currentElement = elements[i];
-            boolean checked = checkedStateStore.containsKey(currentElement);
-            treeViewer.setChecked(currentElement, checked);
-            treeViewer.setGrayed(currentElement, checked
-                    && !whiteCheckedTreeItems.contains(currentElement));
-        }
-    }
-
-    /**
-     *	An item was checked in one of self's two views.  Determine which
-     *	view this occurred in and delegate appropriately
-     *
-     *	@param event CheckStateChangedEvent
-     */
-    public void checkStateChanged(final CheckStateChangedEvent event) {
-
-        //Potentially long operation - show a busy cursor
-        BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                new Runnable() {
-                    public void run() {
-                        if (event.getCheckable().equals(treeViewer))
-                            treeItemChecked(event.getElement(), event
-                                    .getChecked());
-                        else
-                            listItemChecked(event.getElement(), event
-                                    .getChecked(), true);
-
-                        notifyCheckStateChangeListeners(event);
-                    }
-                });
-    }
-
-    /**
-     *	Lay out and initialize self's visual components.
-     *
-     *	@param parent org.eclipse.swt.widgets.Composite
-     *  @param style the style flags for the new Composite
-     *	@param useHeightHint If true yse the preferredHeight.
-     */
-    protected void createContents(Composite parent, int style,
-            boolean useHeightHint) {
-        // group pane
-        Composite composite = new Composite(parent, style);
-        composite.setFont(parent.getFont());
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.makeColumnsEqualWidth = true;
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        createTreeViewer(composite, useHeightHint);
-        createListViewer(composite, useHeightHint);
-
-        initialize();
-    }
-
-    /**
-     *	Create this group's list viewer.
-     */
-    protected void createListViewer(Composite parent, boolean useHeightHint) {
-        listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        if (useHeightHint)
-            data.heightHint = PREFERRED_HEIGHT;
-        listViewer.getTable().setLayoutData(data);
-        listViewer.getTable().setFont(parent.getFont());
-        listViewer.setContentProvider(listContentProvider);
-        listViewer.setLabelProvider(listLabelProvider);
-        listViewer.addCheckStateListener(this);
-    }
-
-    /**
-     *	Create this group's tree viewer.
-     */
-    protected void createTreeViewer(Composite parent, boolean useHeightHint) {
-        Tree tree = new Tree(parent, SWT.CHECK | SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        if (useHeightHint)
-            data.heightHint = PREFERRED_HEIGHT;
-        tree.setLayoutData(data);
-        tree.setFont(parent.getFont());
-
-        treeViewer = new CheckboxTreeViewer(tree);
-        treeViewer.setContentProvider(treeContentProvider);
-        treeViewer.setLabelProvider(treeLabelProvider);
-        treeViewer.addTreeListener(this);
-        treeViewer.addCheckStateListener(this);
-        treeViewer.addSelectionChangedListener(this);
-    }
-
-    /**
-     * Returns a boolean indicating whether the passed tree element should be
-     * at LEAST gray-checked.  Note that this method does not consider whether
-     * it should be white-checked, so a specified tree item which should be
-     * white-checked will result in a <code>true</code> answer from this method.
-     * To determine whether a tree item should be white-checked use method
-     * #determineShouldBeWhiteChecked(Object).
-     *
-     * @param treeElement java.lang.Object
-     * @return boolean
-     * @see #determineShouldBeWhiteChecked(Object)
-     */
-    protected boolean determineShouldBeAtLeastGrayChecked(Object treeElement) {
-        // if any list items associated with treeElement are checked then it
-        // retains its gray-checked status regardless of its children
-        List checked = (List) checkedStateStore.get(treeElement);
-        if (checked != null && (!checked.isEmpty()))
-            return true;
-
-        // if any children of treeElement are still gray-checked then treeElement
-        // must remain gray-checked as well. Only ask expanded nodes
-        if (expandedTreeNodes.contains(treeElement)) {
-            Object[] children = treeContentProvider.getChildren(treeElement);
-            for (int i = 0; i < children.length; ++i) {
-                if (checkedStateStore.containsKey(children[i]))
-                    return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a boolean indicating whether the passed tree item should be
-     * white-checked.
-     *
-     * @return boolean
-     * @param treeElement java.lang.Object
-     */
-    protected boolean determineShouldBeWhiteChecked(Object treeElement) {
-        return areAllChildrenWhiteChecked(treeElement)
-                && areAllElementsChecked(treeElement);
-    }
-
-    /**
-     *	Recursively add appropriate tree elements to the collection of
-     *	known white-checked tree elements.
-     *
-     *	@param treeElement java.lang.Object
-     */
-    protected void determineWhiteCheckedDescendents(Object treeElement) {
-        // always go through all children first since their white-checked
-        // statuses will be needed to determine the white-checked status for
-        // this tree element
-        Object[] children = treeContentProvider.getElements(treeElement);
-        for (int i = 0; i < children.length; ++i)
-            determineWhiteCheckedDescendents(children[i]);
-
-        // now determine the white-checked status for this tree element
-        if (determineShouldBeWhiteChecked(treeElement))
-            setWhiteChecked(treeElement, true);
-    }
-
-    /**
-     * Cause the tree viewer to expand all its items
-     */
-    public void expandAll() {
-        treeViewer.expandAll();
-    }
-
-    /**
-     *	Expand an element in a tree viewer
-     */
-    private void expandTreeElement(final Object item) {
-        BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                new Runnable() {
-                    public void run() {
-
-                        // First see if the children need to be given their checked state at all.  If they've
-                        // already been realized then this won't be necessary
-                        if (expandedTreeNodes.contains(item))
-                            checkNewTreeElements(treeContentProvider
-                                    .getChildren(item));
-                        else {
-
-                            expandedTreeNodes.add(item);
-                            if (whiteCheckedTreeItems.contains(item)) {
-                                //If this is the first expansion and this is a white checked node then check the children
-                                Object[] children = treeContentProvider
-                                        .getChildren(item);
-                                for (int i = 0; i < children.length; ++i) {
-                                    if (!whiteCheckedTreeItems
-                                            .contains(children[i])) {
-                                        Object child = children[i];
-                                        setWhiteChecked(child, true);
-                                        treeViewer.setChecked(child, true);
-                                        checkedStateStore.put(child,
-                                                new ArrayList());
-                                    }
-                                }
-
-                                //Now be sure to select the list of items too
-                                setListForWhiteSelection(item);
-                            }
-                        }
-
-                    }
-                });
-    }
-
-    /**
-     * Add all of the selected children of nextEntry to result recursively.
-     * This does not set any values in the checked state.
-     * @param The treeElement being queried
-     * @param addAll a boolean to indicate if the checked state store needs to be queried
-     * @param filter IElementFilter - the filter being used on the data
-     * @param monitor IProgressMonitor or null that the cancel is polled for 
-     */
-    private void findAllSelectedListElements(Object treeElement,
-            String parentLabel, boolean addAll, IElementFilter filter,
-            IProgressMonitor monitor) throws InterruptedException {
-
-        String fullLabel = null;
-        if (monitor != null && monitor.isCanceled())
-            return;
-        if (monitor != null) {
-            fullLabel = getFullLabel(treeElement, parentLabel);
-            monitor.subTask(fullLabel);
-        }
-
-        if (addAll)
-            filter.filterElements(listContentProvider.getElements(treeElement),
-                    monitor);
-        else { //Add what we have stored
-            if (checkedStateStore.containsKey(treeElement))
-                filter.filterElements((Collection) checkedStateStore
-                        .get(treeElement), monitor);
-        }
-
-        Object[] treeChildren = treeContentProvider.getChildren(treeElement);
-        for (int i = 0; i < treeChildren.length; i++) {
-            Object child = treeChildren[i];
-            if (addAll)
-                findAllSelectedListElements(child, fullLabel, true, filter,
-                        monitor);
-            else { //Only continue for those with checked state
-                if (checkedStateStore.containsKey(child))
-                    findAllSelectedListElements(child, fullLabel,
-                            whiteCheckedTreeItems.contains(child), filter,
-                            monitor);
-            }
-
-        }
-    }
-
-    /**
-     * Find all of the white checked children of the treeElement and add them to the collection.
-     * If the element itself is white select add it. If not then add any selected list elements
-     * and recurse down to the children.
-     * @param treeElement java.lang.Object
-     * @param result java.util.Collection
-     */
-    private void findAllWhiteCheckedItems(Object treeElement, Collection result) {
-
-        if (whiteCheckedTreeItems.contains(treeElement))
-            result.add(treeElement);
-        else {
-            Collection listChildren = (Collection) checkedStateStore
-                    .get(treeElement);
-            //if it is not in the store then it and it's children are not interesting
-            if (listChildren == null)
-                return;
-            result.addAll(listChildren);
-            Object[] children = treeContentProvider.getChildren(treeElement);
-            for (int i = 0; i < children.length; ++i) {
-                findAllWhiteCheckedItems(children[i], result);
-            }
-        }
-    }
-
-    /**
-     * Returns a flat list of all of the leaf elements which
-     * are checked. Filter then based on the supplied ElementFilter.
-     * If monitor is cancelled then return null
-     * @param filter - the filter for the data
-     * @param monitor IProgressMonitor or null
-     * @return all of the leaf elements which are checked
-     */
-    public void getAllCheckedListItems(IElementFilter filter,
-            IProgressMonitor monitor) throws InterruptedException {
-
-        //Iterate through the children of the root as the root is not in the store
-        Object[] children = treeContentProvider.getChildren(root);
-        for (int i = 0; i < children.length; ++i) {
-            findAllSelectedListElements(children[i], null,
-                    whiteCheckedTreeItems.contains(children[i]), filter,
-                    monitor);
-        }
-    }
-
-    /**
-     *	Returns a flat list of all of the leaf elements which are checked.
-     *
-     *	@return all of the leaf elements which are checked. This API does not
-     * 	return null in order to keep backwards compatibility.
-     */
-    public List getAllCheckedListItems() {
-
-        final ArrayList returnValue = new ArrayList();
-
-        IElementFilter passThroughFilter = new IElementFilter() {
-
-            public void filterElements(Collection elements,
-                    IProgressMonitor monitor) throws InterruptedException {
-                returnValue.addAll(elements);
-            }
-
-            public void filterElements(Object[] elements,
-                    IProgressMonitor monitor) throws InterruptedException {
-                for (int i = 0; i < elements.length; i++) {
-                    returnValue.add(elements[i]);
-                }
-            }
-        };
-
-        try {
-            getAllCheckedListItems(passThroughFilter, null);
-        } catch (InterruptedException exception) {
-            return new ArrayList();
-        }
-        return returnValue;
-
-    }
-
-    /**
-     *	Returns a list of all of the items that are white checked.
-     * 	Any folders that are white checked are added and then any files
-     *  from white checked folders are added. 
-     *
-     *	@return the list of all of the items that are white checked
-     */
-    public List getAllWhiteCheckedItems() {
-
-        List result = new ArrayList();
-
-        //Iterate through the children of the root as the root is not in the store
-        Object[] children = treeContentProvider.getChildren(root);
-        for (int i = 0; i < children.length; ++i) {
-            findAllWhiteCheckedItems(children[i], result);
-        }
-
-        return result;
-    }
-
-    /**
-     *	Answer the number of elements that have been checked by the
-     *	user.
-     *
-     *	@return int
-     */
-    public int getCheckedElementCount() {
-        return checkedStateStore.size();
-    }
-
-    /**
-     * Get the full label of the treeElement (its name and its parent's name).
-     * @param treeElement - the element being exported
-     * @param parentLabel - the label of the parent, can be null
-     * @return String
-     */
-    protected String getFullLabel(Object treeElement, String parentLabel) {
-        String parentName = parentLabel;
-
-        if (parentLabel == null)
-            parentName = ""; //$NON-NLS-1$
-
-        if (parentName.length() > 0 && (!parentName.endsWith(File.separator))) {
-            parentName += File.separatorChar;
-        }
-        
-        String elementText = treeLabelProvider.getText(treeElement);
-        if(elementText == null)
-        	return parentName;
-        return parentName + elementText;
-    }
-
-    /**
-     *	Return a count of the number of list items associated with a
-     *	given tree item.
-     *
-     *	@return int
-     *	@param treeElement java.lang.Object
-     */
-    protected int getListItemsSize(Object treeElement) {
-        Object[] elements = listContentProvider.getElements(treeElement);
-        return elements.length;
-    }
-
-    /**
-     * Get the table the list viewer uses.
-     * @return org.eclipse.swt.widgets.Table
-     */
-    public Table getListTable() {
-        return this.listViewer.getTable();
-    }
-
-    /**
-     *	Logically gray-check all ancestors of treeItem by ensuring that they
-     *	appear in the checked table
-     */
-    protected void grayCheckHierarchy(Object treeElement) {
-
-        //expand the element first to make sure we have populated for it
-        expandTreeElement(treeElement);
-
-        // if this tree element is already gray then its ancestors all are as well
-        if (checkedStateStore.containsKey(treeElement))
-            return; // no need to proceed upwards from here
-
-        checkedStateStore.put(treeElement, new ArrayList());
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null)
-            grayCheckHierarchy(parent);
-    }
-
-    /**
-     *	Set the checked state of self and all ancestors appropriately. Do not white check anyone - this is
-     *  only done down a hierarchy.
-     */
-    private void grayUpdateHierarchy(Object treeElement) {
-
-        boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
-        treeViewer.setGrayChecked(treeElement, shouldBeAtLeastGray);
-
-        if (whiteCheckedTreeItems.contains(treeElement))
-            whiteCheckedTreeItems.remove(treeElement);
-
-        // proceed up the tree element hierarchy
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null) {
-            grayUpdateHierarchy(parent);
-        }
-    }
-
-    /**
-     *	Set the initial checked state of the passed list element to true.
-     */
-    public void initialCheckListItem(Object element) {
-        Object parent = treeContentProvider.getParent(element);
-        selectAndReveal(parent);
-        //Check the element in the viewer as if it had been manually checked
-        listViewer.setChecked(element, true);
-        //As this is not done from the UI then set the box for updating from the selection to false 
-        listItemChecked(element, true, false);
-        grayUpdateHierarchy(parent);
-    }
-
-    /**
-     *	Set the initial checked state of the passed element to true,
-     *	as well as to all of its children and associated list elements
-     */
-    public void initialCheckTreeItem(Object element) {
-        treeItemChecked(element, true);
-        selectAndReveal(element);
-    }
-
-    private void selectAndReveal(Object treeElement) {
-        treeViewer.reveal(treeElement);
-        IStructuredSelection selection = new StructuredSelection(treeElement);
-        treeViewer.setSelection(selection);
-    }
-
-    /**
-     *	Initialize this group's viewers after they have been laid out.
-     */
-    protected void initialize() {
-        treeViewer.setInput(root);
-        this.expandedTreeNodes = new ArrayList();
-        this.expandedTreeNodes.add(root);
-
-    }
-
-    /**
-     *	Callback that's invoked when the checked status of an item in the list
-     *	is changed by the user. Do not try and update the hierarchy if we are building the
-     *  initial list.
-     */
-    protected void listItemChecked(Object listElement, boolean state,
-            boolean updatingFromSelection) {
-        List checkedListItems = (List) checkedStateStore
-                .get(currentTreeSelection);
-        //If it has not been expanded do so as the selection of list items will affect gray state
-        if (!expandedTreeNodes.contains(currentTreeSelection))
-            expandTreeElement(currentTreeSelection);
-
-        if (state) {
-            if (checkedListItems == null) {
-                // since the associated tree item has gone from 0 -> 1 checked
-                // list items, tree checking may need to be updated
-                grayCheckHierarchy(currentTreeSelection);
-                checkedListItems = (List) checkedStateStore
-                        .get(currentTreeSelection);
-            }
-            checkedListItems.add(listElement);
-        } else {
-            checkedListItems.remove(listElement);
-            if (checkedListItems.isEmpty()) {
-                // since the associated tree item has gone from 1 -> 0 checked
-                // list items, tree checking may need to be updated
-                ungrayCheckHierarchy(currentTreeSelection);
-            }
-        }
-
-        //Update the list with the selections if there are any
-        if (checkedListItems.size() > 0)
-            checkedStateStore.put(currentTreeSelection, checkedListItems);
-        if (updatingFromSelection)
-            grayUpdateHierarchy(currentTreeSelection);
-    }
-
-    /**
-     *	Notify all checked state listeners that the passed element has had
-     *	its checked state changed to the passed state
-     */
-    protected void notifyCheckStateChangeListeners(
-            final CheckStateChangedEvent event) {
-        Object[] array = listeners.getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final ICheckStateListener l = (ICheckStateListener) array[i];
-            Platform.run(new SafeRunnable() {
-                public void run() {
-                    l.checkStateChanged(event);
-                }
-            });
-        }
-    }
-
-    /**
-     *Set the contents of the list viewer based upon the specified selected
-     *tree element.  This also includes checking the appropriate list items.
-     *
-     *@param treeElement java.lang.Object
-     */
-    protected void populateListViewer(final Object treeElement) {
-        listViewer.setInput(treeElement);
-
-        //If the element is white checked but not expanded we have not set up all of the children yet
-        if (!(expandedTreeNodes.contains(treeElement))
-                && whiteCheckedTreeItems.contains(treeElement)) {
-
-            //Potentially long operation - show a busy cursor
-            BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                    new Runnable() {
-                        public void run() {
-                            setListForWhiteSelection(treeElement);
-                            listViewer.setAllChecked(true);
-                        }
-                    });
-
-        } else {
-            List listItemsToCheck = (List) checkedStateStore.get(treeElement);
-
-            if (listItemsToCheck != null) {
-                Iterator listItemsEnum = listItemsToCheck.iterator();
-                while (listItemsEnum.hasNext())
-                    listViewer.setChecked(listItemsEnum.next(), true);
-            }
-        }
-    }
-
-    /**
-     *	Logically gray-check all ancestors of treeItem by ensuring that they
-     *	appear in the checked table. Add any elements to the selectedNodes
-     *  so we can track that has been done.
-     */
-    private void primeHierarchyForSelection(Object item, Set selectedNodes) {
-
-        //Only prime it if we haven't visited yet
-        if (selectedNodes.contains(item))
-            return;
-
-        checkedStateStore.put(item, new ArrayList());
-
-        //mark as expanded as we are going to populate it after this
-        expandedTreeNodes.add(item);
-        selectedNodes.add(item);
-
-        Object parent = treeContentProvider.getParent(item);
-        if (parent != null)
-            primeHierarchyForSelection(parent, selectedNodes);
-    }
-
-    /**
-     *	Remove the passed listener from self's collection of clients
-     *	that listen for changes to element checked states
-     *
-     *	@param listener ICheckStateListener
-     */
-    public void removeCheckStateListener(ICheckStateListener listener) {
-        listeners.remove(listener);
-    }
-
-    /**
-     *	Handle the selection of an item in the tree viewer
-     *
-     *	@param event SelectionChangedEvent
-     */
-    public void selectionChanged(SelectionChangedEvent event) {
-        IStructuredSelection selection = (IStructuredSelection) event
-                .getSelection();
-        Object selectedElement = selection.getFirstElement();
-        if (selectedElement == null) {
-            currentTreeSelection = null;
-            listViewer.setInput(currentTreeSelection);
-            return;
-        }
-
-        // ie.- if not an item deselection
-        if (selectedElement != currentTreeSelection)
-            populateListViewer(selectedElement);
-
-        currentTreeSelection = selectedElement;
-    }
-
-    /**
-     * Select or deselect all of the elements in the tree depending on the value of the selection
-     * boolean. Be sure to update the displayed files as well.
-     */
-    public void setAllSelections(final boolean selection) {
-
-        //If there is no root there is nothing to select
-        if (root == null)
-            return;
-
-        //Potentially long operation - show a busy cursor
-        BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                new Runnable() {
-                    public void run() {
-                        setTreeChecked(root, selection);
-                        listViewer.setAllChecked(selection);
-                    }
-                });
-    }
-
-    /**
-     * The treeElement has been white selected. Get the list for the element and
-     * set it in the checked state store.
-     * @param treeElement the element being updated
-     */
-    private void setListForWhiteSelection(Object treeElement) {
-
-        Object[] listItems = listContentProvider.getElements(treeElement);
-        List listItemsChecked = new ArrayList();
-        for (int i = 0; i < listItems.length; ++i) {
-            listItemsChecked.add(listItems[i]);
-        }
-
-        checkedStateStore.put(treeElement, listItemsChecked);
-    }
-
-    /**
-     *	Set the list viewer's providers to those passed
-     *
-     *	@param contentProvider ITreeContentProvider
-     *	@param labelProvider ILabelProvider
-     */
-    public void setListProviders(IStructuredContentProvider contentProvider,
-            ILabelProvider labelProvider) {
-        listViewer.setContentProvider(contentProvider);
-        listViewer.setLabelProvider(labelProvider);
-    }
-
-    /**
-     *	Set the sorter that is to be applied to self's list viewer
-     */
-    public void setListSorter(ViewerSorter sorter) {
-        listViewer.setSorter(sorter);
-    }
-
-    /**
-     * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
-     * value.
-     * @param newRoot 
-     */
-    public void setRoot(Object newRoot) {
-        this.root = newRoot;
-        initialize();
-    }
-
-    /**
-     *	Set the checked state of the passed tree element appropriately, and
-     *	do so recursively to all of its child tree elements as well
-     */
-    protected void setTreeChecked(Object treeElement, boolean state) {
-
-        if (treeElement.equals(currentTreeSelection)) {
-            listViewer.setAllChecked(state);
-        }
-
-        if (state) {
-            setListForWhiteSelection(treeElement);
-        } else
-            checkedStateStore.remove(treeElement);
-
-        setWhiteChecked(treeElement, state);
-        treeViewer.setChecked(treeElement, state);
-        treeViewer.setGrayed(treeElement, false);
-
-        // now logically check/uncheck all children as well if it has been expanded
-        if (expandedTreeNodes.contains(treeElement)) {
-            Object[] children = treeContentProvider.getChildren(treeElement);
-            for (int i = 0; i < children.length; ++i) {
-                setTreeChecked(children[i], state);
-            }
-        }
-    }
-
-    /**
-     *	Set the tree viewer's providers to those passed
-     *
-     *	@param contentProvider ITreeContentProvider
-     *	@param labelProvider ILabelProvider
-     */
-    public void setTreeProviders(ITreeContentProvider contentProvider,
-            ILabelProvider labelProvider) {
-        treeViewer.setContentProvider(contentProvider);
-        treeViewer.setLabelProvider(labelProvider);
-    }
-
-    /**
-     *	Set the sorter that is to be applied to self's tree viewer
-     */
-    public void setTreeSorter(ViewerSorter sorter) {
-        treeViewer.setSorter(sorter);
-    }
-
-    /**
-     *	Adjust the collection of references to white-checked tree elements appropriately.
-     *
-     *	@param treeElement java.lang.Object
-     *	@param isWhiteChecked boolean
-     */
-    protected void setWhiteChecked(Object treeElement, boolean isWhiteChecked) {
-        if (isWhiteChecked) {
-            if (!whiteCheckedTreeItems.contains(treeElement))
-                whiteCheckedTreeItems.add(treeElement);
-        } else
-            whiteCheckedTreeItems.remove(treeElement);
-    }
-
-    /**
-     *	Handle the collapsing of an element in a tree viewer
-     */
-    public void treeCollapsed(TreeExpansionEvent event) {
-        // We don't need to do anything with this
-    }
-
-    /**
-     *	Handle the expansionsion of an element in a tree viewer
-     */
-    public void treeExpanded(TreeExpansionEvent event) {
-        expandTreeElement(event.getElement());
-    }
-
-    /**
-     *  Callback that's invoked when the checked status of an item in the tree
-     *  is changed by the user.
-     */
-    protected void treeItemChecked(Object treeElement, boolean state) {
-
-        // recursively adjust all child tree elements appropriately
-        setTreeChecked(treeElement, state);
-
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent == null)
-            return;
-
-        // now update upwards in the tree hierarchy 
-        if (state)
-            grayCheckHierarchy(parent);
-        else
-            ungrayCheckHierarchy(parent);
-
-        //Update the hierarchy but do not white select the parent
-        grayUpdateHierarchy(parent);
-    }
-
-    /**
-     *	Logically un-gray-check all ancestors of treeItem iff appropriate.
-     */
-    protected void ungrayCheckHierarchy(Object treeElement) {
-        if (!determineShouldBeAtLeastGrayChecked(treeElement))
-            checkedStateStore.remove(treeElement);
-
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null)
-            ungrayCheckHierarchy(parent);
-    }
-
-    /**
-     *	Set the checked state of self and all ancestors appropriately
-     */
-    protected void updateHierarchy(Object treeElement) {
-
-        boolean whiteChecked = determineShouldBeWhiteChecked(treeElement);
-        boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
-        treeViewer.setChecked(treeElement, shouldBeAtLeastGray);
-        setWhiteChecked(treeElement, whiteChecked);
-        if (whiteChecked)
-            treeViewer.setGrayed(treeElement, false);
-        else
-            treeViewer.setGrayed(treeElement, shouldBeAtLeastGray);
-
-        // proceed up the tree element hierarchy but gray select all of them
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null) {
-            grayUpdateHierarchy(parent);
-        }
-    }
-
-    /**
-     * Update the selections of the tree elements in items to reflect the new
-     * selections provided.
-     * @param items Map with keys of Object (the tree element) and values of List (the selected
-     * list elements).  
-     * NOTE: This method does not special case keys with no values (i.e., 
-     * a tree element with an empty list).  If a tree element does not have any selected
-     * items, do not include the element in the Map.
-     */
-    public void updateSelections(Map items) {
-        // We are replacing all selected items with the given selected items,
-        // so reinitialize everything.
-        this.listViewer.setAllChecked(false);
-        this.treeViewer.setCheckedElements(new Object[0]);
-        this.whiteCheckedTreeItems = new HashSet();
-        Set selectedNodes = new HashSet();
-        checkedStateStore = new HashMap();
-
-        //Update the store before the hierarchy to prevent updating parents before all of the children are done
-        Iterator keyIterator = items.keySet().iterator();
-        while (keyIterator.hasNext()) {
-            Object key = keyIterator.next();
-            List selections = (List) items.get(key);
-            //Replace the items in the checked state store with those from the supplied items			
-            checkedStateStore.put(key, selections);
-            selectedNodes.add(key);
-            // proceed up the tree element hierarchy
-            Object parent = treeContentProvider.getParent(key);
-            if (parent != null) {
-                // proceed up the tree element hierarchy and make sure everything is in the table		
-                primeHierarchyForSelection(parent, selectedNodes);
-            }
-        }
-
-        // Update the checked tree items.  Since each tree item has a selected
-        // item, all the tree items will be gray checked.
-        treeViewer.setCheckedElements(checkedStateStore.keySet().toArray());
-        treeViewer.setGrayedElements(checkedStateStore.keySet().toArray());
-
-        // Update the listView of the currently selected tree item.
-        if (currentTreeSelection != null) {
-            Object displayItems = items.get(currentTreeSelection);
-            if (displayItems != null)
-                listViewer.setCheckedElements(((List) displayItems).toArray());
-        }
-    }
-
-    /** 
-     * Set the focus on to the list widget.
-     */
-    public void setFocus() {
-
-        this.treeViewer.getTree().setFocus();
-    }
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java
deleted file mode 100644
index 872edbb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceWorkingSetPage.java
+++ /dev/null
@@ -1,502 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font
- * 		should be activated and used by other components.
- *************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetPage;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A resource working set page allows the user to edit an 
- * existing working set and create a new working set.
- * <p>
- * Working set elements are presented as a simple resource tree.
- * </p>
- * 
- * @since 2.0
- */
-public class ResourceWorkingSetPage extends WizardPage implements
-        IWorkingSetPage {
-    private final static int SIZING_SELECTION_WIDGET_WIDTH = 50;
-
-    private final static int SIZING_SELECTION_WIDGET_HEIGHT = 200;
-
-    private Text text;
-
-    private CheckboxTreeViewer tree;
-
-    private IWorkingSet workingSet;
-
-    private boolean firstCheck = false; // set to true if selection is set in setSelection
-
-    /**
-     * Creates a new instance of the receiver.
-     */
-    public ResourceWorkingSetPage() {
-        super(
-                "resourceWorkingSetPage", //$NON-NLS-1$ 
-                IDEWorkbenchMessages.getString("ResourceWorkingSetPage.title"), //$NON-NLS-1$ 
-                IDEInternalWorkbenchImages
-                        .getImageDescriptor(IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ));
-        setDescription(IDEWorkbenchMessages
-                .getString("ResourceWorkingSetPage.description")); //$NON-NLS-1$
-    }
-
-    /**
-     * Adds working set elements contained in the given container to the list
-     * of checked resources.
-     * 
-     * @param collectedResources list of collected resources
-     * @param container container to collect working set elements for
-     */
-    private void addWorkingSetElements(List collectedResources,
-            IContainer container) {
-        IAdaptable[] elements = workingSet.getElements();
-        IPath containerPath = container.getFullPath();
-
-        for (int i = 0; i < elements.length; i++) {
-            IResource resource = null;
-
-            if (elements[i] instanceof IResource)
-                resource = (IResource) elements[i];
-            else
-                resource = (IResource) elements[i].getAdapter(IResource.class);
-
-            if (resource != null) {
-                IPath resourcePath = resource.getFullPath();
-                if (containerPath.isPrefixOf(resourcePath))
-                    collectedResources.add(elements[i]);
-            }
-        }
-    }
-
-    /**
-     * Overrides method in WizardPage.
-     * 
-     * @see org.eclipse.jface.wizard.WizardPage#createControl(Composite)
-     */
-    public void createControl(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-        setControl(composite);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.WORKING_SET_RESOURCE_PAGE);
-        Label label = new Label(composite, SWT.WRAP);
-        label.setText(IDEWorkbenchMessages
-                .getString("ResourceWorkingSetPage.message")); //$NON-NLS-1$
-        GridData data = new GridData(GridData.GRAB_HORIZONTAL
-                | GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.VERTICAL_ALIGN_CENTER);
-        label.setLayoutData(data);
-        label.setFont(font);
-
-        text = new Text(composite, SWT.SINGLE | SWT.BORDER);
-        text.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-        text.setFont(font);
-        text.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                validateInput();
-            }
-        });
-        text.setFocus();
-
-        label = new Label(composite, SWT.WRAP);
-        label.setText(IDEWorkbenchMessages
-                .getString("ResourceWorkingSetPage.label.tree")); //$NON-NLS-1$
-        data = new GridData(GridData.GRAB_HORIZONTAL
-                | GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.VERTICAL_ALIGN_CENTER);
-        label.setLayoutData(data);
-        label.setFont(font);
-
-        tree = new CheckboxTreeViewer(composite);
-        tree.setUseHashlookup(true);
-        tree.setContentProvider(new WorkbenchContentProvider());
-        tree.setLabelProvider(new DecoratingLabelProvider(
-                new WorkbenchLabelProvider(), IDEWorkbenchPlugin.getDefault()
-                        .getWorkbench().getDecoratorManager()
-                        .getLabelDecorator()));
-        tree.setInput(IDEWorkbenchPlugin.getPluginWorkspace().getRoot());
-        tree.setSorter(new ResourceSorter(ResourceSorter.NAME));
-
-        data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
-        data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-        data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-        tree.getControl().setLayoutData(data);
-        tree.getControl().setFont(font);
-
-        tree.addCheckStateListener(new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                handleCheckStateChange(event);
-            }
-        });
-
-        tree.addTreeListener(new ITreeViewerListener() {
-            public void treeCollapsed(TreeExpansionEvent event) {
-            }
-
-            public void treeExpanded(TreeExpansionEvent event) {
-                final Object element = event.getElement();
-                if (tree.getGrayed(element) == false)
-                    BusyIndicator.showWhile(getShell().getDisplay(),
-                            new Runnable() {
-                                public void run() {
-                                    setSubtreeChecked((IContainer) element,
-                                            tree.getChecked(element), false);
-                                }
-                            });
-            }
-        });
-        initializeCheckedState();
-        if (workingSet != null) {
-            text.setText(workingSet.getName());
-        }
-        setPageComplete(false);
-    }
-
-    /**
-     * Collects all checked resources in the specified container.
-     * 
-     * @param checkedResources the output, list of checked resources
-     * @param container the container to collect checked resources in
-     */
-    private void findCheckedResources(List checkedResources,
-            IContainer container) {
-        IResource[] resources = null;
-        try {
-            resources = container.members();
-        } catch (CoreException ex) {
-            handleCoreException(
-                    ex,
-                    getShell(),
-                    IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-        }
-        for (int i = 0; i < resources.length; i++) {
-            if (tree.getGrayed(resources[i])) {
-                if (resources[i].isAccessible())
-                    findCheckedResources(checkedResources,
-                            (IContainer) resources[i]);
-                else
-                    addWorkingSetElements(checkedResources,
-                            (IContainer) resources[i]);
-            } else if (tree.getChecked(resources[i])) {
-                checkedResources.add(resources[i]);
-            }
-        }
-    }
-
-    /**
-     * Implements IWorkingSetPage.
-     * 
-     * @see org.eclipse.ui.dialogs.IWorkingSetPage#finish()
-     */
-    public void finish() {
-        ArrayList resources = new ArrayList(10);
-        findCheckedResources(resources, (IContainer) tree.getInput());
-        if (workingSet == null) {
-            IWorkingSetManager workingSetManager = PlatformUI.getWorkbench()
-                    .getWorkingSetManager();
-            workingSet = workingSetManager.createWorkingSet(
-                    getWorkingSetName(), (IAdaptable[]) resources
-                            .toArray(new IAdaptable[resources.size()]));
-        } else {
-            workingSet.setName(getWorkingSetName());
-            workingSet.setElements((IAdaptable[]) resources
-                    .toArray(new IAdaptable[resources.size()]));
-        }
-    }
-
-    /**
-     * Implements IWorkingSetPage.
-     * 
-     * @see org.eclipse.ui.dialogs.IWorkingSetPage#getSelection()
-     */
-    public IWorkingSet getSelection() {
-        return workingSet;
-    }
-
-    /**
-     * Returns the name entered in the working set name field.
-     * 
-     * @return the name entered in the working set name field.
-     */
-    private String getWorkingSetName() {
-        return text.getText();
-    }
-
-    /**
-     * Called when the checked state of a tree item changes.
-     * 
-     * @param event the checked state change event.
-     */
-    private void handleCheckStateChange(final CheckStateChangedEvent event) {
-        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-            public void run() {
-                IResource resource = (IResource) event.getElement();
-                boolean state = event.getChecked();
-
-                tree.setGrayed(resource, false);
-                if (resource instanceof IContainer) {
-                    setSubtreeChecked((IContainer) resource, state, true);
-                }
-                updateParentState(resource);
-                validateInput();
-            }
-        });
-    }
-
-    /**
-     * Displays an error message when a CoreException occured.
-     * 
-     * @param exception the CoreException 
-     * @param shell parent shell for the message box
-     * @param title the mesage box title
-     * @param message additional error message
-     */
-    private void handleCoreException(CoreException exception, Shell shell,
-            String title, String message) {
-        IStatus status = exception.getStatus();
-        if (status != null) {
-            ErrorDialog.openError(shell, title, message, status);
-        } else {
-            MessageDialog
-                    .openError(
-                            shell,
-                            IDEWorkbenchMessages.getString("InternalError"), exception.getLocalizedMessage()); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Sets the checked state of tree items based on the initial 
-     * working set, if any.
-     */
-    private void initializeCheckedState() {
-        if (workingSet == null)
-            return;
-
-        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-            public void run() {
-                IAdaptable[] items = workingSet.getElements();
-                tree.setCheckedElements(items);
-                for (int i = 0; i < items.length; i++) {
-                    IAdaptable item = items[i];
-                    IContainer container = null;
-                    IResource resource = null;
-
-                    if (item instanceof IContainer) {
-                        container = (IContainer) item;
-                    } else {
-                        container = (IContainer) item
-                                .getAdapter(IContainer.class);
-                    }
-                    if (container != null) {
-                        setSubtreeChecked(container, true, true);
-                    }
-                    if (item instanceof IResource) {
-                        resource = (IResource) item;
-                    } else {
-                        resource = (IResource) item.getAdapter(IResource.class);
-                    }
-                    if (resource != null && resource.isAccessible() == false) {
-                        IProject project = resource.getProject();
-                        if (tree.getChecked(project) == false)
-                            tree.setGrayChecked(project, true);
-                    } else {
-                        updateParentState(resource);
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * Implements IWorkingSetPage.
-     * 
-     * @see org.eclipse.ui.dialogs.IWorkingSetPage#setSelection(IWorkingSet)
-     */
-    public void setSelection(IWorkingSet workingSet) {
-        if (workingSet == null) {
-            throw new IllegalArgumentException("Working set must not be null"); //$NON-NLS-1$
-        }
-        this.workingSet = workingSet;
-        if (getShell() != null && text != null) {
-            firstCheck = true;
-            initializeCheckedState();
-            text.setText(workingSet.getName());
-        }
-    }
-
-    /**
-     * Sets the checked state of the container's members.
-     * 
-     * @param container the container whose children should be checked/unchecked
-     * @param state true=check all members in the container. false=uncheck all 
-     * 	members in the container.
-     * @param checkExpandedState true=recurse into sub-containers and set the 
-     * 	checked state. false=only set checked state of members of this container
-     */
-    private void setSubtreeChecked(IContainer container, boolean state,
-            boolean checkExpandedState) {
-        // checked state is set lazily on expand, don't set it if container is collapsed
-        if (container.isAccessible() == false
-                || (tree.getExpandedState(container) == false && state && checkExpandedState)) {
-            return;
-        }
-        IResource[] members = null;
-        try {
-            members = container.members();
-        } catch (CoreException ex) {
-            handleCoreException(
-                    ex,
-                    getShell(),
-                    IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-        }
-        for (int i = members.length - 1; i >= 0; i--) {
-            IResource element = members[i];
-            boolean elementGrayChecked = tree.getGrayed(element)
-                    || tree.getChecked(element);
-
-            if (state) {
-                tree.setChecked(element, true);
-                tree.setGrayed(element, false);
-            } else {
-                tree.setGrayChecked(element, false);
-            }
-            // unchecked state only needs to be set when the container is 
-            // checked or grayed
-            if (element instanceof IContainer && (state || elementGrayChecked)) {
-                setSubtreeChecked((IContainer) element, state, true);
-            }
-        }
-    }
-
-    /**
-     * Check and gray the resource parent if all resources of the 
-     * parent are checked.
-     * 
-     * @param child the resource whose parent checked state should 
-     * 	be set.
-     */
-    private void updateParentState(IResource child) {
-        if (child == null || child.getParent() == null)
-            return;
-
-        IContainer parent = child.getParent();
-        boolean childChecked = false;
-        IResource[] members = null;
-        try {
-            members = parent.members();
-        } catch (CoreException ex) {
-            handleCoreException(
-                    ex,
-                    getShell(),
-                    IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.error"), //$NON-NLS-1$
-                    IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.error.updateCheckedState")); //$NON-NLS-1$
-        }
-        for (int i = members.length - 1; i >= 0; i--) {
-            if (tree.getChecked(members[i]) || tree.getGrayed(members[i])) {
-                childChecked = true;
-                break;
-            }
-        }
-        tree.setGrayChecked(parent, childChecked);
-        updateParentState(parent);
-    }
-
-    /**
-     * Validates the working set name and the checked state of the 
-     * resource tree.
-     */
-    private void validateInput() {
-        String errorMessage = null; //$NON-NLS-1$
-        String newText = text.getText();
-
-        if (newText.equals(newText.trim()) == false) {
-            errorMessage = IDEWorkbenchMessages
-                    .getString("ResourceWorkingSetPage.warning.nameWhitespace"); //$NON-NLS-1$
-        } else if (firstCheck) {
-            firstCheck = false;
-            return;
-        }
-        if (newText.equals("")) { //$NON-NLS-1$
-            errorMessage = IDEWorkbenchMessages
-                    .getString("ResourceWorkingSetPage.warning.nameMustNotBeEmpty"); //$NON-NLS-1$
-        }
-        if (errorMessage == null
-                && (workingSet == null || newText.equals(workingSet.getName()) == false)) {
-            IWorkingSet[] workingSets = PlatformUI.getWorkbench()
-                    .getWorkingSetManager().getWorkingSets();
-            for (int i = 0; i < workingSets.length; i++) {
-                if (newText.equals(workingSets[i].getName())) {
-                    errorMessage = IDEWorkbenchMessages
-                            .getString("ResourceWorkingSetPage.warning.workingSetExists"); //$NON-NLS-1$
-                }
-            }
-        }
-        if (errorMessage == null && tree.getCheckedElements().length == 0) {
-            errorMessage = IDEWorkbenchMessages
-                    .getString("ResourceWorkingSetPage.warning.resourceMustBeChecked"); //$NON-NLS-1$
-        }
-        setErrorMessage(errorMessage);
-        setPageComplete(errorMessage == null);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java
deleted file mode 100644
index 5b15ff8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/SimpleListContentProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * The SimpleListContentProvider is a class designed to return a static list of items
- * when queried for use in simple list dialogs.
- */
-public class SimpleListContentProvider implements IStructuredContentProvider {
-
-    //The elements to display
-    private Object[] elements;
-
-    /**
-     * SimpleListContentProvider constructor comment.
-     */
-    public SimpleListContentProvider() {
-        super();
-    }
-
-    /**
-     * Do nothing when disposing,
-     */
-    public void dispose() {
-    }
-
-    /**
-     * Returns the elements to display in the viewer. The inputElement is ignored for this
-     * provider.
-     */
-    public Object[] getElements(Object inputElement) {
-        return this.elements;
-    }
-
-    /**
-     * Required method from IStructuredContentProvider. The input is assumed to not change 
-     * for the SimpleListContentViewer so do nothing here.
-     */
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-    }
-
-    /**
-     * Set the elements to display.
-     * @param items Object[]
-     */
-    public void setElements(Object[] items) {
-
-        this.elements = items;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.java
deleted file mode 100644
index d6da90a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/UpdateProjectCapabilityWizard.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.ui.internal.ide.dialogs;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * Standard workbench wizard that guides the user to supply
- * the necessary information to configure new capabilities
- * on an existing project.
- */
-public class UpdateProjectCapabilityWizard extends MultiStepCapabilityWizard {
-    private IProject project;
-
-    private Capability[] addCapabilities;
-
-    private Capability[] removeCapabilities;
-
-    /**
-     * Creates a wizard.
-     * 
-     * @param project the project to configure new capabilities
-     * @param addCapabilities the new capabilities to configure on the project
-     * @param removeCapabilities the old capabilities to remove from the project
-     * 		in reverse order (first item last to be removed)
-     */
-    public UpdateProjectCapabilityWizard(IProject project,
-            Capability[] addCapabilities, Capability[] removeCapabilities) {
-        super();
-        this.project = project;
-        this.addCapabilities = addCapabilities;
-        this.removeCapabilities = removeCapabilities;
-        initializeDefaultPageImageDescriptor();
-        setWindowTitle(IDEWorkbenchMessages
-                .getString("UpdateProjectCapabilityWizard.windowTitle")); //$NON-NLS-1$
-    }
-
-    /**
-     * Builds the collection of steps
-     */
-    private void buildSteps() {
-        int stepNumber = 1;
-        ArrayList steps = new ArrayList(removeCapabilities.length
-                + addCapabilities.length);
-
-        // collect the minimum remove capability steps
-        if (removeCapabilities.length > 0) {
-            // Reserve the order so prereq aren't removed before dependents
-            for (int i = removeCapabilities.length - 1; i >= 0; i--) {
-                if (removeCapabilities[i] != null) {
-                    // Collect all the nature ids this capability should
-                    // remove. Includes itself and any ones that it
-                    // handles the ui for.
-                    ArrayList natureIds = new ArrayList();
-                    natureIds.add(removeCapabilities[i].getNatureId());
-                    ArrayList uiIds = removeCapabilities[i].getHandleUIs();
-                    if (uiIds != null) {
-                        Iterator it = uiIds.iterator();
-                        while (it.hasNext()) {
-                            String id = (String) it.next();
-                            for (int j = 0; j < removeCapabilities.length; j++) {
-                                if (removeCapabilities[j] != null) {
-                                    if (removeCapabilities[j].getId()
-                                            .equals(id)) {
-                                        natureIds.add(removeCapabilities[j]
-                                                .getNatureId());
-                                        removeCapabilities[j] = null;
-                                    }
-                                }
-                            }
-                        }
-                    }
-                    // Create a step to remove this capability and prereq natures
-                    String[] ids = new String[natureIds.size()];
-                    natureIds.toArray(ids);
-                    steps.add(new RemoveCapabilityStep(stepNumber,
-                            removeCapabilities[i], ids, project));
-                    stepNumber++;
-                }
-            }
-        }
-
-        // Collect the minimum add capability steps
-        if (addCapabilities.length > 0) {
-            IWorkbench workbench = PlatformUI.getWorkbench();
-            CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                    .getCapabilityRegistry();
-            Capability[] results = reg.pruneCapabilities(addCapabilities);
-            for (int i = 0; i < results.length; i++, stepNumber++)
-                steps.add(new InstallCapabilityStep(stepNumber, results[i],
-                        workbench, this));
-        }
-
-        // Set the list of steps to do
-        WizardStep[] results = new WizardStep[steps.size()];
-        steps.toArray(results);
-        setSteps(results);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected void addCustomPages() {
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected boolean canFinishOnReviewPage() {
-        WizardStep[] steps = getSteps();
-        // yes if the only step is to remove capabilities
-        return steps.length == 1 && steps[0] instanceof RemoveCapabilityStep;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getConfigurePageTitle() {
-        return IDEWorkbenchMessages
-                .getString("UpdateProjectCapabilityWizard.title"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getConfigurePageDescription() {
-        return IDEWorkbenchMessages
-                .getString("WizardProjectConfigurePage.description"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getFinishStepLabel(WizardStep[] steps) {
-        int count = 0;
-        for (int i = 0; i < steps.length; i++) {
-            if (!(steps[i] instanceof RemoveCapabilityStep)) {
-                count++;
-                if (count > 1)
-                    return super.getFinishStepLabel(steps);
-            }
-        }
-
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String[] getPerspectiveChoices() {
-        ArrayList results = new ArrayList();
-        for (int i = 0; i < addCapabilities.length; i++) {
-            ArrayList ids = addCapabilities[i].getPerspectiveChoices();
-            if (ids != null) {
-                Iterator it = ids.iterator();
-                while (it.hasNext()) {
-                    String id = (String) it.next();
-                    if (!results.contains(id))
-                        results.add(id);
-                }
-            }
-        }
-        String[] ids = new String[results.size()];
-        results.toArray(ids);
-        return ids;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IProjectProvider.
-     */
-    public IProject getProject() {
-        return project;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getReviewPageTitle() {
-        return IDEWorkbenchMessages
-                .getString("UpdateProjectCapabilityWizard.title"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    protected String getReviewPageDescription() {
-        return IDEWorkbenchMessages
-                .getString("WizardProjectReviewPage.description"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public IWizardPage getStartingPage() {
-        IWizardPage page = super.getStartingPage();
-        buildSteps();
-        return page;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on MultiStepWizard.
-     */
-    /* package */boolean handleMissingStepWizard(WizardStep step) {
-        MessageDialog
-                .openError(
-                        getShell(),
-                        IDEWorkbenchMessages
-                                .getString("UpdateProjectCapabilityWizard.errorTitle"), //$NON-NLS-1$
-                        IDEWorkbenchMessages
-                                .format(
-                                        "UpdateProjectCapabilityWizard.noWizard", new Object[] { step.getLabel() })); //$NON-NLS-1$
-        return false;
-    }
-
-    /**
-     * Sets the image banner for the wizard
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$		
-        try {
-            // @issue when icons move to IDE, need to update the following
-            URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen. Ignore.
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java
deleted file mode 100644
index 4114037..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditor.java
+++ /dev/null
@@ -1,1014 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.GC;
-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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.part.EditorPart;
-import org.xml.sax.SAXException;
-
-/**
- * A "fake" editor to show a welcome page
- * The contents of this page are supplied in the product configuration
- *
- * PRIVATE
- *		This class is internal to the workbench and must not be called outside the workbench
- */
-public class WelcomeEditor extends EditorPart {
-
-    private final static int HORZ_SCROLL_INCREMENT = 20;
-
-    private final static int VERT_SCROLL_INCREMENT = 20;
-
-    // width at which wrapping will stop and a horizontal scroll bar will be 
-    // introduced
-    private final static int WRAP_MIN_WIDTH = 150;
-
-    private Composite editorComposite;
-
-    private Cursor handCursor;
-
-    private Cursor busyCursor;
-
-    private WelcomeParser parser;
-
-    private ArrayList hyperlinkRanges = new ArrayList();
-
-    private ArrayList texts = new ArrayList();
-
-    private ScrolledComposite scrolledComposite;
-
-    private IPropertyChangeListener colorListener;
-
-    private boolean mouseDown = false;
-
-    private boolean dragEvent = false;
-
-    private StyledText firstText, lastText;
-
-    private StyledText lastNavigatedText, currentText;
-
-    private boolean nextTabAbortTraversal, previousTabAbortTraversal = false;
-
-    private WelcomeEditorCopyAction copyAction;
-
-    /**
-     * Create a new instance of the welcome editor
-     */
-    public WelcomeEditor() {
-        super();
-        setPartName(IDEWorkbenchMessages.getString("WelcomeEditor.title")); //$NON-NLS-1$
-        copyAction = new WelcomeEditorCopyAction(this);
-        copyAction.setEnabled(false);
-    }
-
-    /**
-     * Update the welcome page to start at the
-     * beginning of the text.
-     */
-    private void focusOn(StyledText newText, int caretOffset) {
-        if (newText == null)
-            return;
-        newText.setFocus();
-        newText.setCaretOffset(caretOffset);
-        scrolledComposite.setOrigin(0, newText.getLocation().y);
-    }
-
-    /**
-     * Finds the next text 
-     */
-    private StyledText nextText(StyledText text) {
-        int index = 0;
-        if (text == null)
-            return (StyledText) texts.get(0);
-        else
-            index = texts.indexOf(text);
-
-        //If we are not at the end....
-        if (index < texts.size() - 1)
-            return (StyledText) texts.get(index + 1);
-        else
-            return (StyledText) texts.get(0);
-    }
-
-    /**
-     * Finds the previous text 
-     */
-    private StyledText previousText(StyledText text) {
-        int index = 0;
-        if (text == null)
-            return (StyledText) texts.get(0);
-        else
-            index = texts.indexOf(text);
-
-        //If we are at the beginning....
-        if (index == 0)
-            return (StyledText) texts.get(texts.size() - 1);
-        else
-            return (StyledText) texts.get(index - 1);
-    }
-
-    /**
-     * Returns the current text.
-     */
-    protected StyledText getCurrentText() {
-        return currentText;
-    }
-
-    /**
-     * Returns the copy action. 
-     */
-    protected WelcomeEditorCopyAction getCopyAction() {
-        return copyAction;
-    }
-
-    /**
-     * Finds the next link after the current selection.
-     */
-    private StyleRange findNextLink(StyledText text) {
-        if (text == null)
-            return null;
-
-        WelcomeItem item = (WelcomeItem) text.getData();
-        StyleRange[] ranges = text.getStyleRanges();
-        int currentSelectionEnd = text.getSelection().y;
-
-        for (int i = 0; i < ranges.length; i++) {
-            if (ranges[i].start >= currentSelectionEnd)
-                if (item.isLinkAt(ranges[i].start))
-                    return ranges[i];
-        }
-        return null;
-    }
-
-    /**
-     * Finds the previous link before the current selection.
-     */
-    private StyleRange findPreviousLink(StyledText text) {
-        if (text == null)
-            return null;
-
-        WelcomeItem item = (WelcomeItem) text.getData();
-        StyleRange[] ranges = text.getStyleRanges();
-        int currentSelectionStart = text.getSelection().x;
-
-        for (int i = ranges.length - 1; i > -1; i--) {
-            if ((ranges[i].start + ranges[i].length) < currentSelectionStart)
-                if (item.isLinkAt(ranges[i].start + ranges[i].length - 1))
-                    return ranges[i];
-        }
-        return null;
-    }
-
-    /**
-     * Finds the current link of the current selection.
-     */
-    protected StyleRange getCurrentLink(StyledText text) {
-        StyleRange[] ranges = text.getStyleRanges();
-        int currentSelectionEnd = text.getSelection().y;
-        int currentSelectionStart = text.getSelection().x;
-
-        for (int i = 0; i < ranges.length; i++) {
-            if ((currentSelectionStart >= ranges[i].start)
-                    && (currentSelectionEnd <= (ranges[i].start + ranges[i].length))) {
-                return ranges[i];
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Adds listeners to the given styled text
-     */
-    private void addListeners(StyledText styledText) {
-        styledText.addMouseListener(new MouseAdapter() {
-            public void mouseDown(MouseEvent e) {
-                if (e.button != 1) {
-                    return;
-                }
-                mouseDown = true;
-            }
-
-            public void mouseUp(MouseEvent e) {
-                mouseDown = false;
-                StyledText text = (StyledText) e.widget;
-                WelcomeItem item = (WelcomeItem) e.widget.getData();
-                int offset = text.getCaretOffset();
-                if (dragEvent) {
-                    dragEvent = false;
-                    if (item.isLinkAt(offset)) {
-                        text.setCursor(handCursor);
-                    }
-                } else if (item.isLinkAt(offset)) {
-                    text.setCursor(busyCursor);
-                    if (e.button == 1) {
-                        item.triggerLinkAt(offset);
-                        StyleRange selectionRange = getCurrentLink(text);
-                        text.setSelectionRange(selectionRange.start,
-                                selectionRange.length);
-                        text.setCursor(null);
-                    }
-                }
-            }
-        });
-
-        styledText.addMouseMoveListener(new MouseMoveListener() {
-            public void mouseMove(MouseEvent e) {
-                // Do not change cursor on drag events
-                if (mouseDown) {
-                    if (!dragEvent) {
-                        StyledText text = (StyledText) e.widget;
-                        text.setCursor(null);
-                    }
-                    dragEvent = true;
-                    return;
-                }
-                StyledText text = (StyledText) e.widget;
-                WelcomeItem item = (WelcomeItem) e.widget.getData();
-                int offset = -1;
-                try {
-                    offset = text.getOffsetAtLocation(new Point(e.x, e.y));
-                } catch (IllegalArgumentException ex) {
-                    // location is not over a character
-                }
-                if (offset == -1)
-                    text.setCursor(null);
-                else if (item.isLinkAt(offset))
-                    text.setCursor(handCursor);
-                else
-                    text.setCursor(null);
-            }
-        });
-
-        styledText.addTraverseListener(new TraverseListener() {
-            public void keyTraversed(TraverseEvent e) {
-                StyledText text = (StyledText) e.widget;
-
-                switch (e.detail) {
-                case SWT.TRAVERSE_ESCAPE:
-                    e.doit = true;
-                    break;
-                case SWT.TRAVERSE_TAB_NEXT:
-                    // Handle Ctrl-Tab
-                    if ((e.stateMask & SWT.CTRL) != 0) {
-                        if (e.widget == lastText)
-                            return;
-                        else {
-                            e.doit = false;
-                            nextTabAbortTraversal = true;
-                            lastText.traverse(SWT.TRAVERSE_TAB_NEXT);
-                            return;
-                        }
-                    }
-                    if (nextTabAbortTraversal) {
-                        nextTabAbortTraversal = false;
-                        return;
-                    }
-                    // Find the next link in current widget, if applicable
-                    // Stop at top of widget
-                    StyleRange nextLink = findNextLink(text);
-                    if (nextLink == null) {
-                        // go to the next widget, focus at beginning
-                        StyledText nextText = nextText(text);
-                        nextText.setSelection(0);
-                        focusOn(nextText, 0);
-                    } else {
-                        // focusOn: allow none tab traversals to align
-                        focusOn(text, text.getSelection().x);
-                        text.setSelectionRange(nextLink.start, nextLink.length);
-                    }
-                    e.detail = SWT.TRAVERSE_NONE;
-                    e.doit = true;
-                    break;
-                case SWT.TRAVERSE_TAB_PREVIOUS:
-                    // Handle Ctrl-Shift-Tab
-                    if ((e.stateMask & SWT.CTRL) != 0) {
-                        if (e.widget == firstText)
-                            return;
-                        else {
-                            e.doit = false;
-                            previousTabAbortTraversal = true;
-                            firstText.traverse(SWT.TRAVERSE_TAB_PREVIOUS);
-                            return;
-                        }
-                    }
-                    if (previousTabAbortTraversal) {
-                        previousTabAbortTraversal = false;
-                        return;
-                    }
-                    // Find the previous link in current widget, if applicable
-                    // Stop at top of widget also
-                    StyleRange previousLink = findPreviousLink(text);
-                    if (previousLink == null) {
-                        if (text.getSelection().x == 0) {
-                            // go to the previous widget, focus at end
-                            StyledText previousText = previousText(text);
-                            previousText.setSelection(previousText
-                                    .getCharCount());
-                            previousLink = findPreviousLink(previousText);
-                            if (previousLink == null)
-                                focusOn(previousText, 0);
-                            else {
-                                focusOn(previousText, previousText
-                                        .getSelection().x);
-                                previousText
-                                        .setSelectionRange(previousLink.start,
-                                                previousLink.length);
-                            }
-                        } else {
-                            // stay at top of this widget
-                            focusOn(text, 0);
-                        }
-                    } else {
-                        // focusOn: allow none tab traversals to align
-                        focusOn(text, text.getSelection().x);
-                        text.setSelectionRange(previousLink.start,
-                                previousLink.length);
-                    }
-                    e.detail = SWT.TRAVERSE_NONE;
-                    e.doit = true;
-                    break;
-                default:
-                    break;
-                }
-            }
-        });
-
-        styledText.addKeyListener(new KeyListener() {
-            public void keyReleased(KeyEvent e) {
-                //Ignore a key release
-            }
-
-            public void keyPressed(KeyEvent event) {
-                StyledText text = (StyledText) event.widget;
-                if (event.character == ' ' || event.character == SWT.CR) {
-                    if (text != null) {
-                        WelcomeItem item = (WelcomeItem) text.getData();
-
-                        //Be sure we are in the selection
-                        int offset = text.getSelection().x + 1;
-
-                        if (item.isLinkAt(offset)) {
-                            text.setCursor(busyCursor);
-                            item.triggerLinkAt(offset);
-                            StyleRange selectionRange = getCurrentLink(text);
-                            text.setSelectionRange(selectionRange.start,
-                                    selectionRange.length);
-                            text.setCursor(null);
-                        }
-                    }
-                    return;
-                }
-
-                // When page down is pressed, move the cursor to the next item in the 
-                // welcome page.   Note that this operation wraps (pages to the top item
-                // when the last item is reached).
-                if (event.keyCode == SWT.PAGE_DOWN) {
-                    focusOn(nextText(text), 0);
-                    return;
-                }
-
-                // When page up is pressed, move the cursor to the previous item in the 
-                // welcome page.  Note that this operation wraps (pages to the bottom item
-                // when the first item is reached).
-                if (event.keyCode == SWT.PAGE_UP) {
-                    focusOn(previousText(text), 0);
-                    return;
-                }
-            }
-        });
-
-        styledText.addFocusListener(new FocusAdapter() {
-            public void focusLost(FocusEvent e) {
-                // Remember current text widget
-                lastNavigatedText = (StyledText) e.widget;
-            }
-
-            public void focusGained(FocusEvent e) {
-                currentText = (StyledText) e.widget;
-
-                // Remove highlighted selection if text widget has changed
-                if ((currentText != lastNavigatedText)
-                        && (lastNavigatedText != null))
-                    lastNavigatedText.setSelection(lastNavigatedText
-                            .getSelection().x);
-
-                // enable/disable copy action
-                copyAction.setEnabled(currentText.getSelectionCount() > 0);
-            }
-        });
-
-        styledText.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                // enable/disable copy action			
-                StyledText text = (StyledText) e.widget;
-                copyAction.setEnabled(text.getSelectionCount() > 0);
-            }
-        });
-    }
-
-    /**
-     * Creates the wizard's title area.
-     *
-     * @param parent the SWT parent for the title area composite
-     * @return the created info area composite
-     */
-    private Composite createInfoArea(Composite parent) {
-        // Create the title area which will contain
-        // a title, message, and image.
-        this.scrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL
-                | SWT.H_SCROLL);
-        this.scrolledComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        final Composite infoArea = new Composite(this.scrolledComposite,
-                SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 10;
-        layout.verticalSpacing = 5;
-        layout.numColumns = 2;
-        infoArea.setLayout(layout);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        infoArea.setLayoutData(data);
-        boolean wrapped = parser.isFormatWrapped();
-        int HINDENT = 20;
-
-        // Get the background color for the title area
-        Display display = parent.getDisplay();
-        Color background = JFaceColors.getBannerBackground(display);
-        Color foreground = JFaceColors.getBannerForeground(display);
-        infoArea.setBackground(background);
-
-        int textStyle = SWT.MULTI | SWT.READ_ONLY;
-        if (wrapped) {
-            textStyle = textStyle | SWT.WRAP;
-        }
-        StyledText sampleStyledText = null;
-        // Create the intro item
-        WelcomeItem item = getIntroItem();
-        if (item != null) {
-            StyledText styledText = new StyledText(infoArea, textStyle);
-            this.texts.add(styledText);
-            sampleStyledText = styledText;
-            styledText.setCursor(null);
-            JFaceColors.setColors(styledText, foreground, background);
-            styledText.setText(getIntroItem().getText());
-            setBoldRanges(styledText, item.getBoldRanges());
-            setLinkRanges(styledText, item.getActionRanges());
-            setLinkRanges(styledText, item.getHelpRanges());
-            GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-            gd.horizontalSpan = 2;
-            gd.horizontalIndent = HINDENT;
-            gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
-            styledText.setLayoutData(gd);
-            styledText.setData(item);
-            addListeners(styledText);
-
-            Label spacer = new Label(infoArea, SWT.NONE);
-            spacer.setBackground(background);
-            gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-            gd.horizontalSpan = 2;
-            spacer.setLayoutData(gd);
-        }
-        firstText = sampleStyledText;
-
-        // Create the welcome items
-        Label imageLabel = null;
-        WelcomeItem[] items = getItems();
-        for (int i = 0; i < items.length; i++) {
-            Label label = new Label(infoArea, SWT.NONE);
-            label.setBackground(background);
-            label
-                    .setImage(PlatformUI
-                            .getWorkbench()
-                            .getSharedImages()
-                            .getImage(
-                                    IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM));
-            GridData gd = new GridData();
-            gd.horizontalIndent = HINDENT;
-            gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
-            label.setLayoutData(gd);
-            if (imageLabel == null) {
-                imageLabel = label;
-            }
-
-            StyledText styledText = new StyledText(infoArea, textStyle);
-            this.texts.add(styledText);
-            sampleStyledText = styledText;
-            styledText.setCursor(null);
-            JFaceColors.setColors(styledText, foreground, background);
-            styledText.setText(items[i].getText());
-            setBoldRanges(styledText, items[i].getBoldRanges());
-            setLinkRanges(styledText, items[i].getActionRanges());
-            setLinkRanges(styledText, items[i].getHelpRanges());
-            gd = new GridData(GridData.FILL_HORIZONTAL);
-            gd.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
-            gd.verticalSpan = 2;
-            styledText.setLayoutData(gd);
-            styledText.setData(items[i]);
-            addListeners(styledText);
-
-            Label spacer = new Label(infoArea, SWT.NONE);
-            spacer.setBackground(background);
-            gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-            gd.horizontalSpan = 2;
-            spacer.setLayoutData(gd);
-
-            // create context menu
-            MenuManager menuMgr = new MenuManager("#PopUp"); //$NON-NLS-1$
-            menuMgr.add(copyAction);
-            styledText.setMenu(menuMgr.createContextMenu(styledText));
-        }
-
-        lastText = sampleStyledText;
-        this.scrolledComposite.setContent(infoArea);
-        Point p = infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-        this.scrolledComposite.setMinHeight(p.y);
-        if (wrapped) {
-            // introduce a horizontal scroll bar after a minimum width is reached
-            this.scrolledComposite.setMinWidth(WRAP_MIN_WIDTH);
-        } else {
-            this.scrolledComposite.setMinWidth(p.x);
-        }
-        this.scrolledComposite.setExpandHorizontal(true);
-        this.scrolledComposite.setExpandVertical(true);
-
-        // When the welcome editor is resized, we need to set the width hint for
-        // wrapped StyledText widgets so that the wrapped height will be recalculated.
-        if (wrapped && (imageLabel != null)) {
-            // figure out how wide the StyledText widgets should be, do this by first
-            // calculating the width of the area not used by styled text widgets
-            Rectangle bounds = imageLabel.getBounds();
-            final int adjust = HINDENT + bounds.width + layout.verticalSpacing
-                    + (layout.marginWidth * 2);
-            final int adjustFirst = HINDENT + (layout.marginWidth * 2);
-            infoArea.addListener(SWT.Resize, new Listener() {
-                public void handleEvent(Event event) {
-                    int w = scrolledComposite.getClientArea().width;
-                    // if the horizontal scroll bar exists, we want to wrap to the
-                    // minimum wrap width
-                    if (w < WRAP_MIN_WIDTH) {
-                        w = WRAP_MIN_WIDTH;
-                    }
-                    for (int i = 0; i < texts.size(); i++) {
-                        int extent;
-                        if (i == 0)
-                            extent = w - adjustFirst;
-                        else
-                            extent = w - adjust;
-                        StyledText text = (StyledText) texts.get(i);
-                        Point p = text.computeSize(extent, SWT.DEFAULT, false);
-                        ((GridData) text.getLayoutData()).widthHint = p.x;
-                    }
-                    // reset the scrolled composite height since the height of the 
-                    // styled text widgets have changed
-                    Point p = infoArea.computeSize(SWT.DEFAULT, SWT.DEFAULT,
-                            true);
-                    scrolledComposite.setMinHeight(p.y);
-                }
-            });
-        }
-
-        // Adjust the scrollbar increments
-        if (sampleStyledText == null) {
-            this.scrolledComposite.getHorizontalBar().setIncrement(
-                    HORZ_SCROLL_INCREMENT);
-            this.scrolledComposite.getVerticalBar().setIncrement(
-                    VERT_SCROLL_INCREMENT);
-        } else {
-            GC gc = new GC(sampleStyledText);
-            int width = gc.getFontMetrics().getAverageCharWidth();
-            gc.dispose();
-            this.scrolledComposite.getHorizontalBar().setIncrement(width);
-            this.scrolledComposite.getVerticalBar().setIncrement(
-                    sampleStyledText.getLineHeight());
-        }
-        return infoArea;
-    }
-
-    /**
-     * Creates the SWT controls for this workbench part.
-     * <p>
-     * Clients should not call this method (the workbench calls this method at
-     * appropriate times).
-     * </p>
-     * <p>
-     * For implementors this is a multi-step process:
-     * <ol>
-     *   <li>Create one or more controls within the parent.</li>
-     *   <li>Set the parent layout as needed.</li>
-     *   <li>Register any global actions with the <code>IActionService</code>.</li>
-     *   <li>Register any popup menus with the <code>IActionService</code>.</li>
-     *   <li>Register a selection provider with the <code>ISelectionService</code>
-     *     (optional). </li>
-     * </ol>
-     * </p>
-     *
-     * @param parent the parent control
-     */
-    public void createPartControl(Composite parent) {
-        // read our contents
-        readFile();
-        if (parser == null)
-            return;
-
-        handCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_HAND);
-        busyCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT);
-
-        editorComposite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        layout.verticalSpacing = 0;
-        layout.horizontalSpacing = 0;
-        editorComposite.setLayout(layout);
-
-        createTitleArea(editorComposite);
-
-        Label titleBarSeparator = new Label(editorComposite, SWT.HORIZONTAL
-                | SWT.SEPARATOR);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        titleBarSeparator.setLayoutData(gd);
-
-        createInfoArea(editorComposite);
-
-        getSite().getWorkbenchWindow().getWorkbench().getHelpSystem().setHelp(
-				editorComposite, IIDEHelpContextIds.WELCOME_EDITOR);
-
-        this.colorListener = new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-                if (event.getProperty()
-                        .equals(JFacePreferences.HYPERLINK_COLOR)) {
-                    Color fg = JFaceColors.getHyperlinkText(editorComposite
-                            .getDisplay());
-                    Iterator links = hyperlinkRanges.iterator();
-                    while (links.hasNext()) {
-                        StyleRange range = (StyleRange) links.next();
-                        range.foreground = fg;
-                    }
-                }
-            }
-        };
-
-        JFacePreferences.getPreferenceStore().addPropertyChangeListener(
-                this.colorListener);
-
-    }
-
-    /**
-     * Creates the wizard's title area.
-     *
-     * @param parent the SWT parent for the title area composite
-     * @return the created title area composite
-     */
-    private Composite createTitleArea(Composite parent) {
-        // Get the background color for the title area
-        Display display = parent.getDisplay();
-        Color background = JFaceColors.getBannerBackground(display);
-        Color foreground = JFaceColors.getBannerForeground(display);
-
-        // Create the title area which will contain
-        // a title, message, and image.
-        Composite titleArea = new Composite(parent, SWT.NONE | SWT.NO_FOCUS);
-        GridLayout layout = new GridLayout();
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        layout.verticalSpacing = 0;
-        layout.horizontalSpacing = 0;
-        layout.numColumns = 2;
-        titleArea.setLayout(layout);
-        titleArea.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        titleArea.setBackground(background);
-
-        // Message label
-        final CLabel messageLabel = new CLabel(titleArea, SWT.LEFT) {
-            protected String shortenText(GC gc, String text, int width) {
-                if (gc.textExtent(text, SWT.DRAW_MNEMONIC).x <= width)
-                    return text;
-                final String ellipsis = "..."; //$NON-NLS-1$
-                int ellipseWidth = gc.textExtent(ellipsis, SWT.DRAW_MNEMONIC).x;
-                int length = text.length();
-                int end = length - 1;
-                while (end > 0) {
-                    text = text.substring(0, end);
-                    int l1 = gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-                    if (l1 + ellipseWidth <= width) {
-                        return text + ellipsis;
-                    }
-                    end--;
-                }
-                return text + ellipsis;
-            }
-        };
-        JFaceColors.setColors(messageLabel, foreground, background);
-        messageLabel.setText(getBannerTitle());
-        messageLabel.setFont(JFaceResources.getHeaderFont());
-
-        final IPropertyChangeListener fontListener = new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-                if (JFaceResources.HEADER_FONT.equals(event.getProperty())) {
-                    messageLabel.setFont(JFaceResources.getHeaderFont());
-                }
-            }
-        };
-
-        messageLabel.addDisposeListener(new DisposeListener() {
-            public void widgetDisposed(DisposeEvent event) {
-                JFaceResources.getFontRegistry().removeListener(fontListener);
-            }
-        });
-
-        JFaceResources.getFontRegistry().addListener(fontListener);
-
-        GridData gd = new GridData(GridData.FILL_BOTH);
-        messageLabel.setLayoutData(gd);
-
-        // Title image
-        Label titleImage = new Label(titleArea, SWT.LEFT);
-        titleImage.setBackground(background);
-        titleImage.setImage(PlatformUI.getWorkbench().getSharedImages()
-                .getImage(IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER));
-        gd = new GridData();
-        gd.horizontalAlignment = GridData.END;
-        titleImage.setLayoutData(gd);
-
-        return titleArea;
-    }
-
-    /**
-     * The <code>WorkbenchPart</code> implementation of this 
-     * <code>IWorkbenchPart</code> method disposes the title image
-     * loaded by <code>setInitializationData</code>. Subclasses may extend.
-     */
-    public void dispose() {
-        super.dispose();
-        if (busyCursor != null)
-            busyCursor.dispose();
-        if (handCursor != null)
-            handCursor.dispose();
-        if (this.colorListener != null) {
-            JFacePreferences.getPreferenceStore().removePropertyChangeListener(
-                    this.colorListener);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Saves the contents of this editor.
-     * <p>
-     * Subclasses must override this method to implement the open-save-close lifecycle
-     * for an editor.  For greater details, see <code>IEditorPart</code>
-     * </p>
-     *
-     * @see IEditorPart
-     */
-    public void doSave(IProgressMonitor monitor) {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * Saves the contents of this editor to another object.
-     * <p>
-     * Subclasses must override this method to implement the open-save-close lifecycle
-     * for an editor.  For greater details, see <code>IEditorPart</code>
-     * </p>
-     *
-     * @see IEditorPart
-     */
-    public void doSaveAs() {
-        // do nothing	
-    }
-
-    /**
-     * Returns the title obtained from the parser
-     */
-    private String getBannerTitle() {
-        if (parser.getTitle() == null)
-            return ""; //$NON-NLS-1$
-        return parser.getTitle();
-    }
-
-    /**
-     * Returns the intro item or <code>null</code>
-     */
-    private WelcomeItem getIntroItem() {
-        return parser.getIntroItem();
-    }
-
-    /**
-     * Returns the welcome items
-     */
-    private WelcomeItem[] getItems() {
-        return parser.getItems();
-    }
-
-    /* (non-Javadoc)
-     * Sets the cursor and selection state for this editor to the passage defined
-     * by the given marker.
-     * <p>
-     * Subclasses may override.  For greater details, see <code>IEditorPart</code>
-     * </p>
-     *
-     * @see IEditorPart
-     */
-    public void gotoMarker(IMarker marker) {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * Initializes the editor part with a site and input.
-     * <p>
-     * Subclasses of <code>EditorPart</code> must implement this method.  Within
-     * the implementation subclasses should verify that the input type is acceptable
-     * and then save the site and input.  Here is sample code:
-     * </p>
-     * <pre>
-     *		if (!(input instanceof IFileEditorInput))
-     *			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-     *		setSite(site);
-     *		setInput(editorInput);
-     * </pre>
-     */
-    public void init(IEditorSite site, IEditorInput input)
-            throws PartInitException {
-        if (!(input instanceof WelcomeEditorInput))
-            throw new PartInitException(
-                    "Invalid Input: Must be IFileEditorInput"); //$NON-NLS-1$
-        setSite(site);
-        setInput(input);
-    }
-
-    /* (non-Javadoc)
-     * Returns whether the contents of this editor have changed since the last save
-     * operation.
-     * <p>
-     * Subclasses must override this method to implement the open-save-close lifecycle
-     * for an editor.  For greater details, see <code>IEditorPart</code>
-     * </p>
-     *
-     * @see IEditorPart
-     */
-    public boolean isDirty() {
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Returns whether the "save as" operation is supported by this editor.
-     * <p>
-     * Subclasses must override this method to implement the open-save-close lifecycle
-     * for an editor.  For greater details, see <code>IEditorPart</code>
-     * </p>
-     *
-     * @see IEditorPart
-     */
-    public boolean isSaveAsAllowed() {
-        return false;
-    }
-
-    /**
-     * Read the contents of the welcome page
-     * 
-     * @param is the <code>InputStream</code> to parse
-     * @throws IOException if there is a problem parsing the stream.
-     */
-    public void read(InputStream is) throws IOException {
-        try {
-            parser = new WelcomeParser();
-        } catch (ParserConfigurationException e) {
-            throw (IOException) (new IOException().initCause(e));
-        } catch (SAXException e) {
-            throw (IOException) (new IOException().initCause(e));
-        }
-        parser.parse(is);
-    }
-
-    /**
-     * Reads the welcome file
-     */
-    public void readFile() {
-        URL url = ((WelcomeEditorInput) getEditorInput()).getAboutInfo()
-                .getWelcomePageURL();
-
-        if (url == null)
-            // should not happen 
-            return;
-
-        InputStream is = null;
-        try {
-            is = url.openStream();
-            read(is);
-        } catch (IOException e) {
-            IStatus status = new Status(IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages
-                            .getString("WelcomeEditor.accessException"), e); //$NON-NLS-1$
-            IDEWorkbenchPlugin.log(IDEWorkbenchMessages
-                    .getString("WelcomeEditor.readFileError"), status); //$NON-NLS-1$
-        } finally {
-            try {
-                if (is != null)
-                    is.close();
-            } catch (IOException e) {
-            }
-        }
-    }
-
-    /**
-     * Sets the styled text's bold ranges
-     */
-    private void setBoldRanges(StyledText styledText, int[][] boldRanges) {
-        for (int i = 0; i < boldRanges.length; i++) {
-            StyleRange r = new StyleRange(boldRanges[i][0], boldRanges[i][1],
-                    null, null, SWT.BOLD);
-            styledText.setStyleRange(r);
-        }
-    }
-
-    /**
-     * Asks this part to take focus within the workbench.
-     * <p>
-     * Clients should not call this method (the workbench calls this method at
-     * appropriate times).
-     * </p>
-     */
-    public void setFocus() {
-        if ((editorComposite != null) && (lastNavigatedText == null)
-                && (currentText == null))
-            editorComposite.setFocus();
-    }
-
-    /**
-     * Sets the styled text's link (blue) ranges
-     */
-    private void setLinkRanges(StyledText styledText, int[][] linkRanges) {
-        //Color fg = styledText.getDisplay().getSystemColor(SWT.COLOR_BLUE);
-        Color fg = JFaceColors.getHyperlinkText(styledText.getShell()
-                .getDisplay());
-        for (int i = 0; i < linkRanges.length; i++) {
-            StyleRange r = new StyleRange(linkRanges[i][0], linkRanges[i][1],
-                    fg, null);
-            styledText.setStyleRange(r);
-            hyperlinkRanges.add(r);
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java
deleted file mode 100644
index 6b54726..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorActionContributor.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.EditorActionBarContributor;
-
-/**
- * Manages the installation and deinstallation of global actions for 
- * the welcome editor.
- */
-public class WelcomeEditorActionContributor extends EditorActionBarContributor {
-    /**
-     * The <code>WelcomeEditorActionContributor</code> implementation of this 
-     * <code>IEditorActionBarContributor</code> method installs the global 
-     * action handler for the given editor.
-     */
-    public void setActiveEditor(IEditorPart part) {
-        IActionBars actionBars = getActionBars();
-        if (actionBars != null) {
-            actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(),
-                    ((WelcomeEditor) part).getCopyAction());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.java
deleted file mode 100644
index 105c8c1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorCopyAction.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.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Global copy action for the welcome editor.
- */
-public class WelcomeEditorCopyAction extends Action {
-    private WelcomeEditor editorPart;
-
-    public WelcomeEditorCopyAction(WelcomeEditor editor) {
-        editorPart = editor;
-        setText(IDEWorkbenchMessages.getString("WelcomeEditor.copy.text")); //$NON-NLS-1$
-    }
-
-    public void run() {
-        editorPart.getCurrentText().copy();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java
deleted file mode 100644
index 4456883..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInput.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.internal.ide.AboutInfo;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * A simple editor input for the welcome editor
- */
-public class WelcomeEditorInput implements IEditorInput {
-    private AboutInfo aboutInfo;
-
-    private final static String FACTORY_ID = "org.eclipse.ui.internal.dialogs.WelcomeEditorInputFactory"; //$NON-NLS-1$
-
-    public final static String FEATURE_ID = "featureId"; //$NON-NLS-1$
-
-    /**
-     * WelcomeEditorInput constructor comment.
-     */
-    public WelcomeEditorInput(AboutInfo info) {
-        super();
-        if (info == null) {
-            throw new IllegalArgumentException();
-        }
-        aboutInfo = info;
-    }
-
-    public boolean exists() {
-        return false;
-    }
-
-    public Object getAdapter(Class adapter) {
-        return null;
-    }
-
-    public ImageDescriptor getImageDescriptor() {
-        return null;
-    }
-
-    public String getName() {
-        return IDEWorkbenchMessages.getString("WelcomeEditor.title"); //$NON-NLS-1$	
-    }
-
-    public IPersistableElement getPersistable() {
-        return new IPersistableElement() {
-            public String getFactoryId() {
-                return FACTORY_ID;
-            }
-
-            public void saveState(IMemento memento) {
-                memento.putString(FEATURE_ID, aboutInfo.getFeatureId() + ':'
-                        + aboutInfo.getVersionId());
-            }
-        };
-    }
-
-    public AboutInfo getAboutInfo() {
-        return aboutInfo;
-    }
-
-    public boolean equals(Object o) {
-        if ((o != null) && (o instanceof WelcomeEditorInput)) {
-            if (((WelcomeEditorInput) o).aboutInfo.getFeatureId().equals(
-                    aboutInfo.getFeatureId()))
-                return true;
-        }
-        return false;
-    }
-
-    public String getToolTipText() {
-        return IDEWorkbenchMessages
-                .format(
-                        "WelcomeEditor.toolTip", new Object[] { aboutInfo.getFeatureLabel() }); //$NON-NLS-1$	
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.java
deleted file mode 100644
index c9f11a7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeEditorInputFactory.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.ui.internal.ide.dialogs;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.internal.ide.AboutInfo;
-
-/**
- * A simple factory for the welcome editor
- */
-public class WelcomeEditorInputFactory implements IElementFactory {
-    /**
-     * WelcomeEditorInputFactory constructor comment.
-     */
-    public WelcomeEditorInputFactory() {
-        super();
-    }
-
-    /**
-     * Re-creates and returns an object from the state captured within the given 
-     * memento. 
-     * <p>
-     * Under normal circumstances, the resulting object can be expected to be
-     * persistable; that is,
-     * <pre>
-     * result.getAdapter(org.eclipse.ui.IPersistableElement.class)
-     * </pre>
-     * should not return <code>null</code>.
-     * </p>
-     *
-     * @param memento a memento containing the state for the object
-     * @return an object, or <code>null</code> if the element could not be created
-     */
-    public IAdaptable createElement(IMemento memento) {
-        // Get the feature id.
-        String versionedFeatureId = memento
-                .getString(WelcomeEditorInput.FEATURE_ID);
-        if (versionedFeatureId == null) {
-            return null;
-        }
-        int colonPos = versionedFeatureId.indexOf(':');
-        if (colonPos == -1) {
-            // assume the memento is stale or mangled
-            return null;
-        }
-        String featureId = versionedFeatureId.substring(0, colonPos);
-        String versionId = versionedFeatureId.substring(colonPos + 1);
-        // @issue using feature id for plug-in id
-        AboutInfo info = AboutInfo.readFeatureInfo(featureId, versionId);
-        if (info == null) {
-            return null;
-        }
-        return new WelcomeEditorInput(info);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java
deleted file mode 100644
index 4f3401a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeItem.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Holds the information for an item appearing in the welcome editor
- */
-public class WelcomeItem {
-    private String text;
-
-    private int[][] boldRanges;
-
-    private int[][] helpRanges;
-
-    private String[] helpIds;
-
-    private String[] helpHrefs;
-
-    private int[][] actionRanges;
-
-    private String[] actionPluginIds;
-
-    private String[] actionClasses;
-
-    /**
-     * Creates a new welcome item
-     */
-    public WelcomeItem(String text, int[][] boldRanges, int[][] actionRanges,
-            String[] actionPluginIds, String[] actionClasses,
-            int[][] helpRanges, String[] helpIds, String[] helpHrefs) {
-
-        this.text = text;
-        this.boldRanges = boldRanges;
-        this.actionRanges = actionRanges;
-        this.actionPluginIds = actionPluginIds;
-        this.actionClasses = actionClasses;
-        this.helpRanges = helpRanges;
-        this.helpIds = helpIds;
-        this.helpHrefs = helpHrefs;
-    }
-
-    /**
-     * Returns the action ranges (character locations)
-     */
-    public int[][] getActionRanges() {
-        return actionRanges;
-    }
-
-    /**
-     * Returns the bold ranges (character locations)
-     */
-    public int[][] getBoldRanges() {
-        return boldRanges;
-    }
-
-    /**
-     * Returns the help ranges (character locations)
-     */
-    public int[][] getHelpRanges() {
-        return helpRanges;
-    }
-
-    /**
-     * Returns the text to display
-     */
-    public String getText() {
-        return text;
-    }
-
-    /**
-     * Returns true is a link (action or help) is present at the given character location
-     */
-    public boolean isLinkAt(int offset) {
-        // Check if there is a link at the offset
-        for (int i = 0; i < helpRanges.length; i++) {
-            if (offset >= helpRanges[i][0]
-                    && offset < helpRanges[i][0] + helpRanges[i][1]) {
-                return true;
-            }
-        }
-
-        // Check if there is an action link at the offset
-        for (int i = 0; i < actionRanges.length; i++) {
-            if (offset >= actionRanges[i][0]
-                    && offset < actionRanges[i][0] + actionRanges[i][1]) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Logs a error to the workbench log
-     */
-    public void logActionLinkError(String actionPluginId, String actionClass) {
-        IDEWorkbenchPlugin
-                .log(IDEWorkbenchMessages
-                        .getString("WelcomeItem.unableToLoadClass") + actionPluginId + " " + actionClass); //$NON-NLS-1$	//$NON-NLS-2$
-    }
-
-    /**
-     * Open a help topic
-     */
-    private void openHelpTopic(String topic, String href) {
-        if (href != null)
-        	PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(href);
-        else
-        	PlatformUI.getWorkbench().getHelpSystem().displayHelpResource(topic);
-    }
-
-    /**
-     * Run an action
-     */
-    private void runAction(String pluginId, String className) {
-        IPluginDescriptor desc = Platform.getPluginRegistry()
-                .getPluginDescriptor(pluginId);
-        if (desc == null) {
-            logActionLinkError(pluginId, className);
-            return;
-        }
-        Class actionClass;
-        IAction action;
-        try {
-            actionClass = desc.getPluginClassLoader().loadClass(className);
-        } catch (ClassNotFoundException e) {
-            logActionLinkError(pluginId, className);
-            return;
-        }
-        try {
-            action = (IAction) actionClass.newInstance();
-        } catch (InstantiationException e) {
-            logActionLinkError(pluginId, className);
-            return;
-        } catch (IllegalAccessException e) {
-            logActionLinkError(pluginId, className);
-            return;
-        } catch (ClassCastException e) {
-            logActionLinkError(pluginId, className);
-            return;
-        }
-        action.run();
-    }
-
-    /**
-     * Triggers the link at the given offset (if there is one)
-     */
-    public void triggerLinkAt(int offset) {
-        // Check if there is a help link at the offset
-        for (int i = 0; i < helpRanges.length; i++) {
-            if (offset >= helpRanges[i][0]
-                    && offset < helpRanges[i][0] + helpRanges[i][1]) {
-                // trigger the link
-                openHelpTopic(helpIds[i], helpHrefs[i]);
-                return;
-            }
-        }
-
-        // Check if there is an action link at the offset
-        for (int i = 0; i < actionRanges.length; i++) {
-            if (offset >= actionRanges[i][0]
-                    && offset < actionRanges[i][0] + actionRanges[i][1]) {
-                // trigger the link
-                runAction(actionPluginIds[i], actionClasses[i]);
-                return;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java
deleted file mode 100644
index 3be4b3a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WelcomeParser.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.dialogs;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * A parser for the the welcome page
- */
-public class WelcomeParser extends DefaultHandler {
-    private static final String TAG_WELCOME_PAGE = "welcomePage"; //$NON-NLS-1$	
-
-    private static final String TAG_INTRO = "intro"; //$NON-NLS-1$	
-
-    private static final String TAG_ITEM = "item"; //$NON-NLS-1$	
-
-    private static final String TAG_BOLD = "b"; //$NON-NLS-1$	
-
-    private static final String TAG_ACTION = "action"; //$NON-NLS-1$	
-
-    private static final String TAG_PARAGRAPH = "p"; //$NON-NLS-1$	
-
-    private static final String TAG_TOPIC = "topic"; //$NON-NLS-1$	
-
-    private static final String ATT_TITLE = "title"; //$NON-NLS-1$	
-
-    private static final String ATT_FORMAT = "format"; //$NON-NLS-1$	
-
-    private static final String ATT_PLUGIN_ID = "pluginId"; //$NON-NLS-1$	
-
-    private static final String ATT_CLASS = "class"; //$NON-NLS-1$	
-
-    private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-    private static final String ATT_HREF = "href"; //$NON-NLS-1$
-
-    private static final String FORMAT_WRAP = "wrap"; //$NON-NLS-1$
-
-    private static final char DELIMITER = '\n'; // sax parser replaces crlf with lf
-
-    private SAXParser parser;
-
-    private String title;
-
-    private WelcomeItem introItem;
-
-    private ArrayList items = new ArrayList();
-
-    private String format;
-
-    private class WelcomeContentHandler implements ContentHandler {
-        protected ContentHandler parent;
-
-        public void setParent(ContentHandler p) {
-            parent = p;
-        }
-
-        public void characters(char[] ch, int start, int length)
-                throws SAXException {
-        }
-
-        public void endDocument() throws SAXException {
-        }
-
-        public void endElement(String namespaceURI, String localName,
-                String qName) throws SAXException {
-        }
-
-        public void endPrefixMapping(String prefix) throws SAXException {
-        }
-
-        public void ignorableWhitespace(char[] ch, int start, int length)
-                throws SAXException {
-        }
-
-        public void processingInstruction(String target, String data)
-                throws SAXException {
-        }
-
-        public void setDocumentLocator(Locator locator) {
-        }
-
-        public void skippedEntity(String name) throws SAXException {
-        }
-
-        public void startDocument() throws SAXException {
-        }
-
-        public void startElement(String namespaceURI, String localName,
-                String qName, Attributes atts) throws SAXException {
-        }
-
-        public void startPrefixMapping(String prefix, String uri)
-                throws SAXException {
-        }
-    }
-
-    private class WelcomePageHandler extends WelcomeContentHandler {
-        public WelcomePageHandler(String newTitle) {
-            title = newTitle;
-        }
-
-        public void startElement(String namespaceURI, String localName,
-                String qName, Attributes atts) throws SAXException {
-            if (localName.equals(TAG_INTRO)) {
-                ItemHandler h = new IntroItemHandler();
-                h.setParent(WelcomePageHandler.this);
-                parser.getXMLReader().setContentHandler(h);
-            } else if (localName.equals(TAG_ITEM)) {
-                ItemHandler h = new ItemHandler();
-                h.setParent(WelcomePageHandler.this);
-                parser.getXMLReader().setContentHandler(h);
-            }
-        }
-    }
-
-    private class ItemHandler extends WelcomeContentHandler {
-        private ArrayList boldRanges = new ArrayList();
-
-        protected ArrayList wrapRanges = new ArrayList();
-
-        private ArrayList actionRanges = new ArrayList();
-
-        private ArrayList pluginIds = new ArrayList();
-
-        private ArrayList classes = new ArrayList();
-
-        private ArrayList helpRanges = new ArrayList();
-
-        private ArrayList helpIds = new ArrayList();
-
-        private ArrayList helpHrefs = new ArrayList();
-
-        private StringBuffer text = new StringBuffer();
-
-        protected int offset = 0;
-
-        protected int textStart;
-
-        protected int wrapStart;
-
-        private class BoldHandler extends WelcomeContentHandler {
-            public void characters(char[] ch, int start, int length)
-                    throws SAXException {
-                ItemHandler.this.characters(ch, start, length);
-            }
-
-            public void endElement(String namespaceURI, String localName,
-                    String qName) throws SAXException {
-                if (localName.equals(TAG_BOLD)) {
-                    boldRanges.add(new int[] { textStart, offset - textStart });
-                    parser.getXMLReader().setContentHandler(parent);
-                }
-            }
-        }
-
-        private class ActionHandler extends WelcomeContentHandler {
-            public ActionHandler(String pluginId, String className) {
-                pluginIds.add(pluginId);
-                classes.add(className);
-            }
-
-            public void characters(char[] ch, int start, int length)
-                    throws SAXException {
-                ItemHandler.this.characters(ch, start, length);
-            }
-
-            public void endElement(String namespaceURI, String localName,
-                    String qName) throws SAXException {
-                if (localName.equals(TAG_ACTION)) {
-                    actionRanges
-                            .add(new int[] { textStart, offset - textStart });
-                    parser.getXMLReader().setContentHandler(parent);
-                }
-            }
-        }
-
-        private class TopicHandler extends WelcomeContentHandler {
-            public TopicHandler(String helpId, String href) {
-                helpIds.add(helpId);
-                helpHrefs.add(href);
-            }
-
-            public void characters(char[] ch, int start, int length)
-                    throws SAXException {
-                ItemHandler.this.characters(ch, start, length);
-            }
-
-            public void endElement(String namespaceURI, String localName,
-                    String qName) throws SAXException {
-                if (localName.equals(TAG_TOPIC)) {
-                    helpRanges.add(new int[] { textStart, offset - textStart });
-                    parser.getXMLReader().setContentHandler(parent);
-                }
-            }
-        }
-
-        protected WelcomeItem constructWelcomeItem() {
-            if (isFormatWrapped()) {
-                // replace all line delimiters with a space
-                for (int i = 0; i < wrapRanges.size(); i++) {
-                    int[] range = (int[]) wrapRanges.get(i);
-                    int start = range[0];
-                    int length = range[1];
-                    for (int j = start; j < start + length; j++) {
-                        char ch = text.charAt(j);
-                        if (ch == DELIMITER) {
-                            text.replace(j, j + 1, " "); //$NON-NLS-1$
-                        }
-                    }
-                }
-            }
-            return new WelcomeItem(
-                    text.toString(),
-                    (int[][]) boldRanges.toArray(new int[boldRanges.size()][2]),
-                    (int[][]) actionRanges
-                            .toArray(new int[actionRanges.size()][2]),
-                    (String[]) pluginIds.toArray(new String[pluginIds.size()]),
-                    (String[]) classes.toArray(new String[classes.size()]),
-                    (int[][]) helpRanges.toArray(new int[helpRanges.size()][2]),
-                    (String[]) helpIds.toArray(new String[helpIds.size()]),
-                    (String[]) helpHrefs.toArray(new String[helpHrefs.size()]));
-        }
-
-        public void characters(char[] ch, int start, int length)
-                throws SAXException {
-            for (int i = 0; i < length; i++) {
-                text.append(ch[start + i]);
-            }
-            offset += length;
-        }
-
-        public void startElement(String namespaceURI, String localName,
-                String qName, Attributes atts) throws SAXException {
-            textStart = offset;
-            if (localName.equals(TAG_BOLD)) {
-                BoldHandler h = new BoldHandler();
-                h.setParent(ItemHandler.this);
-                parser.getXMLReader().setContentHandler(h);
-            } else if (localName.equals(TAG_ACTION)) {
-                ActionHandler h = new ActionHandler(atts
-                        .getValue(ATT_PLUGIN_ID), atts.getValue(ATT_CLASS));
-                h.setParent(ItemHandler.this);
-                parser.getXMLReader().setContentHandler(h);
-            } else if (localName.equals(TAG_PARAGRAPH)) {
-                wrapStart = textStart;
-            } else if (localName.equals(TAG_TOPIC)) {
-                TopicHandler h = new TopicHandler(atts.getValue(ATT_ID), atts
-                        .getValue(ATT_HREF));
-                h.setParent(ItemHandler.this);
-                parser.getXMLReader().setContentHandler(h);
-            }
-        }
-
-        public void endElement(String namespaceURI, String localName,
-                String qName) throws SAXException {
-            if (localName.equals(TAG_ITEM)) {
-                items.add(constructWelcomeItem());
-                parser.getXMLReader().setContentHandler(parent);
-            } else if (localName.equals(TAG_PARAGRAPH)) {
-                wrapRanges.add(new int[] { wrapStart, offset - wrapStart });
-            }
-        }
-    }
-
-    private class IntroItemHandler extends ItemHandler {
-        public void endElement(String namespaceURI, String localName,
-                String qName) throws SAXException {
-            if (localName.equals(TAG_INTRO)) {
-                introItem = constructWelcomeItem();
-                parser.getXMLReader().setContentHandler(parent);
-            } else if (localName.equals(TAG_PARAGRAPH)) {
-                wrapRanges.add(new int[] { wrapStart, offset - wrapStart });
-            }
-        }
-    }
-
-    /**
-     * Creates a new welcome parser.
-     */
-    public WelcomeParser() throws ParserConfigurationException, SAXException,
-            FactoryConfigurationError {
-        super();
-        SAXParserFactory factory = SAXParserFactory.newInstance();
-        factory.setFeature("http://xml.org/sax/features/namespaces", true); //$NON-NLS-1$
-        parser = factory.newSAXParser();
-
-        parser.getXMLReader().setContentHandler(this);
-        parser.getXMLReader().setDTDHandler(this);
-        parser.getXMLReader().setEntityResolver(this);
-        parser.getXMLReader().setErrorHandler(this);
-    }
-
-    /**
-     * Returns the intro item.
-     */
-    public WelcomeItem getIntroItem() {
-        return introItem;
-    }
-
-    /**
-     * Returns the items.
-     */
-    public WelcomeItem[] getItems() {
-        return (WelcomeItem[]) items.toArray(new WelcomeItem[items.size()]);
-    }
-
-    /**
-     * Returns the title
-     */
-    public String getTitle() {
-        return title;
-    }
-
-    /**
-     * Returns whether or not the welcome editor input should be wrapped.
-     */
-    public boolean isFormatWrapped() {
-        return FORMAT_WRAP.equals(format);
-    }
-
-    /**
-     * Parse the contents of the input stream
-     */
-    public void parse(InputStream is) {
-        try {
-            parser.parse(new InputSource(is), this);
-        } catch (SAXException e) {
-            IStatus status = new Status(IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages
-                            .getString("WelcomeParser.parseException"), e); //$NON-NLS-1$	
-            IDEWorkbenchPlugin.log(IDEWorkbenchMessages
-                    .getString("WelcomeParser.parseError"), status); //$NON-NLS-1$	
-        } catch (IOException e) {
-            IStatus status = new Status(IStatus.ERROR,
-                    IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages
-                            .getString("WelcomeParser.parseException"), e); //$NON-NLS-1$	
-            IDEWorkbenchPlugin.log(IDEWorkbenchMessages
-                    .getString("WelcomeParser.parseError"), status); //$NON-NLS-1$	
-        }
-    }
-
-    /**
-     * Handles the start element
-     */
-    public void startElement(String namespaceURI, String localName,
-            String qName, Attributes atts) throws SAXException {
-        if (localName.equals(TAG_WELCOME_PAGE)) {
-            WelcomeContentHandler h = new WelcomePageHandler(atts
-                    .getValue(ATT_TITLE));
-            format = atts.getValue(ATT_FORMAT);
-            h.setParent(this);
-            parser.getXMLReader().setContentHandler(h);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java
deleted file mode 100644
index 7b7010b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectCapabilityPage.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.ide.misc.ProjectCapabilitySelectionGroup;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-
-/**
- * Second page for the new project creation wizard. This page
- * collects the capabilities of the new project.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardNewProjectCapabilityPage("wizardNewProjectCapabilityPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Choose project's capabilities.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectCapabilityPage extends WizardPage {
-    // initial value stores
-    private Capability[] initialProjectCapabilities;
-
-    private Category[] initialSelectedCategories;
-
-    // widgets
-    private ProjectCapabilitySelectionGroup capabilityGroup;
-
-    /**
-     * Creates a new project capabilities wizard page.
-     *
-     * @param pageName the name of this page
-     */
-    public WizardNewProjectCapabilityPage(String pageName) {
-        super(pageName);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage
-     */
-    public boolean canFlipToNextPage() {
-        // Already know there is a next page...
-        return isPageComplete();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-    	PlatformUI.getWorkbench().getHelpSystem().setHelp(parent,
-                IIDEHelpContextIds.NEW_PROJECT_CAPABILITY_WIZARD_PAGE);
-        CapabilityRegistry reg = IDEWorkbenchPlugin.getDefault()
-                .getCapabilityRegistry();
-        capabilityGroup = new ProjectCapabilitySelectionGroup(
-                initialSelectedCategories, initialProjectCapabilities, reg);
-        setControl(capabilityGroup.createContents(parent));
-
-        capabilityGroup.setCheckStateListener(new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                getWizard().getContainer().updateButtons();
-            }
-        });
-
-        if (!reg.hasCapabilities())
-            setMessage(
-                    IDEWorkbenchMessages
-                            .getString("WizardNewProjectCapabilityPage.noCapabilities"), WARNING); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the collection of capabilities selected
-     * by the user. The collection is not in prerequisite
-     * order.
-     * 
-     * @return array of selected capabilities
-     */
-    /* package */Capability[] getSelectedCapabilities() {
-        return capabilityGroup.getSelectedCapabilities();
-    }
-
-    /**
-     * Sets the initial categories to be selected.
-     * 
-     * @param categories initial categories to select
-     */
-    /* package */void setInitialSelectedCategories(Category[] categories) {
-        initialSelectedCategories = categories;
-    }
-
-    /**
-     * Sets the initial project capabilities to be selected.
-     * 
-     * @param capabilities initial project capabilities to select
-     */
-    /* package */void setInitialProjectCapabilities(Capability[] capabilities) {
-        initialProjectCapabilities = capabilities;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java
deleted file mode 100644
index 24d5aee..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardNewProjectNameAndLocationPage.java
+++ /dev/null
@@ -1,473 +0,0 @@
-package org.eclipse.ui.internal.ide.dialogs;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *        activated and used by other components.
- *********************************************************************/
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-
-/**
- * First page for the new project creation wizard. This page
- * collects the name and location of the new project.
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardNewProjectNameAndLocationPage("wizardNewProjectNameAndLocationPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Create a new project.");
- * </pre>
- * </p>
- */
-public class WizardNewProjectNameAndLocationPage extends WizardPage {
-    // Whether to use default or custom project location
-    private boolean useDefaults = true;
-
-    // initial value stores
-    private String initialProjectFieldValue;
-
-    private IPath initialLocationFieldValue;
-
-    // the value the user has entered
-    private String customLocationFieldValue;
-
-    // widgets
-    private Text projectNameField;
-
-    private Text locationPathField;
-
-    private Label locationLabel;
-
-    private Button browseButton;
-
-    private Listener nameModifyListener = new Listener() {
-        public void handleEvent(Event e) {
-            setLocationForSelection();
-            setPageComplete(validatePage());
-        }
-    };
-
-    private Listener locationModifyListener = new Listener() {
-        public void handleEvent(Event e) {
-            setPageComplete(validatePage());
-        }
-    };
-
-    // constants
-    private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    /**
-     * Creates a new project creation wizard page.
-     *
-     * @param pageName the name of this page
-     */
-    public WizardNewProjectNameAndLocationPage(String pageName) {
-        super(pageName);
-        setPageComplete(false);
-        initialLocationFieldValue = Platform.getLocation();
-        customLocationFieldValue = ""; //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizardPage
-     */
-    public boolean canFlipToNextPage() {
-        // Already know there is a next page...
-        return isPageComplete();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        composite.setFont(parent.getFont());
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
-        createProjectNameGroup(composite);
-        createProjectLocationGroup(composite);
-
-        validatePage();
-
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(composite);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectLocationGroup(Composite parent) {
-        Font font = parent.getFont();
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        projectGroup.setFont(font);
-
-        // new project label
-        Label projectContentsLabel = new Label(projectGroup, SWT.NONE);
-        projectContentsLabel.setFont(font);
-        projectContentsLabel
-                .setText(IDEWorkbenchMessages
-                        .getString("WizardNewProjectCreationPage.projectContentsLabel")); //$NON-NLS-1$
-
-        GridData labelData = new GridData();
-        labelData.horizontalSpan = 3;
-        projectContentsLabel.setLayoutData(labelData);
-
-        final Button useDefaultsButton = new Button(projectGroup, SWT.CHECK
-                | SWT.RIGHT);
-        useDefaultsButton.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.useDefaultLabel")); //$NON-NLS-1$
-        useDefaultsButton.setSelection(useDefaults);
-        useDefaultsButton.setFont(font);
-
-        GridData buttonData = new GridData();
-        buttonData.horizontalSpan = 3;
-        useDefaultsButton.setLayoutData(buttonData);
-
-        createUserSpecifiedProjectLocationGroup(projectGroup, !useDefaults);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                useDefaults = useDefaultsButton.getSelection();
-                browseButton.setEnabled(!useDefaults);
-                locationPathField.setEnabled(!useDefaults);
-                locationLabel.setEnabled(!useDefaults);
-                if (useDefaults) {
-                    customLocationFieldValue = locationPathField.getText();
-                    setLocationForSelection();
-                } else {
-                    locationPathField.setText(customLocationFieldValue);
-                }
-            }
-        };
-        useDefaultsButton.addSelectionListener(listener);
-    }
-
-    /**
-     * Creates the project name specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectNameGroup(Composite parent) {
-        Font font = parent.getFont();
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        // new project label
-        Label projectLabel = new Label(projectGroup, SWT.NONE);
-        projectLabel.setFont(font);
-        projectLabel.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.nameLabel")); //$NON-NLS-1$
-
-        // new project name entry field
-        projectNameField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        projectNameField.setLayoutData(data);
-        projectNameField.setFont(font);
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        if (initialProjectFieldValue != null)
-            projectNameField.setText(initialProjectFieldValue);
-        projectNameField.addListener(SWT.Modify, nameModifyListener);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param projectGroup the parent composite
-     * @param enabled the initial enabled state of the widgets created
-     */
-    private void createUserSpecifiedProjectLocationGroup(
-            Composite projectGroup, boolean enabled) {
-        Font font = projectGroup.getFont();
-        // location label
-        locationLabel = new Label(projectGroup, SWT.NONE);
-        locationLabel.setFont(font);
-        locationLabel.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.locationLabel")); //$NON-NLS-1$
-        locationLabel.setEnabled(enabled);
-
-        // project location entry field
-        locationPathField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        locationPathField.setLayoutData(data);
-        locationPathField.setFont(font);
-        locationPathField.setEnabled(enabled);
-
-        // browse button
-        browseButton = new Button(projectGroup, SWT.PUSH);
-        browseButton.setFont(font);
-        browseButton.setText(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.browseLabel")); //$NON-NLS-1$
-        browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLocationBrowseButtonPressed();
-            }
-        });
-
-        browseButton.setEnabled(enabled);
-
-        // Set the initial value first before listener
-        // to avoid handling an event during the creation.
-        if (initialLocationFieldValue != null)
-            locationPathField.setText(initialLocationFieldValue.toOSString());
-        locationPathField.addListener(SWT.Modify, locationModifyListener);
-    }
-
-    /**
-     * Returns the current project location path as entered by 
-     * the user, or its anticipated initial value.
-     *
-     * @return the project location path, its anticipated initial value, or <code>null</code>
-     *   if no project location path is known
-     */
-    /* package */IPath getLocationPath() {
-        if (useDefaults)
-            return initialLocationFieldValue;
-
-        return new Path(getProjectLocationFieldValue());
-    }
-
-    /**
-     * Creates a project resource handle for the current project name field value.
-     * <p>
-     * This method does not create the project resource; this is the responsibility
-     * of <code>IProject::create</code> invoked by the new project resource wizard.
-     * </p>
-     *
-     * @return the new project resource handle
-     */
-    /* package */IProject getProjectHandle() {
-        return ResourcesPlugin.getWorkspace().getRoot().getProject(
-                getProjectName());
-    }
-
-    /**
-     * Returns the current project name as entered by the user, or its anticipated
-     * initial value.
-     *
-     * @return the project name, its anticipated initial value, or <code>null</code>
-     *   if no project name is known
-     */
-    /* package */String getProjectName() {
-        if (projectNameField == null)
-            return initialProjectFieldValue;
-
-        return getProjectNameFieldValue();
-    }
-
-    /**
-     * Returns the value of the project name field
-     * with leading and trailing spaces removed.
-     * 
-     * @return the project name in the field
-     */
-    private String getProjectNameFieldValue() {
-        if (projectNameField == null)
-            return ""; //$NON-NLS-1$
-        else
-            return projectNameField.getText().trim();
-    }
-
-    /**
-     * Returns the value of the project location field
-     * with leading and trailing spaces removed.
-     * 
-     * @return the project location directory in the field
-     */
-    private String getProjectLocationFieldValue() {
-        if (locationPathField == null)
-            return ""; //$NON-NLS-1$
-        else
-            return locationPathField.getText().trim();
-    }
-
-    /**
-     *	Open an appropriate directory browser
-     */
-    private void handleLocationBrowseButtonPressed() {
-        DirectoryDialog dialog = new DirectoryDialog(locationPathField
-                .getShell());
-        dialog.setMessage(IDEWorkbenchMessages
-                .getString("WizardNewProjectCreationPage.directoryLabel")); //$NON-NLS-1$
-
-        String dirName = getProjectLocationFieldValue();
-        if (!dirName.equals("")) { //$NON-NLS-1$
-            File path = new File(dirName);
-            if (path.exists())
-                dialog.setFilterPath(new Path(dirName).toOSString());
-        }
-
-        String selectedDirectory = dialog.open();
-        if (selectedDirectory != null) {
-            customLocationFieldValue = selectedDirectory;
-            locationPathField.setText(customLocationFieldValue);
-        }
-    }
-
-    /**
-     * Returns whether the currently specified project
-     * content directory points to an exising project
-     */
-    private boolean isExistingProjectLocation() {
-        IPath path = getLocationPath();
-        path = path.append(IProjectDescription.DESCRIPTION_FILE_NAME);
-        return path.toFile().exists();
-    }
-
-    /**
-     * Sets the initial project name that this page will use when
-     * created. The name is ignored if the createControl(Composite)
-     * method has already been called. Leading and trailing spaces
-     * in the name are ignored.
-     * 
-     * @param name initial project name for this page
-     */
-    /* package */void setInitialProjectName(String name) {
-        if (name == null)
-            initialProjectFieldValue = null;
-        else
-            initialProjectFieldValue = name.trim();
-    }
-
-    /**
-     * Set the location to the default location if we are set to useDefaults.
-     */
-    private void setLocationForSelection() {
-        if (useDefaults) {
-            IPath defaultPath = Platform.getLocation().append(
-                    getProjectNameFieldValue());
-            locationPathField.setText(defaultPath.toOSString());
-        }
-    }
-
-    /**
-     * Returns whether this page's controls currently all contain valid 
-     * values.
-     *
-     * @return <code>true</code> if all controls are valid, and
-     *   <code>false</code> if at least one is invalid
-     */
-    private boolean validatePage() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-
-        String projectFieldContents = getProjectNameFieldValue();
-        if (projectFieldContents.equals("")) { //$NON-NLS-1$
-            setErrorMessage(null);
-            setMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectNameEmpty")); //$NON-NLS-1$
-            return false;
-        }
-
-        IStatus nameStatus = workspace.validateName(projectFieldContents,
-                IResource.PROJECT);
-        if (!nameStatus.isOK()) {
-            setErrorMessage(nameStatus.getMessage());
-            return false;
-        }
-
-        String locationFieldContents = getProjectLocationFieldValue();
-
-        if (locationFieldContents.equals("")) { //$NON-NLS-1$
-            setErrorMessage(null);
-            setMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectLocationEmpty")); //$NON-NLS-1$
-            return false;
-        }
-
-        IPath path = new Path(""); //$NON-NLS-1$
-        if (!path.isValidPath(locationFieldContents)) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.locationError")); //$NON-NLS-1$
-            return false;
-        }
-        if (!useDefaults
-                && Platform.getLocation().isPrefixOf(
-                        new Path(locationFieldContents))) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.defaultLocationError")); //$NON-NLS-1$
-            return false;
-        }
-
-        if (getProjectHandle().exists()) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectExistsMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        if (isExistingProjectLocation()) {
-            setErrorMessage(IDEWorkbenchMessages
-                    .getString("WizardNewProjectCreationPage.projectLocationExistsMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        setErrorMessage(null);
-        setMessage(null);
-        return true;
-    }
-
-    /*
-     * see @DialogPage.setVisible(boolean)
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        if (visible)
-            projectNameField.setFocus();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.java
deleted file mode 100644
index 77b2340..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/WizardStep.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.ui.internal.ide.dialogs;
-
-import org.eclipse.jface.wizard.IWizard;
-
-/**
- * Represents a step in a multi-step wizard.
- */
-public abstract class WizardStep {
-    private int number;
-
-    private boolean done = false;
-
-    /**
-     * Creates a wizard step.
-     * 
-     * @param number the step number
-     */
-    public WizardStep(int number) {
-        super();
-        this.number = number;
-    }
-
-    /**
-     * Returns the label for this step that can
-     * be presented to the user.
-     * 
-     * @return String the label of this step
-     */
-    abstract public String getLabel();
-
-    /**
-     * Returns an explaination of this step that can
-     * be presented to the user.
-     * 
-     * @return String the details of this step
-     */
-    abstract public String getDetails();
-
-    /**
-     * Returns the step's number.
-     * 
-     * @return int the step's number
-     */
-    public int getNumber() {
-        return number;
-    }
-
-    /**
-     * Returns the step's wizard. Subclasses are
-     * responsible for calling addPages method on
-     * the wizard, if needed, before returning.
-     * 
-     * @return IWizard the wizard to complete the step
-     */
-    public abstract IWizard getWizard();
-
-    /**
-     * Returns whether the step is done it's work
-     */
-    public boolean isDone() {
-        return done;
-    }
-
-    /**
-     * Sets the step as being done
-     */
-    public void markAsDone() {
-        done = true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
deleted file mode 100644
index 17b80b3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
+++ /dev/null
@@ -1,854 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.ide
-
-IDEWorkbenchAdvisor.noPerspective=No perspectives are open. To open a perspective, press this button:
-IDEWorkbenchAdvisor.openPerspective=Open Perspective
-
-IDE.noFileEditorFound = No editor found to edit the file resource.
-
-QuickStartAction.errorDialogTitle = Quick Start Error
-QuickStartAction.infoReadError = Could not read feature about information.
-
-SystemSummary.configuration= Configuration={0}
-SystemSummary.isCurrentConfiguration= Is current configuration={0}
-
-SystemSummary.date= Date={0}
-SystemSummary.target= Activities={0}
-SystemSummary.status= Status={0}
-SystemSummary.action= Action={0}
-
-SystemSummary.activity.enabled= Enabled
-SystemSummary.activity.disabled= Disabled
-SystemSummary.activity.revert= Revert
-SystemSummary.activity.reconcile= Reconcile
-SystemSummary.activity.preserved= Preserved
-SystemSummary.activity.unknown= Unknown
-SystemSummary.activity.featureInstalled= Feature installed
-SystemSummary.activity.featureRemoved= Feature removed
-SystemSummary.activity.siteInstalled= Site installed
-SystemSummary.activity.siteRemoved= Site removed
-
-SystemSummary.activity.status.unknown= Unknown
-SystemSummary.activity.status.success= Success
-SystemSummary.activity.status.failure= Failure
-
-ErrorClosing = An error has occurred when closing the workbench. See error log for more details.
-
-
-############################################################
-############################################################
-# Copies from org.eclipse.ui.workbench
-############################################################
-showAdvanced = &Advanced >>
-hideAdvanced = << &Advanced
-
-# ==============================================================================
-# Workbench Actions
-# ==============================================================================
-
-# --- File Menu ---
-Workbench.file = &File
-Workbench.new = &New
-OpenWorkspaceAction.text = Switch &Workspace...
-OpenWorkspaceAction.toolTip = Open Workspace
-OpenWorkspaceAction.errorTitle = Missing System Property
-OpenWorkspaceAction.errorMessage = Unable to relaunch the platform because the {0} property has not been set.
-CreateProjectAction.text = Configurable &Project...
-CreateProjectAction.toolTip = Open New Configurable Project Wizard
-NewProjectAction.text = P&roject...
-NewProjectAction.toolTip = New Project
-NewExampleAction.text = E&xample...
-NewExampleAction.toolTip = New Example
-SaveAsDialog.title = Save As
-SaveAsDialog.message = Save file to another location.
-SaveAsDialog.text = Save As
-SaveAsDialog.fileLabel = &File name:
-SaveAsDialog.file = file
-SaveAsDialog.overwriteQuestion = The file ''{0}'' already exists. Do you want to replace the existing file?
-Workbench.projectProperties = &Properties
-Workbench.projectPropertiesToolTip = Properties
-
-
-# --- Edit Menu ---
-Workbench.edit = &Edit
-Workbench.addBookmark = Add Bookmar&k...
-Workbench.addBookmarkToolTip = Add Bookmark
-Workbench.addTask = Add Ta&sk...
-Workbench.addTaskToolTip = Add Task
-
-
-# --- Navigate Menu ---
-Workbench.navigate = &Navigate
-Workbench.goTo = &Go To
-
-OpenWorkspaceFileAction.errorTitle=Open Resource
-OpenWorkspaceFileAction.errorMessage=An exception occurred while opening the resource.
-
-Workbench.showIn = Sho&w In
-
-# --- Project Menu ---
-Workbench.project = &Project
-
-Workbench.openProject = &Open Project
-Workbench.openProjectToolTip = Open Project
-Workbench.closeProject = &Close Project
-Workbench.closeProjectToolTip = Close Project
-
-Workbench.buildProject = &Build Project
-Workbench.buildProjectToolTip = Build Project
-Workbench.rebuildProject = &Rebuild Project
-Workbench.rebuildProjectToolTip = Rebuild Project
-Workbench.buildClean = Clea&n...
-Workbench.buildSet = Build &Working Set
-Workbench.buildAutomatically = Build Auto&matically
-
-GlobalBuildAction.text = Build &All
-GlobalBuildAction.toolTip = Build All
-GlobalBuildAction.rebuildText = Rebuild A&ll
-GlobalBuildAction.rebuildToolTip = Rebuild All
-GlobalBuildAction.buildProblems = Build problems
-GlobalBuildAction.internalError = Internal error: {0}
-GlobalBuildAction.buildOperationTitle = Building all...
-GlobalBuildAction.rebuildAllOperationTitle = Rebuilding all...
-GlobalBuildAction.jobTitle = Building Workspace
-
-
-# --- Window Menu ---
-Workbench.window = &Window
-Workbench.openPerspective = &Open Perspective
-Workbench.showView = Show &View
-
-PromptOnExitDialog.shellTitle = Confirm Exit
-PromptOnExitDialog.message0 = Exit application?
-PromptOnExitDialog.message1 = Exit {0}?
-PromptOnExitDialog.choice = &Always exit without prompt
-
-Workbench.shortcuts = Navi&gation
-Workbench.openNewWindow = &New Window
-
-
-# --- Help Menu ---
-Workbench.help = &Help
-QuickStart.text = &Welcome...
-QuickStart.toolTip = Open a Welcome Editor
-QuickStartMessageDialog.title = Welcome
-QuickStartMessageDialog.message = No features with quick start information are available
-WelcomePageSelectionDialog.title = Welcome
-WelcomePageSelectionDialog.message = &Show welcome page for:
-TipsAndTricks.text = &Tips and Tricks...
-TipsAndTricks.toolTip =Tips and Tricks
-TipsAndTricksMessageDialog.title = Tips and Tricks
-TipsAndTricksMessageDialog.message = No features with tips and tricks information are available
-TipsAndTricksPageSelectionDialog.title = Tips and Tricks
-TipsAndTricksPageSelectionDialog.message = &Show tips and tricks page for:
-TipsAndTricksErrorDialog.title = Problem
-TipsAndTricksErrorDialog.noHref = No tips and tricks information available
-TipsAndTricksErrorDialog.noFeatures = No features with tips and tricks information available
-
-# ==============================================================================
-# Navigator Actions
-# ==============================================================================
-OpenWithMenu.dialogTitle = Problems Opening Editor
-
-CopyProjectAction.title = &Copy
-CopyProjectAction.toolTip = Copy Project
-CopyProjectAction.progressTitle = Copying
-CopyProjectAction.copyTitle = Copy Project
-CopyProjectAction.copyNameOneArg = Copy of {0}
-CopyProjectAction.copyNameTwoArgs = Copy ({0}) of {1}
-CopyProjectAction.alreadyExists = Project ''{0}'' already exists.
-CopyProjectAction.copyFailedTitle = Copy Problems
-CopyProjectAction.internalError = Internal error: {0}
-
-CopyResourceAction.title = &Copy
-CopyResourceAction.toolTip = Copy Resource
-CopyResourceAction.selectDestination = Select the &destination:
-
-MoveProjectAction.text = Mo&ve...
-MoveProjectAction.toolTip = Move Project
-MoveProjectAction.moveTitle = Move Project
-MoveProjectAction.progressMessage = Moving
-MoveProjectAction.dialogTitle = Move Problems
-MoveProjectAction.internalError = Internal error: {0}
-
-MoveResourceAction.text = Mo&ve...
-MoveResourceAction.toolTip = Move Resource
-MoveResourceAction.title = Check Move
-MoveResourceAction.checkMoveMessage = ''{0}'' is read only. Do you still wish to move it?
-
-ReadOnlyCheck.problems = Read Only Checking Problems
-
-RenameResourceAction.text = Rena&me
-RenameResourceAction.toolTip = Rename Resource
-RenameResourceAction.inputDialogTitle = Rename Resource
-RenameResourceAction.inputDialogMessage = Enter the new resource name:
-RenameResourceAction.checkTitle = Check Rename
-RenameResourceAction.readOnlyCheck = ''{0}'' is read only. Do you still wish to rename it?
-RenameResourceAction.resourceExists = Resource Exists
-RenameResourceAction.nameExists = A resource with that name already exists
-RenameResourceAction.overwriteQuestion = ''{0}'' exists. Do you wish to overwrite?
-RenameResourceAction.progressMessage = Renaming...
-RenameResourceAction.problemTitle = Rename Problems
-RenameResourceAction.progress = Renaming:
-RenameResourceAction.nameMustBeDifferent = You must use a different name
-RenameResourceAction.problemMessage = Problems occurred renaming the selected resource.
-
-DeleteResourceAction.text = &Delete
-DeleteResourceAction.toolTip = Delete
-DeleteResourceAction.title1 = Confirm Resource Delete
-DeleteResourceAction.titleN = Confirm Multiple Resource Delete
-DeleteResourceAction.confirm1 = Are you sure you want to delete ''{0}''?
-DeleteResourceAction.confirmN = Are you sure you want to delete these {0} resources?
-DeleteResourceAction.titleProject1 = Confirm Project Delete
-DeleteResourceAction.titleProjectN = Confirm Multiple Project Delete
-DeleteResourceAction.confirmProject1 = Are you sure you want to delete project ''{0}''?
-DeleteResourceAction.confirmProjectN = Are you sure you want to delete these {0} projects?
-DeleteResourceAction.deleteContents1 = &Also delete contents under ''{0}''
-DeleteResourceAction.deleteContentsN = &Also delete contents in the file system
-DeleteResourceAction.doNotDeleteContents = &Do not delete contents
-DeleteResourceAction.confirmLinkedResource1 = Are you sure you want to delete linked resource ''{0}''?\nOnly the workspace link will be deleted. Link target will remain unchanged.
-DeleteResourceAction.confirmLinkedResourceN = Are you sure you want to delete these {0} resources?\n\nSelection contains linked resources.\nOnly the workspace links will be deleted. Link targets will remain unchanged.
-DeleteResourceAction.readOnlyQuestion = ''{0}'' is read only. Do you still wish to delete it?
-DeleteResourceAction.messageTitle = Problems deleting
-DeleteResourceAction.outOfSyncError = Resource is out of sync with the file system. Refresh and try again.
-DeleteResourceAction.outOfSyncQuestion = Resource ''{0}'' is out of sync with the file system. Do you want to delete it anyway?
-DeleteResourceAction.deletionExceptionMessage=Multiple problems occurred while deleting resources.
-DeleteResourceAction.jobName = Deleting resources
-
-AddBookmarkLabel = Add Boo&kmark...
-AddBookmarkToolTip = Add Bookmark
-AddBookmarkDialog.title = Add Bookmark
-AddBookmarkDialog.message = Enter bookmark name:
-
-AddTaskLabel = Add &Task
-AddTaskToolTip = Add Task
-
-OpenFileAction.text = Op&en
-OpenFileAction.toolTip = Edit File
-OpenFileAction.openFileShellTitle = Problems Opening Editor
-
-OpenResourceAction.text = Op&en Project
-OpenResourceAction.toolTip = Open Project
-OpenResourceAction.dialogTitle = Open Problems
-OpenResourceAction.problemMessage = Problems occurred opening the selected resources.
-OpenResourceAction.operationMessage = Opening project...
-
-CloseResourceAction.text = Clo&se Project
-CloseResourceAction.toolTip = Close Project
-CloseResourceAction.title = Close Problems
-CloseResourceAction.problemMessage = Problems occurred closing the selected resources.
-CloseResourceAction.operationMessage = Closing project...
-
-BuildAction.text = &Build Project
-BuildAction.toolTip = Incremental Build Of Selected Projects
-BuildAction.problemMessage = Problems occurred building the selected resources.
-BuildAction.problemTitle = Build Problems
-BuildAction.operationMessage = Building project...
-
-RebuildAction.text = Rebuild Pro&ject
-RebuildAction.tooltip = Full Build Of Selected Projects
-
-RefreshAction.text = Re&fresh
-RefreshAction.toolTip = Refresh
-RefreshAction.progressMessage = Refreshing...
-RefreshAction.problemTitle = Refresh Problems
-RefreshAction.problemMessage = Problems occurred refreshing the selected resources.
-RefreshAction.locationDeletedMessage = The location for project ''{0}'' ({1}) has been deleted.\n Delete ''{0}'' from the workspace?
-RefreshAction.dialogTitle = Project location has been deleted
-
-SelectWorkingSetAction.text= Select &Working Set...
-
-# --- Operations ---
-CopyProjectOperation.progressTitle = Copying:
-CopyProjectOperation.copyFailedMessage = Problems occurred copying the project.
-CopyProjectOperation.copyFailedTitle = Copy Problems
-CopyProjectOperation.internalError = Internal error: {0}
-CopyProjectOperation.copyProject = Copy Project
-
-CopyFilesAndFoldersOperation.copyFailedTitle = Copy Problems
-CopyFilesAndFoldersOperation.problemMessage = Problems occurred copying the selected resources.
-CopyFilesAndFoldersOperation.operationTitle = Copying...
-CopyFilesAndFoldersOperation.nameCollision = A resource name collision was detected.
-CopyFilesAndFoldersOperation.internalError = Internal error: {0}
-CopyFilesAndFoldersOperation.resourceExists = Resource Exists
-CopyFilesAndFoldersOperation.overwriteQuestion = {0} exists. Do you wish to overwrite?
-CopyFilesAndFoldersOperation.overwriteMergeQuestion = ''{0}'' exists. Do you wish to overwrite?\nFolder contents will be merged, existing files will be overwritten.
-CopyFilesAndFoldersOperation.overwriteNoMergeLinkQuestion = ''{0}'' exists and is a linked folder. Do you wish to delete the linked folder and replace with the unlinked folder?\nFolder contents will not be merged!
-CopyFilesAndFoldersOperation.overwriteNoMergeNoLinkQuestion = ''{0}'' exists and is not a linked folder. Do you wish to delete the folder and replace with the linked folder?\nFolder contents will not be merged!
-CopyFilesAndFoldersOperation.deepCopyQuestion = Do you wish to perform a deep copy of linked resource ''{0}''?
-CopyFilesAndFoldersOperation.deepMoveQuestion = Do you wish to perform a deep move of linked resource ''{0}''?
-CopyFilesAndFoldersOperation.copyNameTwoArgs = Copy ({0}) of {1}
-CopyFilesAndFoldersOperation.copyNameOneArg = Copy of {0}
-CopyFilesAndFoldersOperation.destinationAccessError = Destination folder must be accessible.
-CopyFilesAndFoldersOperation.destinationDescendentError = Destination cannot be a descendent of the source.
-CopyFilesAndFoldersOperation.overwriteProblem = The folder ''{0}'' already exists and cannot be overwritten since it contains ''{1}''.
-CopyFilesAndFoldersOperation.overwriteProblemTitle = Overwrite Problem
-CopyFilesAndFoldersOperation.question = Question
-CopyFilesAndFoldersOperation.importErrorDialogTitle = Import Problems
-CopyFilesAndFoldersOperation.inputDialogTitle = Name Conflict
-CopyFilesAndFoldersOperation.inputDialogMessage = Enter a new name for ''{0}''
-CopyFilesAndFoldersOperation.nameExists = A resource with that name already exists
-CopyFilesAndFoldersOperation.nameMustBeDifferent = You must use a different name
-CopyFilesAndFoldersOperation.sameSourceAndDest = Cannot copy ''{0}''. The source and destination are the same.
-CopyFilesAndFoldersOperation.importSameSourceAndDest = Cannot import ''{0}''. The source and destination are the same.
-CopyFilesAndFoldersOperation.resourceDeleted = The resource ''{0}'' does not exist on the file system.
-CopyFilesAndFoldersOperation.missingPathVariable = The resource ''{0}'' is linked using a missing path variable.
-CopyFilesAndFoldersOperation.missingLinkTarget = The link target for linked resource ''{0}'' does not exist.
-CopyFilesAndFoldersOperation.CopyResourcesTask=Copying Resources
-CopyFilesAndFoldersOperation.parentNotEqual = The resources must have the same parent.
-
-MoveFilesAndFoldersOperation.sameSourceAndDest = Cannot move ''{0}''. The source and destination are the same.
-MoveFilesAndFoldersOperation.moveFailedTitle = Move Problems
-MoveFilesAndFoldersOperation.problemMessage = Problems occurred moving the selected resources.
-MoveFilesAndFoldersOperation.operationTitle = Moving...
-
-
-# ==============================================================================
-# Capability selection group
-# ==============================================================================
-ProjectCapabilitySelectionGroup.categories = Ca&tegories:
-ProjectCapabilitySelectionGroup.capabilities = &Capabilities:
-ProjectCapabilitySelectionGroup.description = &Description:
-ProjectCapabilitySelectionGroup.grayItems = Note that some checked capabilities appear grayed out because they are\nrequired by other checked capabilities.
-ProjectCapabilitySelectionGroup.disabledLabel = Disabled: {0}
-ProjectCapabilitySelectionGroup.errorTitle = Capability Problem
-ProjectCapabilitySelectionGroup.disabledCapability = The disabled capability cannot be added to the project.
-ProjectCapabilitySelectionGroup.invalidCapability = The missing capability cannot be added to the project.
-ProjectCapabilitySelectionGroup.missingPrereqs = The {0} capability requires a capability that is disabled or missing ({1}).\n\nThe {0} capability cannot be checked.
-ProjectCapabilitySelectionGroup.requiredPrereq = The {0} capability is required by the {1} capability, which is checked.\n\nThe {0} capability must remain checked.
-ProjectCapabilitySelectionGroup.requiredPrereqs = The {0} capability is required by the following checked capabilities: {1}\n\nThe {0} capability must remain checked.
-ProjectCapabilitySelectionGroup.membershipConflict = The project cannot have both the {0} and {1} capabilities at the same time. Uncheck the {1} capability first.
-ProjectCapabilitySelectionGroup.membershipPrereqConflict = The {0} capability requires the {1} capability. However the project cannot have both the {1} and {2} capabilities at the same time. Uncheck the {2} capability first.
-
-Capability.nameMissing = Missing ({0})
-
-ICategory.other = Other
-
-# ==============================================================================
-# Wizards
-# ==============================================================================
-NewWizardShortcutAction.errorTitle = Problem Opening Wizard
-NewWizardShortcutAction.errorMessage = The selected wizard could not be started.
-
-WizardDataTransfer.existsQuestion = ''{0}'' already exists.  Would you like to overwrite it?
-WizardDataTransfer.overwriteNameAndPathQuestion = Overwrite ''{0}'' in folder ''{1}''?
-WizardDataTransfer.exceptionMessage =  Error occurred during operation: {0}
-WizardTransferPage.selectTypes = Select &Types...
-WizardTransferPage.selectAll = &Select All
-WizardTransferPage.deselectAll = &Deselect All
-
-NewProjectWizard.windowTitle = New Configurable Project
-NewProjectWizard.title = Project
-NewProjectWizard.errorTitle = New Project Problems
-NewProjectWizard.invalidCapabilities = The requested group of capabilities is invalid.
-NewProjectWizard.noWizard = The current step, {0}, could not be started. This wizard will be closed.\n\nThe project will not be configured correctly. Open the project''s properties to add missing capabilities.
-
-CreateProjectWizard.errorTitle = Creation Problems
-CreateProjectWizard.internalError = Internal error: {0}
-CreateProjectWizard.caseVariantExistsError = The project contents directory specified is being used by another project. Please enter a new project contents directory.
-
-RemoveCapabilityWizard.errorMessage = Remove Capability Problem
-RemoveCapabilityWizard.internalError = Internal error: {0}
-
-WizardNewProjectCapabilityPage.description = Choose project's capabilities
-WizardNewProjectCapabilityPage.noCapabilities = There are no capabilities available to choose from.
-WizardProjectReviewPage.description = Review project
-WizardProjectConfigurePage.description = Configure project's capability
-
-UpdateProjectCapabilityWizard.windowTitle = Update Project
-UpdateProjectCapabilityWizard.title = Project
-UpdateProjectCapabilityWizard.errorTitle = Update Project Problems
-UpdateProjectCapabilityWizard.noWizard = The current step, {0}, could not be started. This wizard will be closed.\n\nThe project will not be configured correctly.
-
-WizardStepGroup.stepsLabel = &Steps:
-MultiStepReviewWizardPage.detailsLabel = &Details:
-MultiStepReviewWizardPage.instructionNextLabel = Review steps and press Next button when ready to continue.
-MultiStepReviewWizardPage.instructionFinishLabel = Review steps and press Finish button when ready to continue.
-
-MultiStepWizard.finishLabel = &Finish Step
-
-CreateProjectStep.label = Create Project
-CreateProjectStep.details = This step will create a new project resource named ''{0}''.
-
-InstallCapabilityStep.label = Add {0}
-
-RemoveCapabilityStep.label = Remove {0}
-RemoveCapabilityStep.defaultDescription0 = Removes the {0} capability from the project.
-RemoveCapabilityStep.defaultDescription1 = Removes the {0} capability from the project, along with the {1} capability.
-RemoveCapabilityStep.defaultDescription2 = Removes the {0} capability from the project, along with the following capabilities: {1}.
-
-ProjectCapabilitySimpleSelectionPage.description = Choose a capability
-ProjectCapabilitySimpleSelectionPage.title = Select
-ProjectCapabilitySimpleSelectionPage.windowTitle = Add Capability
-ProjectCapabilitySimpleSelectionPage.capabilityExist = The project already has the chosen capability.
-ProjectCapabilitySimpleSelectionPage.capabilityRequired = The chosen capability requires the {0} capability to be added first.
-ProjectCapabilitySimpleSelectionPage.capabilityMissing = The chosen capability requires a missing capability ({0}).
-ProjectCapabilitySimpleSelectionPage.capabilitySet = The chosen capability cannot be added until the {0} capability is removed.
-
-# --- Import ---
-WizardImportPage.specifyFolder = Please specify folder
-WizardImportPage.folderMustExist = Folder must be accessible.
-WizardImportPage.errorDialogTitle = Import Problems
-WizardImportPage.folder = Into fo&lder:
-WizardImportPage.browseLabel = Browse...
-WizardImportPage.browse2 = Bro&wse...
-WizardImportPage.selectFolderLabel = Select a folder to import into.
-WizardImportPage.selectFolderTitle = Import Into Folder
-WizardImportPage.destinationLabel = Select the destination for imported resources:
-WizardImportPage.options = Options
-WizardImportPage.projectNotExist = Destination project does not exist.
-WizardImportPage.importOnReceiver = Source is in the hierarchy of the destination.
-WizardImportPage.noOpenProjects = Cannot import into a workspace with no open projects. Please create a project before importing.
-WizardImportPage.undefinedPathVariable = Destination folder location is based on an undefined path variable.
-WizardImportPage.containerNotExist = Destination folder does not exist.
-
-# --- Export ---
-WizardExportPage.errorDialogTitle = Export Problems
-WizardExportPage.mustExistMessage = Resource must exist.
-WizardExportPage.mustBeAccessibleMessage = Resource must be accessible.
-WizardExportPage.detailsMessage = All file resources matching this criteria
-WizardExportPage.whatLabel = Select the resources to &export:
-WizardExportPage.whereLabel = Select the export destination:
-WizardExportPage.options = Options
-WizardExportPage.selectionDialogMessage = Select the resource types to export.
-WizardExportPage.resourceTypeDialog = Resource Type Selection
-WizardExportPage.folder = Fo&lder:
-WizardExportPage.browse = Browse...
-WizardExportPage.allTypes = All types
-WizardExportPage.specificTypes = Specific types:
-WizardExportPage.edit = Edit...
-WizardExportPage.details = Details...
-WizardExportPage.selectResourcesTitle = Select the resources to export.
-WizardExportPage.oneResourceSelected = 1 resource selected
-WizardExportPage.selectResourcesToExport = Select the resource to export.
-WizardExportPage.internalErrorTitle = Internal error
-WizardExportPage.resourceCountMessage = {0} resources selected
-
-ZipExport.problemEncountered = Problems were encountered during export:
-ZipExport.progress = Exporting:
-ZipExport.unableToOpen = Unable to open destination file: {0}
-ZipExport.unableToClose = Unable to close destination file: {0}
-ZipExport.errorOnResource = Error exporting {0}
-
-# --- New Example ---
-NewExample.title = New Example
-
-# --- New Project ---
-WizardNewProjectCreationPage.description = Create a new project
-WizardNewProjectCreationPage.locationError = Invalid project contents directory
-WizardNewProjectCreationPage.defaultLocationError = Project contents cannot be inside workspace directory
-WizardNewProjectCreationPage.projectNameEmpty = Project name must be specified
-WizardNewProjectCreationPage.projectLocationEmpty = Project contents directory must be specified
-WizardNewProjectCreationPage.projectExistsMessage = A project with that name already exists in the workspace.
-WizardNewProjectCreationPage.projectLocationExistsMessage = Another project exist at the specified content directory.
-WizardNewProjectCreationPage.projectContentsLabel = Project contents:
-WizardNewProjectCreationPage.projectContentsGroupLabel = Project contents
-WizardNewProjectCreationPage.useDefaultLabel = Use &default
-WizardNewProjectCreationPage.nameLabel = &Project name:
-WizardNewProjectCreationPage.directoryLabel = Select the project contents directory.
-WizardNewProjectCreationPage.locationLabel = Director&y:
-WizardNewProjectCreationPage.browseLabel = B&rowse...
-WizardNewProjectReferences.title = &Referenced projects:
-
-# --- New Folder ---
-WizardNewFolderMainPage.folderName = Folder &name:
-WizardNewFolderMainPage.folderLabel = folder
-WizardNewFolderMainPage.description = Create a new folder resource.
-WizardNewFolderCreationPage.progress = Creating
-WizardNewFolderCreationPage.errorTitle = Creation Problems
-WizardNewFolderCreationPage.internalErrorTitle = Creation problems
-WizardNewFolder.internalError = Internal error: {0}
-
-# --- New File ---
-WizardNewFileCreationPage.progress = Creating
-WizardNewFileCreationPage.errorTitle = Creation Problems
-WizardNewFileCreationPage.fileLabel = File na&me:
-WizardNewFileCreationPage.file = file
-WizardNewFileCreationPage.internalErrorTitle = Creation problems
-WizardNewFileCreationPage.internalErrorMessage = Internal error: {0}
-
-# --- Linked Resource ---
-WizardNewLinkPage.linkFileButton = &Link to file on the file system
-WizardNewLinkPage.linkFolderButton = &Link to folder on the file system
-WizardNewLinkPage.browseButton = &Browse...
-WizardNewLinkPage.variablesButton = &Variables...
-WizardNewLinkPage.targetSelectionLabel = Select the link target.
-WizardNewLinkPage.linkTargetEmpty = Link target must be specified
-WizardNewLinkPage.linkTargetInvalid = Link target name is invalid
-WizardNewLinkPage.linkTargetLocationInvalid = Link target location is invalid
-WizardNewLinkPage.linkTargetNonExistent = Link target does not exist
-WizardNewLinkPage.linkTargetNotFile = Link target must be a file
-WizardNewLinkPage.linkTargetNotFolder = Link target must be a folder
-
-# ==============================================================================
-# Preference Pages
-# ==============================================================================
-Preference.note = Note:
-
-# --- Workbench ---
-WorkbenchPreference.autobuild = &Build automatically
-WorkbenchPreference.autobuildToolTip = Build automatically on resource modification
-WorkbenchPreference.savePriorToBuilding = Save auto&matically before build
-WorkbenchPreference.savePriorToBuildingToolTip = Save modified resources automatically before manual build
-WorkbenchPreference.RefreshButtonText=&Refresh workspace automatically
-WorkbenchPreference.RefreshButtonToolTip=Automatically refresh external workspace changes
-WorkbenchPreference.encoding = Text file encoding 
-WorkbenchPreference.defaultEncoding = Defaul&t ({0})
-WorkbenchPreference.otherEncoding = &Other:
-WorkbenchPreference.unsupportedEncoding = The selected encoding is not supported.
-
-WorkbenchPreference.encoding.BOM_UTF_8 = UTF-8
-WorkbenchPreference.encoding.BOM_UTF_16BE = UTF-16 Big-Endian
-WorkbenchPreference.encoding.BOM_UTF_16LE = UTF-16 Little-Endian
-WorkbenchPreference.encoding.encodingMessage = Byte Order Mark is {0}
-
-# --- Linked Resources ---
-LinkedResourcesPreference.explanation = Path variables specify locations in the file system. The locations of linked resources\nmay be specified relative to these path variables.
-LinkedResourcesPreference.enableLinkedResources = &Enable linked resources
-LinkedResourcesPreference.linkedResourcesWarningTitle = Enabled Linked Resources
-LinkedResourcesPreference.linkedResourcesWarningMessage = You have enabled a feature which may give rise to incompatibilities if projects are shared by users of different versions of the workbench.  Please consult the documentation for further details.
-
-# The following six keys are marked as unused by the NLS search, but they are indirectly used
-# and should be removed.
-PathVariableDialog.shellTitle.newVariable = New Variable
-PathVariableDialog.shellTitle.existingVariable = Edit Variable
-PathVariableDialog.dialogTitle.newVariable = Define a New Path Variable
-PathVariableDialog.dialogTitle.existingVariable = Edit an Existing Path Variable
-PathVariableDialog.message.newVariable = Enter a new variable name and its associated location.
-PathVariableDialog.message.existingVariable = Edit variable's name and path value.
-
-PathVariableDialog.variableName = &Name:
-PathVariableDialog.variableValue = &Location:
-PathVariableDialog.variableNameEmptyMessage = You must provide a variable name.
-PathVariableDialog.variableValueEmptyMessage = You must provide a file or folder path as variable value.
-PathVariableDialog.variableValueInvalidMessage = The provided value is not a valid path.
-PathVariableDialog.file = &File...
-PathVariableDialog.folder = F&older...
-PathVariableDialog.selectFileTitle = File selection
-PathVariableDialog.selectFolderTitle = Folder selection
-PathVariableDialog.selectFolderMessage = Specify the folder to be represented by the variable.
-PathVariableDialog.variableAlreadyExistsMessage = This variable name is already in use.
-PathVariableDialog.pathIsRelativeMessage = Path must be absolute.
-PathVariableDialog.pathDoesNotExistMessage = Path does not exist.
-
-# --- Local History ---
-FileHistory.longevity = Days to &keep files:
-FileHistory.entries = &Entries per file:
-FileHistory.diskSpace = &Maximum file size (MB):
-FileHistory.mustBePositive = Values must be positive
-FileHistory.invalid = Invalid value: {0} 
-FileHistory.exceptionSaving = Internal error saving local history
-FileHistory.aboveMaxEntries = Above maximum Entries per file: {0}
-FileHistory.aboveMaxFileSize = Above maximum File size value: {0}
-FileHistory.restartNote = The 'Entries per file' and 'Days to keep files' values are only applied on Workbench restart. 
-
-# --- Perspectives ---
-ProjectSwitchPerspectiveMode.optionsTitle = Switch to associated perspective when creating a new project
-ProjectSwitchPerspectiveMode.always = Alwa&ys switch
-ProjectSwitchPerspectiveMode.never = Ne&ver switch
-ProjectSwitchPerspectiveMode.prompt = Promp&t
-
-# --- Build Order --- 
-BuildOrderPreference.up = &Up
-BuildOrderPreference.down = Dow&n
-BuildOrderPreference.add = Add &Project...
-BuildOrderPreference.remove = &Remove Project
-BuildOrderPreference.selectOtherProjects = Select &projects to add to build path:
-BuildOrderPreference.useDefaults = Use d&efault build order
-BuildOrderPreference.projectBuildOrder = Project build &order:
-BuildOrderPreference.removeNote = A project removed from the list is still built but after those specified in the list.
-BuildOrderPreference.maxIterationsLabel=&Max iterations when building with cycles:
-
-# --- Startup preferences ---
-StartupPreferencePage.refreshButton = &Refresh workspace on startup
-StartupPreferencePage.launchPromptButton = Prompt for &workspace on startup
-StartupPreferencePage.exitPromptButton = &Confirm exit when closing last window
-
-# --- Info ---
-ResourceInfo.readOnly = &Read only
-ResourceInfo.executable = E&xecutable
-ResourceInfo.archive = Ar&chive
-ResourceInfo.derived = Deri&ved
-ResourceInfo.type = Type:
-ResourceInfo.location = Location:
-ResourceInfo.resolvedLocation = Resolved location:
-ResourceInfo.size = Size:
-ResourceInfo.bytes = {0}  bytes
-ResourceInfo.file = File
-ResourceInfo.fileTypeFormat = File  ({0})
-ResourceInfo.folder = Folder
-ResourceInfo.project = Project
-ResourceInfo.linkedFile = Linked File
-ResourceInfo.linkedFolder = Linked Folder
-ResourceInfo.unknown = Unknown
-ResourceInfo.notLocal = <file contents not local>
-ResourceInfo.undefinedPathVariable = <undefined path variable>
-ResourceInfo.notExist = <resource does not exist>
-ResourceInfo.fileNotExist = - (does not exist)
-ResourceInfo.path = Path: 
-ResourceInfo.lastModified = Last modified:
-ResourceInfo.fileEncodingTitle = Default encoding for text files
-ResourceInfo.fileContentEncodingFormat = Default (determined from content: {0})
-ResourceInfo.fileContainerEncodingFormat = Default (inherited from container: {0})
-ResourceInfo.containerEncodingFormat = Inherited from container ({0})
-ResourceInfoPage.ResourceInfoMessage=Error saving resource info
-
-# --- Project References ---
-ProjectReferencesPage.label = Projects may refer to other projects in the workspace.\nUse this page to specify what other projects are referenced by the project.\n\n&Project references for {0}:
-
-# --- Project Capabilities ---
-ProjectCapabilityPropertyPage.chooseCapabilities = Choose the capabilities for the project.
-ProjectCapabilityPropertyPage.noCapabilities = There are no capabilities available to choose from.
-ProjectCapabilityPropertyPage.errorTitle = Project Capability Problems
-ProjectCapabilityPropertyPage.internalError = Internal error updating project capabilities.
-ProjectCapabilityPropertyPage.invalidSelection = The requested project capability changes are invalid.
-
-ProjectCapabilityEditingPropertyPage.add = &Add...
-ProjectCapabilityEditingPropertyPage.remove = &Remove
-ProjectCapabilityPropertyPage.capabilityRequired = The chosen capability is required by the {0} capability and cannot be removed.
-
-# ==============================================================================
-# Editors
-# ==============================================================================
-DefaultEditorDescription.name = &Default Editor
-
-WelcomeEditor.accessException = An exception occurred when trying to access the welcome page
-WelcomeEditor.readFileError = Error in WelcomeEditor.readFile
-WelcomeEditor.title = Welcome
-WelcomeEditor.toolTip = Welcome to {0}
-WelcomeEditor.copy.text=&Copy
-
-WelcomeItem.unableToLoadClass = Unable to load class 
-WelcomeParser.parseError = Error in WelcomeParser.parse
-WelcomeParser.parseException = An exception occurred when parsing the welcome page
-Workbench.openEditorErrorDialogTitle = Problem
-Workbench.openEditorErrorDialogMessage = Unable to open editor
-QuickStartAction.openEditorException = An exception occurred when opening the editor
-
-# ==============================================================================
-# Dialogs
-# ==============================================================================
-Question = Question
-
-ContainerSelectionDialog.title = Folder Selection
-ContainerSelectionDialog.message = Enter or select the parent folder:
-
-ContainerGroup.message = &Enter or select the parent folder:
-ContainerGroup.selectFolder = Select the folder:
-
-ContainerGenerator.progressMessage = Generate Folder
-ContainerGenerator.pathOccupied = Cannot create folder because a file exists at that location: {0}
-
-ResourceGroup.resource = resource
-ResourceGroup.nameExists = The same name already exists.
-ResourceGroup.folderEmpty = The folder is empty.
-ResourceGroup.noProject = The specified project does not exist.
-ResourceGroup.emptyName = The ''{0}'' name is empty.
-ResourceGroup.invalidFilename = ''{0}'' is not a valid file name.
-ResourceGroup.pathOccupied = A file already exists at that location: {0}
-
-FileSelectionDialog.title = File Selection
-FileSelectionDialog.message = Select the files:
-
-ProjectLocationSelectionDialog.nameLabel = &Project name:
-ProjectLocationSelectionDialog.locationLabel = &Location:
-ProjectLocationSelectionDialog.browseLabel = &Browse...
-ProjectLocationSelectionDialog.directoryLabel = Select the location directory.
-ProjectLocationSelectionDialog.locationError = Invalid location path
-ProjectLocationSelectionDialog.selectionTitle = Project
-ProjectLocationSelectionDialog.useDefaultLabel = Use &default location
-
-ProjectPerspectiveChoiceDialog.title = Choose Perspective
-ProjectPerspectiveChoiceDialog.choosePerspective = Show project in &perspective:
-ProjectPerspectiveChoiceDialog.options = Options
-ProjectPerspectiveChoiceDialog.newWindow = &New window
-ProjectPerspectiveChoiceDialog.sameWindow = &Same window
-ProjectPerspectiveChoiceDialog.errorTitle = Show Perspective Problem
-ProjectPerspectiveChoiceDialog.errorMessage = Unable to show the chosen perspective.
-
-ResourceSelectionDialog.title = Resource Selection
-ResourceSelectionDialog.message = Select the resources:
-
-MarkerResolutionSelectionDialog.title = Quick Fix
-MarkerResolutionSelectionDialog.messageLabel = &Available fixes:
-
-ResourceSelectionDialog.label = Select a resource to open (? = any character, * = any string):
-ResourceSelectionDialog.matching = &Matching resources:
-ResourceSelectionDialog.folders = In &folders:
-
-OpenResourceDialog.title = Open Resource
-
-NewFolderDialog.title = New Folder
-NewFolderDialog.nameLabel = &Folder name:
-NewFolderDialog.alreadyExists = The folder ''{0}'' already exists.
-NewFolderDialog.folderNameEmpty = Folder name must be specified
-NewFolderDialog.progress = Creating new folder
-NewFolderDialog.errorTitle = Creation Problems
-NewFolderDialog.internalError = Internal error: {0}
-
-CreateLinkedResourceGroup.linkFileButton = &Link to file in the file system
-CreateLinkedResourceGroup.linkFolderButton = &Link to folder in the file system
-CreateLinkedResourceGroup.browseButton = Bro&wse...
-CreateLinkedResourceGroup.variablesButton = &Variables...
-CreateLinkedResourceGroup.resolvedPathLabel = Resolved location:
-CreateLinkedResourceGroup.targetSelectionLabel = Select the link target.
-CreateLinkedResourceGroup.linkTargetNotFile = Link target must be a file
-CreateLinkedResourceGroup.linkTargetNotFolder = Link target must be a folder
-CreateLinkedResourceGroup.linkTargetNonExistent = Link target does not exist
-
-PathVariablesBlock.variablesLabel = &Defined path variables:
-PathVariablesBlock.addVariableButton = &New...
-PathVariablesBlock.editVariableButton = Edi&t...
-PathVariablesBlock.removeVariableButton = &Remove
-
-PathVariableSelectionDialog.title = Select Path Variable
-PathVariableSelectionDialog.extendButton = &Extend...
-PathVariableSelectionDialog.ExtensionDialog.title = Variable Extension
-PathVariableSelectionDialog.ExtensionDialog.description = Choose extension to {0}
-
-# ==============================================================================
-# Editor Framework
-# ==============================================================================
-EditorManager.saveResourcesMessage = Select the &resources to save:
-EditorManager.saveResourcesTitle = Save Resources
-
-OpenSystemEditorAction.dialogTitle = Problems Opening System Editor
-OpenSystemEditorAction.text = &System Editor
-OpenSystemEditorAction.toolTip = Edit File With System Editor
-
-# ==============================================================================
-# Workspace
-# ==============================================================================
-WorkspaceAction.problemsTitle = Problems
-WorkspaceAction.logTitle = Exception in {0}. run: {1}
-WorkbenchAction.problemsMessage = The following problems occurred.
-WorkbenchAction.internalError = Internal error.
-Workspace = Workspace
-
-
-# ==============================================================================
-# Workbench
-# ==============================================================================
-WorkbenchWindow.shellTitle = {0} - {1}
-
-Internal_error = Internal error
-InternalError = Internal Error
-InternalErrorNoArg = An internal error has occurred.\nSee the .log file for more details.\n\nDo you want to exit the workbench?
-InternalErrorOneArg = An internal error has occurred.\n{0}\nSee the .log file for more details.\n\nDo you want to exit the workbench?
-
-FatalError_RecursiveError = A internal error occurred while showing an internal error.
-FatalError_OutOfMemoryError = An out of memory error has occurred. You can prevent these errors in the future by increasing your heap size before you start the workbench using the -vmargs -Xmx command line option.
-FatalError_StackOverflowError = A stack overflow error has occurred.
-FatalError_VirtualMachineError = A virtual machine error has occurred.
-FatalError_SWTError = An SWT error has occurred.
-FatalError = {0}\nYou are recommended to exit the workbench.\nSubsequent errors may happen and may terminate the workbench without warning.\nSee the .log file for more details.\n\nDo you want to exit the workbench?
-
-ProblemSavingWorkbench = Problems occurred while trying to save the state of the workbench.
-ProblemsSavingWorkspace = Problems saving workspace
-
-Problems_Opening_Page = Problems Opening Page
-
-Workspace.problemMessage = Problems occurred refreshing workspace.
-Workspace.problemsTitle = Problems
-
-
-# ==============================================================================
-# Keys with references but don't show in the UI
-# ==============================================================================
-CreateFileAction.text = New &File
-CreateFileAction.toolTip = Create New File
-CreateFileAction.title = New
-
-CreateFolderAction.text = New F&older
-CreateFolderAction.toolTip = Create New Folder
-CreateFolderAction.title = New
-
-ScrubLocalAction.problemsMessage = Problems occurred removing the local contents of the selected resources.
-ScrubLocalAction.text = Discard &Local Copy
-ScrubLocalAction.toolTip = Discard Local Contents
-ScrubLocalAction.problemsTitle = Content Removal Problems
-ScrubLocalAction.progress = Discarding content...
-
-TextAction.selectAll = Select All
-Cut = Cut
-Copy = Copy
-Paste = Paste
-Delete = Delete
- 
-# ==============================================================================
-# Keys used in the reuse editor which is released as experimental.
-# ==============================================================================
-WorkbenchPreference.saveInterval=&Workspace save interval (in minutes):
-WorkbenchPreference.saveIntervalError=The workspace save interval should be between 1 and {0}.
-
-# ==============================================================================
-# Working Set Framework.
-# ==============================================================================
-ResourceWorkingSetPage.title=Resource Working Set
-ResourceWorkingSetPage.description=Enter a working set name and select the working set resources.
-ResourceWorkingSetPage.message=&Working set name:
-ResourceWorkingSetPage.label.tree=Working set &contents:
-ResourceWorkingSetPage.warning.nameMustNotBeEmpty= The name must not be empty.
-ResourceWorkingSetPage.warning.nameWhitespace= The name must not have leading or trailing whitespace.
-ResourceWorkingSetPage.warning.workingSetExists= A working set with the same name already exists.
-ResourceWorkingSetPage.warning.resourceMustBeChecked= At least one resource must be checked.
-ResourceWorkingSetPage.error= Error
-ResourceWorkingSetPage.error.updateCheckedState= Error during update of checked state
-
-ResourceEncodingFieldEditor.ErrorLoadingMessage=Error loading encoding
-ResourceEncodingFieldEditor.ErrorStoringMessage=Error storing encoding
-ResourceEncodingFieldEditor.EncodingConflictTitle=Conflict in Encoding
-ResourceEncodingFieldEditor.EncodingConflictMessage= {0} conflicts with the encoding defined in the content type ({1}). Do you wish to set it anyways?
-
-ChooseWorkspaceDialog.dialogName=Workspace Launcher
-ChooseWorkspaceDialog.dialogTitle=Select a workspace
-ChooseWorkspaceDialog.dialogMessage= \
-	{0} stores your projects in a directory called a workspace.\n\
-	Select the workspace directory to use for this session.
-ChooseWorkspaceDialog.defaultProductName = The product
-ChooseWorkspaceDialog.workspaceEntryLabel=&Workspace:
-ChooseWorkspaceDialog.browseLabel=&Browse...
-ChooseWorkspaceDialog.directoryBrowserTitle=Select Workspace Directory
-ChooseWorkspaceDialog.directoryBrowserMessage=Select the workspace directory to use.
-ChooseWorkspaceDialog.useDefaultMessage=&Use this as the default and do not ask again
-IDEApplication.workspaceMandatoryTitle=Workspace is Mandatory
-IDEApplication.workspaceMandatoryMessage=IDEs need a valid workspace; restart without the @none option.
-IDEApplication.workspaceInUseTitle=Workspace in Use
-IDEApplication.workspaceInUseMessage=Workspace in use, choose a different one.
-IDEApplication.workspaceEmptyTitle=Workspace Required
-IDEApplication.workspaceEmptyMessage=Workspace field must not be empty; enter a path to continue.
-IDEApplication.workspaceInvalidTitle=Invalid Workspace
-IDEApplication.workspaceInvalidMessage=Selected workspace is not valid; choose a different one.
-IDEApplication.workspaceCannotBeSetTitle=Workspace Cannot be Set
-IDEApplication.workspaceCannotBeSetMessage=Error in runtime; workspace cannot be set.  Exiting.
-IDEApplication.workspaceCannotLockTitle=Workspace Cannot be Locked
-IDEApplication.workspaceCannotLockMessage=Could not launch the product because the associated workspace is currently in use.
-IDEApplication.versionTitle = Different Workspace Version
-IDEApplication.versionMessage = \
-	This workspace was written with a different version of the product and needs to be updated.\n\n\
-	{0}\n\n\
-	Updating the workspace may make it incompatible with other versions of the product.\n\
-	Press OK to update the workspace and open it.  Press Cancel to select a different workspace.
-IDEApplication.incompatibleJVMTitle = Incompatible JVM
-IDEApplication.incompatibleJVMMessage = This version of the JVM is not suitable for this product.  Version {0} or greater is required.
-GlobalBuildAction.BuildRunningTitle=Build Is Running
-GlobalBuildAction.BuildRunningMessage=A build is currently running. Do you wish to cancel it?
-CleanDialog.buildCleanAuto=Clean will discard all build problems and built states.  The projects will be rebuilt from scratch.
-CleanDialog.buildCleanManual=Clean will discard all build problems and built states.  The next time a build occurs the projects will be rebuilt from scratch.
-CleanDialog.title=Clean?
-CleanDialog.cleanAllButton=Clean &all projects
-CleanDialog.cleanSelectedButton=Clean &selected projects:
-CleanDialog.buildNowButton=Start a &build immediately
-CleanDialog.taskName=Cleaning selected projects
-IDEEncoding.EncodingJob=Setting encoding
-IDEEditorsPreferencePage.WorkbenchPreference.relatedLink=See ''{0}'' for associating editors with file types.
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java
deleted file mode 100644
index c8d6959..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/CheckboxTreeAndListGroup.java
+++ /dev/null
@@ -1,782 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- *	Workbench-level composite that combines a CheckboxTreeViewer and CheckboxListViewer.
- *	All viewer selection-driven interactions are handled within this object
- */
-public class CheckboxTreeAndListGroup implements ICheckStateListener,
-        ISelectionChangedListener, ITreeViewerListener {
-    private Object root;
-
-    private Object currentTreeSelection;
-
-    private List expandedTreeNodes = new ArrayList();
-
-    private Map checkedStateStore = new HashMap(9);
-
-    private List whiteCheckedTreeItems = new ArrayList();
-
-    private ListenerList listeners = new ListenerList();
-
-    private ITreeContentProvider treeContentProvider;
-
-    private IStructuredContentProvider listContentProvider;
-
-    private ILabelProvider treeLabelProvider;
-
-    private ILabelProvider listLabelProvider;
-
-    // widgets
-    private CheckboxTreeViewer treeViewer;
-
-    private CheckboxTableViewer listViewer;
-
-    /**
-     *  Create an instance of this class.  Use this constructor if you wish to specify
-     *	the width and/or height of the combined widget (to only hardcode one of the
-     *	sizing dimensions, specify the other dimension's value as -1)
-     * @param parent
-     * @param rootObject
-     * @param treeContentProvider
-     * @param treeLabelProvider
-     * @param listContentProvider
-     * @param listLabelProvider
-     * @param style
-     * @param width
-     * @param height
-     */
-    public CheckboxTreeAndListGroup(Composite parent, Object rootObject,
-            ITreeContentProvider treeContentProvider,
-            ILabelProvider treeLabelProvider,
-            IStructuredContentProvider listContentProvider,
-            ILabelProvider listLabelProvider, int style, int width, int height) {
-
-        root = rootObject;
-        this.treeContentProvider = treeContentProvider;
-        this.listContentProvider = listContentProvider;
-        this.treeLabelProvider = treeLabelProvider;
-        this.listLabelProvider = listLabelProvider;
-        createContents(parent, width, height, style);
-    }
-
-    /**
-     * This method must be called just before this window becomes visible.
-     */
-    public void aboutToOpen() {
-        determineWhiteCheckedDescendents(root);
-        checkNewTreeElements(treeContentProvider.getElements(root));
-        currentTreeSelection = null;
-
-        //select the first element in the list
-        Object[] elements = treeContentProvider.getElements(root);
-        Object primary = elements.length > 0 ? elements[0] : null;
-        if (primary != null) {
-            treeViewer.setSelection(new StructuredSelection(primary));
-        }
-        treeViewer.getControl().setFocus();
-    }
-
-    /**
-     *	Add the passed listener to self's collection of clients
-     *	that listen for changes to element checked states
-     *
-     *	@param listener ICheckStateListener
-     */
-    public void addCheckStateListener(ICheckStateListener listener) {
-        listeners.add(listener);
-    }
-
-    /**
-     *	Add the receiver and all of it's ancestors to the checkedStateStore if they
-     * are not already there.
-     */
-    private void addToHierarchyToCheckedStore(Object treeElement) {
-
-        // if this tree element is already gray then its ancestors all are as well
-        if (!checkedStateStore.containsKey(treeElement))
-            checkedStateStore.put(treeElement, new ArrayList());
-
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null)
-            addToHierarchyToCheckedStore(parent);
-    }
-
-    /**
-     *	Return a boolean indicating whether all children of the passed tree element
-     *	are currently white-checked
-     *
-     *	@return boolean
-     *	@param treeElement java.lang.Object
-     */
-    protected boolean areAllChildrenWhiteChecked(Object treeElement) {
-        Object[] children = treeContentProvider.getChildren(treeElement);
-        for (int i = 0; i < children.length; ++i) {
-            if (!whiteCheckedTreeItems.contains(children[i]))
-                return false;
-        }
-
-        return true;
-    }
-
-    /**
-     *	Return a boolean indicating whether all list elements associated with
-     *	the passed tree element are currently checked
-     *
-     *	@return boolean
-     *	@param treeElement java.lang.Object
-     */
-    protected boolean areAllElementsChecked(Object treeElement) {
-        List checkedElements = (List) checkedStateStore.get(treeElement);
-        if (checkedElements == null) // ie.- tree item not even gray-checked
-            return false;
-
-        return getListItemsSize(treeElement) == checkedElements.size();
-    }
-
-    /**
-     *	Iterate through the passed elements which are being realized for the first
-     *	time and check each one in the tree viewer as appropriate
-     */
-    protected void checkNewTreeElements(Object[] elements) {
-        for (int i = 0; i < elements.length; ++i) {
-            Object currentElement = elements[i];
-            boolean checked = checkedStateStore.containsKey(currentElement);
-            treeViewer.setChecked(currentElement, checked);
-            treeViewer.setGrayed(currentElement, checked
-                    && !whiteCheckedTreeItems.contains(currentElement));
-        }
-    }
-
-    /**
-     *	An item was checked in one of self's two views.  Determine which
-     *	view this occurred in and delegate appropriately
-     *
-     *	@param event CheckStateChangedEvent
-     */
-    public void checkStateChanged(final CheckStateChangedEvent event) {
-
-        //Potentially long operation - show a busy cursor
-        BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                new Runnable() {
-                    public void run() {
-                        if (event.getCheckable().equals(treeViewer))
-                            treeItemChecked(event.getElement(), event
-                                    .getChecked());
-                        else
-                            listItemChecked(event.getElement(), event
-                                    .getChecked(), true);
-
-                        notifyCheckStateChangeListeners(event);
-                    }
-                });
-    }
-
-    /**
-     *	Lay out and initialize self's visual components.
-     *
-     *	@param parent org.eclipse.swt.widgets.Composite
-     *	@param width int
-     *	@param height int
-     */
-    protected void createContents(Composite parent, int width, int height,
-            int style) {
-        // group pane
-        Composite composite = new Composite(parent, style);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.makeColumnsEqualWidth = true;
-        layout.marginHeight = 0;
-        layout.marginWidth = 0;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        composite.setFont(parent.getFont());
-
-        createTreeViewer(composite, width / 2, height);
-        createListViewer(composite, width / 2, height);
-
-        initialize();
-    }
-
-    /**
-     *	Create this group's list viewer.
-     */
-    protected void createListViewer(Composite parent, int width, int height) {
-        listViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.widthHint = width;
-        data.heightHint = height;
-        listViewer.getTable().setLayoutData(data);
-        listViewer.getTable().setFont(parent.getFont());
-        listViewer.setContentProvider(listContentProvider);
-        listViewer.setLabelProvider(listLabelProvider);
-        listViewer.addCheckStateListener(this);
-    }
-
-    /**
-     *	Create this group's tree viewer.
-     */
-    protected void createTreeViewer(Composite parent, int width, int height) {
-        Tree tree = new Tree(parent, SWT.CHECK | SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        data.widthHint = width;
-        data.heightHint = height;
-        tree.setLayoutData(data);
-        tree.setFont(parent.getFont());
-
-        treeViewer = new CheckboxTreeViewer(tree);
-        treeViewer.setContentProvider(treeContentProvider);
-        treeViewer.setLabelProvider(treeLabelProvider);
-        treeViewer.addTreeListener(this);
-        treeViewer.addCheckStateListener(this);
-        treeViewer.addSelectionChangedListener(this);
-    }
-
-    /**
-     * Returns a boolean indicating whether the passed tree element should be
-     * at LEAST gray-checked.  Note that this method does not consider whether
-     * it should be white-checked, so a specified tree item which should be
-     * white-checked will result in a <code>true</code> answer from this method.
-     * To determine whether a tree item should be white-checked use method
-     * #determineShouldBeWhiteChecked(Object).
-     *
-     * @param treeElement java.lang.Object
-     * @return boolean
-     * @see #determineShouldBeWhiteChecked(java.lang.Object)
-     */
-    protected boolean determineShouldBeAtLeastGrayChecked(Object treeElement) {
-        // if any list items associated with treeElement are checked then it
-        // retains its gray-checked status regardless of its children
-        List checked = (List) checkedStateStore.get(treeElement);
-        if (checked != null && (!checked.isEmpty()))
-            return true;
-
-        // if any children of treeElement are still gray-checked then treeElement
-        // must remain gray-checked as well
-        Object[] children = treeContentProvider.getChildren(treeElement);
-        for (int i = 0; i < children.length; ++i) {
-            if (checkedStateStore.containsKey(children[i]))
-                return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a boolean indicating whether the passed tree item should be
-     * white-checked.
-     *
-     * @return boolean
-     * @param treeElement java.lang.Object
-     */
-    protected boolean determineShouldBeWhiteChecked(Object treeElement) {
-        return areAllChildrenWhiteChecked(treeElement)
-                && areAllElementsChecked(treeElement);
-    }
-
-    /**
-     *	Recursively add appropriate tree elements to the collection of
-     *	known white-checked tree elements.
-     *
-     *	@param treeElement java.lang.Object
-     */
-    protected void determineWhiteCheckedDescendents(Object treeElement) {
-        // always go through all children first since their white-checked
-        // statuses will be needed to determine the white-checked status for
-        // this tree element
-        Object[] children = treeContentProvider.getElements(treeElement);
-        for (int i = 0; i < children.length; ++i)
-            determineWhiteCheckedDescendents(children[i]);
-
-        // now determine the white-checked status for this tree element
-        if (determineShouldBeWhiteChecked(treeElement))
-            setWhiteChecked(treeElement, true);
-    }
-
-    /**
-     * Cause the tree viewer to expand all its items
-     */
-    public void expandAll() {
-        treeViewer.expandAll();
-    }
-
-    /**
-     *	Answer a flat collection of all of the checked elements in the
-     *	list portion of self
-     *
-     *	@return java.util.Vector
-     */
-    public Iterator getAllCheckedListItems() {
-        List result = new ArrayList();
-        Iterator listCollectionsEnum = checkedStateStore.values().iterator();
-
-        while (listCollectionsEnum.hasNext()) {
-            Iterator currentCollection = ((List) listCollectionsEnum.next())
-                    .iterator();
-            while (currentCollection.hasNext())
-                result.add(currentCollection.next());
-        }
-
-        return result.iterator();
-    }
-
-    /**
-     *	Answer a collection of all of the checked elements in the tree portion
-     *	of self
-     *
-     *	@return java.util.Vector
-     */
-    public Set getAllCheckedTreeItems() {
-        return checkedStateStore.keySet();
-    }
-
-    /**
-     *	Answer the number of elements that have been checked by the
-     *	user.
-     *
-     *	@return int
-     */
-    public int getCheckedElementCount() {
-        return checkedStateStore.size();
-    }
-
-    /**
-     *	Return a count of the number of list items associated with a
-     *	given tree item.
-     *
-     *	@return int
-     *	@param treeElement java.lang.Object
-     */
-    protected int getListItemsSize(Object treeElement) {
-        Object[] elements = listContentProvider.getElements(treeElement);
-        return elements.length;
-    }
-
-    /**
-     * Get the table the list viewer uses.
-     * @return org.eclipse.swt.widgets.Table
-     */
-    public Table getListTable() {
-        return this.listViewer.getTable();
-    }
-
-    /**
-     *	Logically gray-check all ancestors of treeItem by ensuring that they
-     *	appear in the checked table
-     */
-    protected void grayCheckHierarchy(Object treeElement) {
-
-        // if this tree element is already gray then its ancestors all are as well
-        if (checkedStateStore.containsKey(treeElement))
-            return; // no need to proceed upwards from here
-
-        checkedStateStore.put(treeElement, new ArrayList());
-        if (determineShouldBeWhiteChecked(treeElement)) {
-            setWhiteChecked(treeElement, true);
-        }
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null)
-            grayCheckHierarchy(parent);
-    }
-
-    /**
-     *	Set the initial checked state of the passed list element to true.
-     */
-    public void initialCheckListItem(Object element) {
-        Object parent = treeContentProvider.getParent(element);
-        currentTreeSelection = parent;
-        //As this is not done from the UI then set the box for updating from the selection to false 
-        listItemChecked(element, true, false);
-        updateHierarchy(parent);
-    }
-
-    /**
-     *	Set the initial checked state of the passed element to true,
-     *	as well as to all of its children and associated list elements
-     */
-    public void initialCheckTreeItem(Object element) {
-        treeItemChecked(element, true);
-    }
-
-    /**
-     *	Initialize this group's viewers after they have been laid out.
-     */
-    protected void initialize() {
-        treeViewer.setInput(root);
-    }
-
-    /**
-     *	Callback that's invoked when the checked status of an item in the list
-     *	is changed by the user. Do not try and update the hierarchy if we are building the
-     *  initial list.
-     */
-    protected void listItemChecked(Object listElement, boolean state,
-            boolean updatingFromSelection) {
-        List checkedListItems = (List) checkedStateStore
-                .get(currentTreeSelection);
-
-        if (state) {
-            if (checkedListItems == null) {
-                // since the associated tree item has gone from 0 -> 1 checked
-                // list items, tree checking may need to be updated
-                grayCheckHierarchy(currentTreeSelection);
-                checkedListItems = (List) checkedStateStore
-                        .get(currentTreeSelection);
-            }
-            checkedListItems.add(listElement);
-        } else {
-            checkedListItems.remove(listElement);
-            if (checkedListItems.isEmpty()) {
-                // since the associated tree item has gone from 1 -> 0 checked
-                // list items, tree checking may need to be updated
-                ungrayCheckHierarchy(currentTreeSelection);
-            }
-        }
-
-        if (updatingFromSelection)
-            updateHierarchy(currentTreeSelection);
-    }
-
-    /**
-     *	Notify all checked state listeners that the passed element has had
-     *	its checked state changed to the passed state
-     */
-    protected void notifyCheckStateChangeListeners(
-            final CheckStateChangedEvent event) {
-        Object[] array = listeners.getListeners();
-        for (int i = 0; i < array.length; i++) {
-            final ICheckStateListener l = (ICheckStateListener) array[i];
-            Platform.run(new SafeRunnable() {
-                public void run() {
-                    l.checkStateChanged(event);
-                }
-            });
-        }
-    }
-
-    /**
-     *Set the contents of the list viewer based upon the specified selected
-     *tree element.  This also includes checking the appropriate list items.
-     *
-     *@param treeElement java.lang.Object
-     */
-    protected void populateListViewer(final Object treeElement) {
-        listViewer.setInput(treeElement);
-        List listItemsToCheck = (List) checkedStateStore.get(treeElement);
-
-        if (listItemsToCheck != null) {
-            Iterator listItemsEnum = listItemsToCheck.iterator();
-            while (listItemsEnum.hasNext())
-                listViewer.setChecked(listItemsEnum.next(), true);
-        }
-    }
-
-    /**
-     *	Remove the passed listener from self's collection of clients
-     *	that listen for changes to element checked states
-     *
-     *	@param listener ICheckStateListener
-     */
-    public void removeCheckStateListener(ICheckStateListener listener) {
-        listeners.remove(listener);
-    }
-
-    /**
-     *	Handle the selection of an item in the tree viewer
-     *
-     *	@param event SelectionChangedEvent
-     */
-    public void selectionChanged(SelectionChangedEvent event) {
-        IStructuredSelection selection = (IStructuredSelection) event
-                .getSelection();
-        Object selectedElement = selection.getFirstElement();
-        if (selectedElement == null) {
-            currentTreeSelection = null;
-            listViewer.setInput(currentTreeSelection);
-            return;
-        }
-
-        // ie.- if not an item deselection
-        if (selectedElement != currentTreeSelection)
-            populateListViewer(selectedElement);
-
-        currentTreeSelection = selectedElement;
-    }
-
-    /**
-     * Select or deselect all of the elements in the tree depending on the value of the selection
-     * boolean. Be sure to update the displayed files as well.
-     */
-    public void setAllSelections(final boolean selection) {
-
-        //Potentially long operation - show a busy cursor
-        BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                new Runnable() {
-                    public void run() {
-                        setTreeChecked(root, selection);
-                        listViewer.setAllChecked(selection);
-                    }
-                });
-    }
-
-    /**
-     *	Set the list viewer's providers to those passed
-     *
-     *	@param contentProvider ITreeContentProvider
-     *	@param labelProvider ILabelProvider
-     */
-    public void setListProviders(IStructuredContentProvider contentProvider,
-            ILabelProvider labelProvider) {
-        listViewer.setContentProvider(contentProvider);
-        listViewer.setLabelProvider(labelProvider);
-    }
-
-    /**
-     *	Set the sorter that is to be applied to self's list viewer
-     */
-    public void setListSorter(ViewerSorter sorter) {
-        listViewer.setSorter(sorter);
-    }
-
-    /**
-     * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
-     * value.
-     * @param newRoot 
-     */
-    public void setRoot(Object newRoot) {
-        this.root = newRoot;
-        initialize();
-    }
-
-    /**
-     *	Set the checked state of the passed tree element appropriately, and
-     *	do so recursively to all of its child tree elements as well
-     */
-    protected void setTreeChecked(Object treeElement, boolean state) {
-
-        if (treeElement.equals(currentTreeSelection)) {
-            listViewer.setAllChecked(state);
-        }
-
-        if (state) {
-            Object[] listItems = listContentProvider.getElements(treeElement);
-            List listItemsChecked = new ArrayList();
-            for (int i = 0; i < listItems.length; ++i)
-                listItemsChecked.add(listItems[i]);
-
-            checkedStateStore.put(treeElement, listItemsChecked);
-        } else
-            checkedStateStore.remove(treeElement);
-
-        setWhiteChecked(treeElement, state);
-        treeViewer.setChecked(treeElement, state);
-        treeViewer.setGrayed(treeElement, false);
-
-        // now logically check/uncheck all children as well
-        Object[] children = treeContentProvider.getChildren(treeElement);
-        for (int i = 0; i < children.length; ++i) {
-            setTreeChecked(children[i], state);
-        }
-    }
-
-    /**
-     *	Set the tree viewer's providers to those passed
-     *
-     *	@param contentProvider ITreeContentProvider
-     *	@param labelProvider ILabelProvider
-     */
-    public void setTreeProviders(ITreeContentProvider contentProvider,
-            ILabelProvider labelProvider) {
-        treeViewer.setContentProvider(contentProvider);
-        treeViewer.setLabelProvider(labelProvider);
-    }
-
-    /**
-     *	Set the sorter that is to be applied to self's tree viewer
-     */
-    public void setTreeSorter(ViewerSorter sorter) {
-        treeViewer.setSorter(sorter);
-    }
-
-    /**
-     *	Adjust the collection of references to white-checked tree elements appropriately.
-     *
-     *	@param treeElement java.lang.Object
-     *	@param isWhiteChecked boolean
-     */
-    protected void setWhiteChecked(Object treeElement, boolean isWhiteChecked) {
-        if (isWhiteChecked) {
-            if (!whiteCheckedTreeItems.contains(treeElement))
-                whiteCheckedTreeItems.add(treeElement);
-        } else
-            whiteCheckedTreeItems.remove(treeElement);
-    }
-
-    /**
-     *	Handle the collapsing of an element in a tree viewer
-     */
-    public void treeCollapsed(TreeExpansionEvent event) {
-        // We don't need to do anything with this
-    }
-
-    /**
-     *	Handle the expansionsion of an element in a tree viewer
-     */
-    public void treeExpanded(TreeExpansionEvent event) {
-
-        Object item = event.getElement();
-
-        // First see if the children need to be given their checked state at all.  If they've
-        // already been realized then this won't be necessary
-        if (!expandedTreeNodes.contains(item)) {
-            expandedTreeNodes.add(item);
-            checkNewTreeElements(treeContentProvider.getChildren(item));
-        }
-    }
-
-    /**
-     *  Callback that's invoked when the checked status of an item in the tree
-     *  is changed by the user.
-     */
-    protected void treeItemChecked(Object treeElement, boolean state) {
-
-        // recursively adjust all child tree elements appropriately
-        setTreeChecked(treeElement, state);
-
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent == null)
-            return;
-
-        // now update upwards in the tree hierarchy 
-        if (state)
-            grayCheckHierarchy(parent);
-        else
-            ungrayCheckHierarchy(parent);
-
-        updateHierarchy(treeElement);
-    }
-
-    /**
-     *	Logically un-gray-check all ancestors of treeItem iff appropriate.
-     */
-    protected void ungrayCheckHierarchy(Object treeElement) {
-        if (!determineShouldBeAtLeastGrayChecked(treeElement))
-            checkedStateStore.remove(treeElement);
-
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null)
-            ungrayCheckHierarchy(parent);
-    }
-
-    /**
-     *	Set the checked state of self and all ancestors appropriately
-     */
-    protected void updateHierarchy(Object treeElement) {
-
-        boolean whiteChecked = determineShouldBeWhiteChecked(treeElement);
-        boolean shouldBeAtLeastGray = determineShouldBeAtLeastGrayChecked(treeElement);
-
-        treeViewer.setChecked(treeElement, shouldBeAtLeastGray);
-        setWhiteChecked(treeElement, whiteChecked);
-        if (!whiteChecked)
-            treeViewer.setGrayed(treeElement, shouldBeAtLeastGray);
-
-        // proceed up the tree element hierarchy
-        Object parent = treeContentProvider.getParent(treeElement);
-        if (parent != null) {
-            updateHierarchy(parent);
-        }
-    }
-
-    /**
-     * Update the selections of the tree elements in items to reflect the new
-     * selections provided.
-     * @param items Map with keys of Object (the tree element) and values of List (the selected
-     * list elements).
-     */
-    public void updateSelections(final Map items) {
-
-        //Potentially long operation - show a busy cursor
-        BusyIndicator.showWhile(treeViewer.getControl().getDisplay(),
-                new Runnable() {
-                    public void run() {
-                        Iterator keyIterator = items.keySet().iterator();
-
-                        //Update the store before the hierarchy to prevent updating parents before all of the children are done
-                        while (keyIterator.hasNext()) {
-                            Object key = keyIterator.next();
-                            //Replace the items in the checked state store with those from the supplied items
-                            List selections = (List) items.get(key);
-                            if (selections.size() == 0)
-                                //If it is empty remove it from the list
-                                checkedStateStore.remove(key);
-                            else {
-                                checkedStateStore.put(key, selections);
-                                // proceed up the tree element hierarchy
-                                Object parent = treeContentProvider
-                                        .getParent(key);
-                                if (parent != null) {
-                                    addToHierarchyToCheckedStore(parent);
-                                }
-                            }
-                        }
-
-                        //Now update hierarchies
-                        keyIterator = items.keySet().iterator();
-
-                        while (keyIterator.hasNext()) {
-                            Object key = keyIterator.next();
-                            updateHierarchy(key);
-                            if (currentTreeSelection != null
-                                    && currentTreeSelection.equals(key)) {
-                                listViewer.setAllChecked(false);
-                                listViewer.setCheckedElements(((List) items
-                                        .get(key)).toArray());
-                            }
-                        }
-                    }
-                });
-
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java
deleted file mode 100644
index 60bc205..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerContentProvider.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides content for a tree viewer that shows only containers.
- */
-public class ContainerContentProvider implements ITreeContentProvider {
-    private boolean showClosedProjects = true;
-
-    /**
-     * Creates a new ResourceContentProvider.
-     */
-    public ContainerContentProvider() {
-    }
-
-    /**
-     * The visual part that is using this content provider is about
-     * to be disposed. Deallocate all allocated SWT resources.
-     */
-    public void dispose() {
-    }
-
-    /**
-     * @see ITreeContentProvider#getChildren
-     */
-    public Object[] getChildren(Object element) {
-        if (element instanceof IWorkspace) {
-            // check if closed projects should be shown
-            IProject[] allProjects = ((IWorkspace) element).getRoot()
-                    .getProjects();
-            if (showClosedProjects)
-                return allProjects;
-
-            ArrayList accessibleProjects = new ArrayList();
-            for (int i = 0; i < allProjects.length; i++) {
-                if (allProjects[i].isOpen()) {
-                    accessibleProjects.add(allProjects[i]);
-                }
-            }
-            return accessibleProjects.toArray();
-        } else if (element instanceof IContainer) {
-            IContainer container = (IContainer) element;
-            if (container.isAccessible()) {
-                try {
-                    List children = new ArrayList();
-                    IResource[] members = container.members();
-                    for (int i = 0; i < members.length; i++) {
-                        if (members[i].getType() != IResource.FILE) {
-                            children.add(members[i]);
-                        }
-                    }
-                    return children.toArray();
-                } catch (CoreException e) {
-                    // this should never happen because we call #isAccessible before invoking #members
-                }
-            }
-        }
-        return new Object[0];
-    }
-
-    /**
-     * @see ITreeContentProvider#getElements
-     */
-    public Object[] getElements(Object element) {
-        return getChildren(element);
-    }
-
-    /**
-     * @see ITreeContentProvider#getParent
-     */
-    public Object getParent(Object element) {
-        if (element instanceof IResource)
-            return ((IResource) element).getParent();
-        return null;
-    }
-
-    /**
-     * @see ITreeContentProvider#hasChildren
-     */
-    public boolean hasChildren(Object element) {
-        return getChildren(element).length > 0;
-    }
-
-    /**
-     * @see IContentProvider#inputChanged
-     */
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-    }
-
-    /**
-     * Specify whether or not to show closed projects in the tree 
-     * viewer.  Default is to show closed projects.
-     * 
-     * @param show boolean if false, do not show closed projects in the tree
-     */
-    public void showClosedProjects(boolean show) {
-        showClosedProjects = show;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.java
deleted file mode 100644
index d79bea7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ContainerSelectionGroup.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.ui.internal.ide.misc;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.Dialog;
-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.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.DrillDownComposite;
-
-/**
- * Workbench-level composite for choosing a container.
- */
-public class ContainerSelectionGroup extends Composite {
-    // The listener to notify of events
-    private Listener listener;
-
-    // Enable user to type in new container name
-    private boolean allowNewContainerName = true;
-
-    // show all projects by default
-    private boolean showClosedProjects = true;
-
-    // Last selection made by user
-    private IContainer selectedContainer;
-
-    // handle on parts
-    private Text containerNameField;
-
-    TreeViewer treeViewer;
-
-    // the message to display at the top of this dialog
-    private static final String DEFAULT_MSG_NEW_ALLOWED = IDEWorkbenchMessages
-            .getString("ContainerGroup.message"); //$NON-NLS-1$
-
-    private static final String DEFAULT_MSG_SELECT_ONLY = IDEWorkbenchMessages
-            .getString("ContainerGroup.selectFolder"); //$NON-NLS-1$
-
-    // sizing constants
-    private static final int SIZING_SELECTION_PANE_WIDTH = 320;
-
-    private static final int SIZING_SELECTION_PANE_HEIGHT = 300;
-
-    /**
-     * Creates a new instance of the widget.
-     *
-     * @param parent The parent widget of the group.
-     * @param listener A listener to forward events to. Can be null if
-     *	 no listener is required.
-     * @param allowNewContainerName Enable the user to type in a new container
-     *  name instead of just selecting from the existing ones.
-     */
-    public ContainerSelectionGroup(Composite parent, Listener listener,
-            boolean allowNewContainerName) {
-        this(parent, listener, allowNewContainerName, null);
-    }
-
-    /**
-     * Creates a new instance of the widget.
-     *
-     * @param parent The parent widget of the group.
-     * @param listener A listener to forward events to.  Can be null if
-     *	 no listener is required.
-     * @param allowNewContainerName Enable the user to type in a new container
-     *  name instead of just selecting from the existing ones.
-     * @param message The text to present to the user.
-     */
-    public ContainerSelectionGroup(Composite parent, Listener listener,
-            boolean allowNewContainerName, String message) {
-        this(parent, listener, allowNewContainerName, message, true);
-    }
-
-    /**
-     * Creates a new instance of the widget.
-     *
-     * @param parent The parent widget of the group.
-     * @param listener A listener to forward events to.  Can be null if
-     *	 no listener is required.
-     * @param allowNewContainerName Enable the user to type in a new container
-     *  name instead of just selecting from the existing ones.
-     * @param message The text to present to the user.
-     * @param showClosedProjects Whether or not to show closed projects.
-     */
-    public ContainerSelectionGroup(Composite parent, Listener listener,
-            boolean allowNewContainerName, String message,
-            boolean showClosedProjects) {
-        this(parent, listener, allowNewContainerName, message,
-                showClosedProjects, SIZING_SELECTION_PANE_HEIGHT);
-    }
-
-    /**
-     * Creates a new instance of the widget.
-     *
-     * @param parent The parent widget of the group.
-     * @param listener A listener to forward events to.  Can be null if
-     *	 no listener is required.
-     * @param allowNewContainerName Enable the user to type in a new container
-     *  name instead of just selecting from the existing ones.
-     * @param message The text to present to the user.
-     * @param showClosedProjects Whether or not to show closed projects.
-     * @param heightHint height hint for the drill down composite
-     */
-    public ContainerSelectionGroup(Composite parent, Listener listener,
-            boolean allowNewContainerName, String message,
-            boolean showClosedProjects, int heightHint) {
-        super(parent, SWT.NONE);
-        this.listener = listener;
-        this.allowNewContainerName = allowNewContainerName;
-        this.showClosedProjects = showClosedProjects;
-        if (message != null)
-            createContents(message, heightHint);
-        else if (allowNewContainerName)
-            createContents(DEFAULT_MSG_NEW_ALLOWED, heightHint);
-        else
-            createContents(DEFAULT_MSG_SELECT_ONLY, heightHint);
-    }
-
-    /**
-     * The container selection has changed in the
-     * tree view. Update the container name field
-     * value and notify all listeners.
-     */
-    public void containerSelectionChanged(IContainer container) {
-        selectedContainer = container;
-
-        if (allowNewContainerName) {
-            if (container == null)
-                containerNameField.setText("");//$NON-NLS-1$
-            else
-                containerNameField.setText(container.getFullPath()
-                        .makeRelative().toString());
-        }
-
-        // fire an event so the parent can update its controls
-        if (listener != null) {
-            Event changeEvent = new Event();
-            changeEvent.type = SWT.Selection;
-            changeEvent.widget = this;
-            listener.handleEvent(changeEvent);
-        }
-    }
-
-    /**
-     * Creates the contents of the composite.
-     */
-    public void createContents(String message) {
-        createContents(message, SIZING_SELECTION_PANE_HEIGHT);
-    }
-
-    /**
-     * Creates the contents of the composite.
-     * 
-     * @param heightHint height hint for the drill down composite
-     */
-    public void createContents(String message, int heightHint) {
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        setLayout(layout);
-        setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
-        Label label = new Label(this, SWT.WRAP);
-        label.setText(message);
-        label.setFont(this.getFont());
-
-        if (allowNewContainerName) {
-            containerNameField = new Text(this, SWT.SINGLE | SWT.BORDER);
-            containerNameField.setLayoutData(new GridData(
-                    GridData.FILL_HORIZONTAL));
-            containerNameField.addListener(SWT.Modify, listener);
-            containerNameField.setFont(this.getFont());
-        } else {
-            // filler...
-            new Label(this, SWT.NONE);
-        }
-
-        createTreeViewer(heightHint);
-        Dialog.applyDialogFont(this);
-    }
-
-    /**
-     * Returns a new drill down viewer for this dialog.
-     *
-     * @param heightHint height hint for the drill down composite
-     * @return a new drill down viewer
-     */
-    protected void createTreeViewer(int heightHint) {
-        // Create drill down.
-        DrillDownComposite drillDown = new DrillDownComposite(this, SWT.BORDER);
-        GridData spec = new GridData(SWT.FILL, SWT.FILL, true, true);
-        spec.widthHint = SIZING_SELECTION_PANE_WIDTH;
-        spec.heightHint = heightHint;
-        drillDown.setLayoutData(spec);
-
-        // Create tree viewer inside drill down.
-        treeViewer = new TreeViewer(drillDown, SWT.NONE);
-        drillDown.setChildTree(treeViewer);
-        ContainerContentProvider cp = new ContainerContentProvider();
-        cp.showClosedProjects(showClosedProjects);
-        treeViewer.setContentProvider(cp);
-        treeViewer.setLabelProvider(WorkbenchLabelProvider
-                .getDecoratingWorkbenchLabelProvider());
-        treeViewer.setSorter(new ViewerSorter());
-        treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                IStructuredSelection selection = (IStructuredSelection) event
-                        .getSelection();
-                containerSelectionChanged((IContainer) selection
-                        .getFirstElement()); // allow null
-            }
-        });
-        treeViewer.addDoubleClickListener(new IDoubleClickListener() {
-            public void doubleClick(DoubleClickEvent event) {
-                ISelection selection = event.getSelection();
-                if (selection instanceof IStructuredSelection) {
-                    Object item = ((IStructuredSelection) selection)
-                            .getFirstElement();
-                    if (treeViewer.getExpandedState(item))
-                        treeViewer.collapseToLevel(item, 1);
-                    else
-                        treeViewer.expandToLevel(item, 1);
-                }
-            }
-        });
-
-        // This has to be done after the viewer has been laid out
-        treeViewer.setInput(ResourcesPlugin.getWorkspace());
-    }
-
-    /**
-     * Returns the currently entered container name.
-     * Null if the field is empty. Note that the
-     * container may not exist yet if the user
-     * entered a new container name in the field.
-     */
-    public IPath getContainerFullPath() {
-        if (allowNewContainerName) {
-            String pathName = containerNameField.getText();
-            if (pathName == null || pathName.length() < 1)
-                return null;
-            else
-                //The user may not have made this absolute so do it for them
-                return (new Path(pathName)).makeAbsolute();
-        } else {
-            if (selectedContainer == null)
-                return null;
-            else
-                return selectedContainer.getFullPath();
-        }
-    }
-
-    /**
-     * Gives focus to one of the widgets in the group, as determined by the group.
-     */
-    public void setInitialFocus() {
-        if (allowNewContainerName)
-            containerNameField.setFocus();
-        else
-            treeViewer.getTree().setFocus();
-    }
-
-    /**
-     * Sets the selected existing container.
-     */
-    public void setSelectedContainer(IContainer container) {
-        selectedContainer = container;
-
-        //expand to and select the specified container
-        List itemsToExpand = new ArrayList();
-        IContainer parent = container.getParent();
-        while (parent != null) {
-            itemsToExpand.add(0, parent);
-            parent = parent.getParent();
-        }
-        treeViewer.setExpandedElements(itemsToExpand.toArray());
-        treeViewer.setSelection(new StructuredSelection(container), true);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java
deleted file mode 100644
index a62030f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OverlayIcon.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * An OverlayIcon consists of a main icon and several adornments.
- */
-public class OverlayIcon extends CompositeImageDescriptor {
-
-    static final int DEFAULT_WIDTH = 22;
-
-    static final int DEFAULT_HEIGHT = 16;
-
-    private Point fSize = null;
-
-    private ImageDescriptor fBase;
-
-    private ImageDescriptor fOverlays[][];
-
-    public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays,
-            Point size) {
-        fBase = base;
-        fOverlays = overlays;
-        fSize = size;
-    }
-
-    protected void drawBottomLeft(ImageDescriptor[] overlays) {
-        if (overlays == null)
-            return;
-        int length = overlays.length;
-        int x = 0;
-        for (int i = 0; i < 3; i++) {
-            if (i < length && overlays[i] != null) {
-                ImageData id = overlays[i].getImageData();
-                drawImage(id, x, getSize().y - id.height);
-                x += id.width;
-            }
-        }
-    }
-
-    protected void drawBottomRight(ImageDescriptor[] overlays) {
-        if (overlays == null)
-            return;
-        int length = overlays.length;
-        int x = getSize().x;
-        for (int i = 2; i >= 0; i--) {
-            if (i < length && overlays[i] != null) {
-                ImageData id = overlays[i].getImageData();
-                x -= id.width;
-                drawImage(id, x, getSize().y - id.height);
-            }
-        }
-    }
-
-    /**
-     * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-     */
-    protected void drawCompositeImage(int width, int height) {
-        ImageData bg;
-        if (fBase == null || (bg = fBase.getImageData()) == null)
-            bg = DEFAULT_IMAGE_DATA;
-        drawImage(bg, 0, 0);
-
-        if (fOverlays != null) {
-            if (fOverlays.length > 0)
-                drawTopRight(fOverlays[0]);
-
-            if (fOverlays.length > 1)
-                drawBottomRight(fOverlays[1]);
-
-            if (fOverlays.length > 2)
-                drawBottomLeft(fOverlays[2]);
-
-            if (fOverlays.length > 3)
-                drawTopLeft(fOverlays[3]);
-        }
-    }
-
-    protected void drawTopLeft(ImageDescriptor[] overlays) {
-        if (overlays == null)
-            return;
-        int length = overlays.length;
-        int x = 0;
-        for (int i = 0; i < 3; i++) {
-            if (i < length && overlays[i] != null) {
-                ImageData id = overlays[i].getImageData();
-                drawImage(id, x, 0);
-                x += id.width;
-            }
-        }
-    }
-
-    protected void drawTopRight(ImageDescriptor[] overlays) {
-        if (overlays == null)
-            return;
-        int length = overlays.length;
-        int x = getSize().x;
-        for (int i = 2; i >= 0; i--) {
-            if (i < length && overlays[i] != null) {
-                ImageData id = overlays[i].getImageData();
-                x -= id.width;
-                drawImage(id, x, 0);
-            }
-        }
-    }
-
-    /**
-     * @see CompositeImageDescriptor#getSize()
-     */
-    protected Point getSize() {
-        return fSize;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java
deleted file mode 100644
index 4962031..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ProjectCapabilitySelectionGroup.java
+++ /dev/null
@@ -1,828 +0,0 @@
-package org.eclipse.ui.internal.ide.misc;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Fix for bug 19346 - Dialog font should be
- *        activated and used by other components.
- *********************************************************************/
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.registry.Capability;
-import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A group of controls used to view and modify the
- * set of capabilities on a project.
- */
-public class ProjectCapabilitySelectionGroup {
-    private static final String EMPTY_DESCRIPTION = "\n\n\n"; //$NON-NLS-1$
-
-    private CapabilityRegistry registry;
-
-    private Category[] initialCategories;
-
-    private Capability[] initialCapabilities;
-
-    private Capability[] disabledCapabilities;
-
-    private boolean modified = false;
-
-    private Text descriptionText;
-
-    private CheckboxTableViewer checkboxViewer;
-
-    private ICheckStateListener checkStateListener;
-
-    private ArrayList visibleCapabilities = new ArrayList();
-
-    private ArrayList checkedCapabilities = new ArrayList();
-
-    private Collection disabledCaps;
-
-    // For a given capability as key, the value will be a list of
-    // other capabilities that require the capability. Also,
-    // it may include the capability key if it was selected by the
-    // user before being required by other capabilities.
-    private HashMap dependents = new HashMap();
-
-    // For a given membership set id as key, the value is
-    // a checked capability
-    private HashMap memberships = new HashMap();
-
-    // Sort categories
-    private Comparator categoryComparator = new Comparator() {
-        private Collator collator = Collator.getInstance();
-
-        public int compare(Object ob1, Object ob2) {
-            Category c1 = (Category) ob1;
-            Category c2 = (Category) ob2;
-            return collator.compare(c1.getLabel(), c2.getLabel());
-        }
-    };
-
-    // Sort capabilities
-    private Comparator capabilityComparator = new Comparator() {
-        private Collator collator = Collator.getInstance();
-
-        public int compare(Object ob1, Object ob2) {
-            Capability c1 = (Capability) ob1;
-            Capability c2 = (Capability) ob2;
-            return collator.compare(c1.getName(), c2.getName());
-        }
-    };
-
-    /**
-     * Creates a new instance of the <code>ProjectCapabilitySelectionGroup</code>
-     * 
-     * @param categories the initial collection of valid categories to select
-     * @param capabilities the intial collection of valid capabilities to select
-     * @param registry all available capabilities registered by plug-ins
-     */
-    public ProjectCapabilitySelectionGroup(Category[] categories,
-            Capability[] capabilities, CapabilityRegistry registry) {
-        this(categories, capabilities, null, registry);
-    }
-
-    /**
-     * Creates a new instance of the <code>ProjectCapabilitySelectionGroup</code>
-     * 
-     * @param categories the initial collection of valid categories to select
-     * @param capabilities the intial collection of valid capabilities to select
-     * @param disabledCapabilities the collection of capabilities to show as disabled
-     * @param registry all available capabilities registered by plug-ins
-     */
-    public ProjectCapabilitySelectionGroup(Category[] categories,
-            Capability[] capabilities, Capability[] disabledCapabilities,
-            CapabilityRegistry registry) {
-        super();
-        this.initialCategories = categories;
-        this.initialCapabilities = capabilities;
-        this.disabledCapabilities = disabledCapabilities;
-        this.registry = registry;
-    }
-
-    /**
-     * Create the contents of this group. The basic layout is a checkbox
-     * list with a text field at the bottom to display the capability
-     * description.
-     */
-    public Control createContents(Composite parent) {
-        Font font = parent.getFont();
-        // Create the main composite for the other controls
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.makeColumnsEqualWidth = true;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        // Composite for category label and list...
-        Composite catComposite = new Composite(composite, SWT.NONE);
-        catComposite.setLayout(new GridLayout());
-        catComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        // Add a label to identify the list viewer of categories
-        Label categoryLabel = new Label(catComposite, SWT.LEFT);
-        categoryLabel.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySelectionGroup.categories")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        categoryLabel.setLayoutData(data);
-        categoryLabel.setFont(font);
-
-        // List viewer of all available categories
-        ListViewer listViewer = new ListViewer(catComposite);
-        listViewer.getList().setLayoutData(new GridData(GridData.FILL_BOTH));
-        listViewer.getList().setFont(font);
-        listViewer.setLabelProvider(new WorkbenchLabelProvider());
-        listViewer.setContentProvider(getContentProvider());
-        listViewer.setInput(getAvailableCategories());
-
-        // Composite for capability label and table...
-        Composite capComposite = new Composite(composite, SWT.NONE);
-        capComposite.setLayout(new GridLayout());
-        capComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-        // Add a label to identify the checkbox tree viewer of capabilities
-        Label capabilityLabel = new Label(capComposite, SWT.LEFT);
-        capabilityLabel.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySelectionGroup.capabilities")); //$NON-NLS-1$
-        data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        capabilityLabel.setLayoutData(data);
-        capabilityLabel.setFont(font);
-
-        // Checkbox tree viewer of capabilities in selected categories
-        checkboxViewer = CheckboxTableViewer.newCheckList(capComposite,
-                SWT.SINGLE | SWT.TOP | SWT.BORDER);
-        checkboxViewer.getTable().setLayoutData(
-                new GridData(GridData.FILL_BOTH));
-        checkboxViewer.getTable().setFont(font);
-        checkboxViewer.setLabelProvider(new CapabilityLabelProvider());
-        checkboxViewer.setContentProvider(getContentProvider());
-        checkboxViewer.setInput(visibleCapabilities);
-
-        // Add a label to identify the text field of capability's description
-        Label descLabel = new Label(composite, SWT.LEFT);
-        descLabel.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySelectionGroup.description")); //$NON-NLS-1$
-        data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        data.horizontalSpan = 2;
-        descLabel.setLayoutData(data);
-        descLabel.setFont(font);
-
-        // Text field to display the capability's description
-        descriptionText = new Text(composite, SWT.WRAP | SWT.MULTI
-                | SWT.V_SCROLL | SWT.BORDER);
-        descriptionText.setText(EMPTY_DESCRIPTION);
-        descriptionText.setEditable(false);
-        data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.horizontalSpan = 2;
-        descriptionText.setLayoutData(data);
-        descriptionText.setFont(font);
-
-        // Add a text field to explain grayed out items
-        Label grayLabel = new Label(composite, SWT.LEFT);
-        grayLabel.setText(IDEWorkbenchMessages
-                .getString("ProjectCapabilitySelectionGroup.grayItems")); //$NON-NLS-1$
-        data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        data.horizontalSpan = 2;
-        grayLabel.setLayoutData(data);
-        grayLabel.setFont(font);
-
-        // Setup initial context		
-        populateDependents();
-        populateMemberships();
-
-        // Listen for selection changes to update the description field
-        checkboxViewer
-                .addSelectionChangedListener(new ISelectionChangedListener() {
-                    public void selectionChanged(SelectionChangedEvent event) {
-                        updateDescription(event.getSelection());
-                    }
-                });
-
-        // Properly handle user checking and unchecking project features
-        checkboxViewer.addCheckStateListener(new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                Capability cap = (Capability) event.getElement();
-                if (event.getChecked())
-                    handleCapabilityChecked(cap);
-                else
-                    handleCapabilityUnchecked(cap);
-                checkboxViewer.setSelection(new StructuredSelection(cap));
-            }
-        });
-
-        // Listen for category selection and update the list of capabilities
-        listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                if (event.getSelection() instanceof IStructuredSelection) {
-                    IStructuredSelection sel = (IStructuredSelection) event
-                            .getSelection();
-                    visibleCapabilities.clear();
-                    Iterator itr = sel.iterator();
-                    while (itr.hasNext()) {
-                        Category cat = (Category) itr.next();
-                        visibleCapabilities.addAll(cat.getElements());
-                    }
-                    Collections.sort(visibleCapabilities, capabilityComparator);
-                    checkboxViewer.refresh();
-                    itr = visibleCapabilities.iterator();
-                    while (itr.hasNext()) {
-                        Capability cap = (Capability) itr.next();
-                        if (hasDependency(cap))
-                            checkboxViewer.setGrayed(cap, true);
-                        if (checkedCapabilities.contains(cap))
-                            checkboxViewer.setChecked(cap, true);
-                    }
-                    updateDescription(checkboxViewer.getSelection());
-                }
-            }
-        });
-
-        // initialize
-        if (initialCapabilities != null)
-            checkedCapabilities.addAll(Arrays.asList(initialCapabilities));
-        if (initialCategories != null)
-            listViewer.setSelection(new StructuredSelection(initialCategories));
-
-        return composite;
-    }
-
-    /**
-     * Marks the capability as being checked.
-     */
-    private void markCapabilityChecked(Capability target, Capability dependent) {
-        // Check the target capability
-        if (!checkedCapabilities.contains(target))
-            checkedCapabilities.add(target);
-        checkboxViewer.setChecked(target, true);
-
-        // Gray the target to show the user its required
-        // by another capability.
-        if (target != dependent)
-            checkboxViewer.setGrayed(target, true);
-
-        // Update the dependent map for the target capability
-        addDependency(target, dependent);
-
-        // Update the membership set for the target capability
-        String[] ids = registry.getMembershipSetIds(target);
-        for (int j = 0; j < ids.length; j++)
-            memberships.put(ids[j], target);
-    }
-
-    /**
-     * Marks the capability as being unchecked.
-     */
-    private void markCapabilityUnchecked(Capability target) {
-        // Uncheck the target capability
-        checkedCapabilities.remove(target);
-        checkboxViewer.setChecked(target, false);
-
-        // Ungray the target as there is no dependency on it
-        checkboxViewer.setGrayed(target, false);
-
-        // Remove the dependency entry
-        dependents.remove(target);
-
-        // Update the membership set for the target capability
-        String[] ids = registry.getMembershipSetIds(target);
-        for (int j = 0; j < ids.length; j++) {
-            if (memberships.get(ids[j]) == target)
-                memberships.remove(ids[j]);
-        }
-    }
-
-    /**
-     * Returns the list of categories that have capabilities
-     * registered against it.
-     */
-    private ArrayList getAvailableCategories() {
-        ArrayList results = registry.getUsedCategories();
-        Collections.sort(results, categoryComparator);
-        if (registry.getMiscCategory() != null)
-            results.add(registry.getMiscCategory());
-        return results;
-    }
-
-    /**
-     * Return <code>true</code> if the user may have made changes
-     * to the capabilities of the project. Otherwise <code>false</code>
-     * if no changes were made.
-     * 
-     * @return <code>true</true> when possible changes may have been made,
-     *    <code>false</code> otherwise
-     */
-    public boolean getCapabilitiesModified() {
-        return modified;
-    }
-
-    /**
-     * Returns the content provider for the viewers
-     */
-    private IContentProvider getContentProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object parentElement) {
-                if (parentElement instanceof ArrayList)
-                    return ((ArrayList) parentElement).toArray();
-                else
-                    return null;
-            }
-        };
-    }
-
-    /**
-     * The user has changed the project capability selection.
-     * Set the modified flag and clear the caches.
-     */
-    private void capabilitiesModified() {
-        modified = true;
-    }
-
-    /**
-     * Add a dependency between the target and dependent
-     * capabilities
-     */
-    private void addDependency(Capability target, Capability dependent) {
-        ArrayList descriptors = (ArrayList) dependents.get(target);
-        if (descriptors == null) {
-            descriptors = new ArrayList();
-            descriptors.add(dependent);
-            dependents.put(target, descriptors);
-        } else if (!descriptors.contains(dependent)) {
-            descriptors.add(dependent);
-        }
-    }
-
-    /**
-     * Returns true if the capability has any
-     * dependencies on it.
-     */
-    private boolean hasDependency(Capability capability) {
-        ArrayList descriptors = (ArrayList) dependents.get(capability);
-        if (descriptors == null)
-            return false;
-        if (descriptors.size() == 1 && descriptors.get(0) == capability)
-            return false;
-        return true;
-    }
-
-    /**
-     * Returns whether the category is considered disabled
-     */
-    private boolean isDisabledCapability(Capability cap) {
-        if (disabledCaps == null) {
-            if (disabledCapabilities == null)
-                disabledCaps = new ArrayList(0);
-            else
-                disabledCaps = Arrays.asList(disabledCapabilities);
-        }
-        return disabledCaps.contains(cap);
-    }
-
-    /**
-     * Populate the dependents map based on the
-     * current set of capabilities.
-     */
-    private void populateDependents() {
-        if (initialCapabilities == null)
-            return;
-
-        LinkedList capabilities = new LinkedList();
-        capabilities.addAll(Arrays.asList(initialCapabilities));
-
-        while (!capabilities.isEmpty()) {
-            // Retrieve the target capability
-            Capability target;
-            target = (Capability) capabilities.removeFirst();
-            // Add the capability as a dependent of itself.
-            // It will indicate to the uncheck handler to not uncheck this
-            // capability automatically even if a another capability which
-            // depended on it is unchecked.
-            addDependency(target, target);
-
-            if (registry.hasPrerequisites(target)) {
-                // Retrieve the prerequisite capabilities...
-                String[] prereqIds = registry.getPrerequisiteIds(target);
-                Capability[] prereqCapabilities;
-                prereqCapabilities = registry.findCapabilities(prereqIds);
-                // For each prerequisite capability...
-                for (int i = 0; i < prereqCapabilities.length; i++) {
-                    // Update the dependent map for the prerequisite capability
-                    addDependency(prereqCapabilities[i], target);
-                    // Recursive if prerequisite capability also has prerequisites
-                    if (registry.hasPrerequisites(prereqCapabilities[i]))
-                        capabilities.addLast(prereqCapabilities[i]);
-                }
-            }
-        }
-    }
-
-    /**
-     * Populate the memberships map based on the
-     * current set of capabilities.
-     */
-    private void populateMemberships() {
-        if (initialCapabilities == null)
-            return;
-
-        Iterator itr = (Arrays.asList(initialCapabilities)).iterator();
-        while (itr.hasNext()) {
-            Capability cap = (Capability) itr.next();
-            String[] ids = registry.getMembershipSetIds(cap);
-            for (int j = 0; j < ids.length; j++) {
-                memberships.put(ids[j], cap);
-            }
-        }
-    }
-
-    /**
-     * Handle the case of a capability being checked
-     * by ensuring the action is allowed and the prerequisite
-     * capabilities are also checked.
-     */
-    private void handleCapabilityChecked(Capability capability) {
-        // Cannot allow a disabled capability to be checked
-        if (isDisabledCapability(capability)) {
-            MessageDialog
-                    .openWarning(
-                            checkboxViewer.getControl().getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .format(
-                                            "ProjectCapabilitySelectionGroup.disabledCapability", new Object[] { capability.getName() })); //$NON-NLS-1$
-            checkboxViewer.setChecked(capability, false);
-            return;
-        }
-
-        // Cannot allow an invalid capability to be checked
-        if (!capability.isValid()) {
-            MessageDialog
-                    .openWarning(
-                            checkboxViewer.getControl().getShell(),
-                            IDEWorkbenchMessages
-                                    .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                            IDEWorkbenchMessages
-                                    .format(
-                                            "ProjectCapabilitySelectionGroup.invalidCapability", new Object[] { capability.getName() })); //$NON-NLS-1$
-            checkboxViewer.setChecked(capability, false);
-            return;
-        }
-
-        // Is there a membership set problem...
-        String[] ids = registry.getMembershipSetIds(capability);
-        for (int i = 0; i < ids.length; i++) {
-            Capability member = (Capability) memberships.get(ids[i]);
-            if (member != null && member != capability) {
-                MessageDialog
-                        .openWarning(
-                                checkboxViewer.getControl().getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .format(
-                                                "ProjectCapabilitySelectionGroup.membershipConflict", new Object[] { capability.getName(), member.getName() })); //$NON-NLS-1$
-                checkboxViewer.setChecked(capability, false);
-                return;
-            }
-        }
-
-        // Handle prerequisite by auto-checking them if possible
-        if (registry.hasPrerequisites(capability)) {
-            // Check for any prerequisite problems...
-            // Retrieve all the prerequisite capabilities, including
-            // any prerequisite of the prerequisites!
-            LinkedList capabilities = new LinkedList();
-            capabilities.addLast(capability);
-            while (!capabilities.isEmpty()) {
-                Capability target;
-                target = (Capability) capabilities.removeFirst();
-                // Retrieve the capability's immediate prerequisites
-                String[] prereqIds = registry.getPrerequisiteIds(target);
-                Capability[] prereqCapabilities;
-                prereqCapabilities = registry.findCapabilities(prereqIds);
-                for (int i = 0; i < prereqCapabilities.length; i++) {
-                    // If the prerequisite is missing, warn the user and
-                    // do not allow the check to proceed.
-                    if (prereqCapabilities[i] == null
-                            || isDisabledCapability(prereqCapabilities[i])
-                            || !prereqCapabilities[i].isValid()) {
-                        MessageDialog
-                                .openWarning(
-                                        checkboxViewer.getControl().getShell(),
-                                        IDEWorkbenchMessages
-                                                .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                                        IDEWorkbenchMessages
-                                                .format(
-                                                        "ProjectCapabilitySelectionGroup.missingPrereqs", new Object[] { capability.getName(), prereqIds[i] })); //$NON-NLS-1$
-                        checkboxViewer.setChecked(capability, false);
-                        return;
-                    }
-                    // If there is a membership problem, warn the user and
-                    // do not allow the check to proceed
-                    ids = registry.getMembershipSetIds(prereqCapabilities[i]);
-                    for (int j = 0; j < ids.length; j++) {
-                        Capability member = (Capability) memberships
-                                .get(ids[j]);
-                        if (member != null && member != prereqCapabilities[i]) {
-                            MessageDialog
-                                    .openWarning(
-                                            checkboxViewer.getControl()
-                                                    .getShell(),
-                                            IDEWorkbenchMessages
-                                                    .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                                            IDEWorkbenchMessages
-                                                    .format(
-                                                            "ProjectCapabilitySelectionGroup.membershipPrereqConflict", new Object[] { capability.getName(), prereqCapabilities[i].getName(), member.getName() })); //$NON-NLS-1$
-                            checkboxViewer.setChecked(capability, false);
-                            return;
-                        }
-                    }
-                    // If the prerequisite capability has prerequisites
-                    // also, then add it to be processed.
-                    if (registry.hasPrerequisites(prereqCapabilities[i]))
-                        capabilities.addLast(prereqCapabilities[i]);
-                }
-            }
-
-            // Auto-check all prerequisite capabilities
-            capabilities = new LinkedList();
-            capabilities.addLast(capability);
-            // For each capability that has prerequisites...
-            while (!capabilities.isEmpty()) {
-                Capability target;
-                target = (Capability) capabilities.removeFirst();
-                // Retrieve the prerequisite capabilities...
-                String[] prereqIds = registry.getPrerequisiteIds(target);
-                Capability[] prereqCapabilities;
-                prereqCapabilities = registry.findCapabilities(prereqIds);
-                // For each prerequisite capability...
-                for (int i = 0; i < prereqCapabilities.length; i++) {
-                    // Mark it as being checked
-                    markCapabilityChecked(prereqCapabilities[i], target);
-                    // Recursive if prerequisite capability also has prerequisites
-                    if (registry.hasPrerequisites(prereqCapabilities[i]))
-                        capabilities.addLast(prereqCapabilities[i]);
-                }
-            }
-        }
-
-        // Mark the capability as checked. Adds itself as a
-        // dependent - this will indicate to the uncheck handler
-        // to not uncheck this capability automatically even if
-        // another capability which depends on it is unchecked.
-        markCapabilityChecked(capability, capability);
-
-        // Notify those interested
-        capabilitiesModified();
-        notifyCheckStateListner();
-    }
-
-    /**
-     * Handle the case of a capability being unchecked
-     * by ensuring the action is allowed. 
-     */
-    private void handleCapabilityUnchecked(Capability capability) {
-        ArrayList descriptors = (ArrayList) dependents.get(capability);
-
-        // Note, there is no need to handle the case where descriptors size
-        // is zero because it cannot happen. For this method to be called, the
-        // item must have been checked previously. If it was checked by the user,
-        // then the item itself would be a dependent. If the item was checked
-        // because it was required by another capability, then that other capability
-        // would be a dependent.
-
-        if (descriptors.size() == 1 && descriptors.get(0) == capability) {
-            // If the only dependent is itself, then its ok to uncheck
-            capabilitiesModified();
-            markCapabilityUnchecked(capability);
-
-            // Remove this capability as a dependent on its prerequisite
-            // capabilities. Recursive if a prerequisite capability
-            // no longer has any dependents.
-            if (registry.hasPrerequisites(capability)) {
-                LinkedList capabilities = new LinkedList();
-                capabilities.addLast(capability);
-                // For each capability that has prerequisite capabilities
-                while (!capabilities.isEmpty()) {
-                    Capability target;
-                    target = (Capability) capabilities.removeFirst();
-                    // Retrieve the prerequisite capabilities...
-                    String[] prereqIds = registry.getPrerequisiteIds(target);
-                    Capability[] prereqCapabilities;
-                    prereqCapabilities = registry.findCapabilities(prereqIds);
-                    // For each prerequisite capability...
-                    for (int i = 0; i < prereqCapabilities.length; i++) {
-                        // Retrieve the list of dependents on the prerequisite capability...
-                        Capability prereqCap = prereqCapabilities[i];
-                        ArrayList prereqDependents = (ArrayList) dependents
-                                .get(prereqCap);
-                        // Remove the dependent target capability...
-                        prereqDependents.remove(target);
-                        if (prereqDependents.isEmpty()) {
-                            // Unchecked the prerequisite capability
-                            markCapabilityUnchecked(prereqCap);
-                            // Recursive if prerequisite capability also has
-                            // prerequisite capabilities
-                            if (registry.hasPrerequisites(prereqCap))
-                                capabilities.addLast(prereqCap);
-                        } else if (prereqDependents.size() == 1
-                                && prereqDependents.get(0) == prereqCap) {
-                            // Only dependent is itself so ungray the item to let the
-                            // user know no other capability is dependent on it
-                            checkboxViewer.setGrayed(prereqCap, false);
-                        }
-                    }
-                }
-            }
-
-            // Notify those interested
-            notifyCheckStateListner();
-        } else {
-            // At least one other capability depends on it being checked
-            // so force it to remain checked and warn the user.
-            checkboxViewer.setChecked(capability, true);
-            // Get a copy and remove the target capability
-            ArrayList descCopy = (ArrayList) descriptors.clone();
-            descCopy.remove(capability);
-            // Show the prereq problem to the user
-            if (descCopy.size() == 1) {
-                Capability cap = (Capability) descCopy.get(0);
-                MessageDialog
-                        .openWarning(
-                                checkboxViewer.getControl().getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .format(
-                                                "ProjectCapabilitySelectionGroup.requiredPrereq", new Object[] { capability.getName(), cap.getName() })); //$NON-NLS-1$
-            } else {
-                StringBuffer msg = new StringBuffer();
-                Iterator itr = descCopy.iterator();
-                while (itr.hasNext()) {
-                    Capability cap = (Capability) itr.next();
-                    msg.append("\n    "); //$NON-NLS-1$
-                    msg.append(cap.getName());
-                }
-                MessageDialog
-                        .openWarning(
-                                checkboxViewer.getControl().getShell(),
-                                IDEWorkbenchMessages
-                                        .getString("ProjectCapabilitySelectionGroup.errorTitle"), //$NON-NLS-1$
-                                IDEWorkbenchMessages
-                                        .format(
-                                                "ProjectCapabilitySelectionGroup.requiredPrereqs", new Object[] { capability.getName(), msg.toString() })); //$NON-NLS-1$
-            }
-        }
-    }
-
-    /**
-     * Returns the collection of capabilities selected
-     * by the user. The collection is not in prerequisite
-     * order.
-     * 
-     * @return array of selected capabilities
-     */
-    public Capability[] getSelectedCapabilities() {
-        Capability[] capabilities = new Capability[checkedCapabilities.size()];
-        checkedCapabilities.toArray(capabilities);
-        return capabilities;
-    }
-
-    /**
-     * Return the current listener interested when the check
-     * state of a capability actually changes.
-     * 
-     * @return Returns a ICheckStateListener
-     */
-    public ICheckStateListener getCheckStateListener() {
-        return checkStateListener;
-    }
-
-    /**
-     * Set the current listener interested when the check
-     * state of a capability actually changes.
-     * 
-     * @param checkStateListener The checkStateListener to set
-     */
-    public void setCheckStateListener(ICheckStateListener checkStateListener) {
-        this.checkStateListener = checkStateListener;
-    }
-
-    /**
-     * Notify the check state listener that a capability
-     * check state has changed. The event past will
-     * always be <code>null</code> as it could be
-     * triggered by code instead of user input.
-     */
-    private void notifyCheckStateListner() {
-        if (checkStateListener != null)
-            checkStateListener.checkStateChanged(null);
-    }
-
-    /**
-     * Updates the description field for the selected capability
-     */
-    private void updateDescription(ISelection selection) {
-        String text = EMPTY_DESCRIPTION;
-        if (selection instanceof IStructuredSelection) {
-            IStructuredSelection sel = (IStructuredSelection) selection;
-            Capability cap = (Capability) sel.getFirstElement();
-            if (cap != null)
-                text = cap.getDescription();
-        }
-        descriptionText.setText(text);
-    }
-
-    class CapabilityLabelProvider extends LabelProvider {
-        private Map imageTable;
-
-        public void dispose() {
-            if (imageTable != null) {
-                Iterator itr = imageTable.values().iterator();
-                while (itr.hasNext())
-                    ((Image) itr.next()).dispose();
-                imageTable = null;
-            }
-        }
-
-        public Image getImage(Object element) {
-            ImageDescriptor descriptor = ((Capability) element)
-                    .getIconDescriptor();
-            if (descriptor == null)
-                return null;
-
-            //obtain the cached image corresponding to the descriptor
-            if (imageTable == null) {
-                imageTable = new Hashtable(40);
-            }
-            Image image = (Image) imageTable.get(descriptor);
-            if (image == null) {
-                image = descriptor.createImage();
-                imageTable.put(descriptor, image);
-            }
-            return image;
-        }
-
-        public String getText(Object element) {
-            Capability cap = (Capability) element;
-            String text = cap.getName();
-            if (isDisabledCapability(cap))
-                text = IDEWorkbenchMessages
-                        .format(
-                                "ProjectCapabilitySelectionGroup.disabledLabel", new Object[] { text }); //$NON-NLS-1$
-            return text;
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java
deleted file mode 100644
index 8cb89ca..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/ResourceAndContainerGroup.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Leon J. Breedt: Added multiple folder creation support
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-
-/**
- * Workbench-level composite for resource and container specification by the user.
- * Services such as field validation are performed by the group.
- * The group can be configured to accept existing resources, or only
- * new resources.
- */
-public class ResourceAndContainerGroup implements Listener {
-    // problem identifiers
-    public static final int PROBLEM_NONE = 0;
-
-    public static final int PROBLEM_RESOURCE_EMPTY = 1;
-
-    public static final int PROBLEM_RESOURCE_EXIST = 2;
-
-    public static final int PROBLEM_RESOURCE_CONTAINS_SEPARATOR = 3;
-
-    public static final int PROBLEM_PATH_INVALID = 4;
-
-    public static final int PROBLEM_CONTAINER_EMPTY = 5;
-
-    public static final int PROBLEM_PROJECT_DOES_NOT_EXIST = 6;
-
-    public static final int PROBLEM_NAME_INVALID = 7;
-
-    public static final int PROBLEM_PATH_OCCUPIED = 8;
-
-    // the client to notify of changes
-    private Listener client;
-
-    // whether to allow existing resources
-    private boolean allowExistingResources = false;
-
-    // resource type (file, folder, project)
-    private String resourceType = IDEWorkbenchMessages
-            .getString("ResourceGroup.resource"); //$NON-NLS-1$
-
-    // show closed projects in the tree, by default
-    private boolean showClosedProjects = true;
-
-    // problem indicator
-    private String problemMessage = "";//$NON-NLS-1$
-
-    private int problemType = PROBLEM_NONE;
-
-    // widgets
-    private ContainerSelectionGroup containerGroup;
-
-    private Text resourceNameField;
-
-    // constants
-    private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    /**
-     * Create an instance of the group to allow the user
-     * to enter/select a container and specify a resource
-     * name.
-     *
-     * @param parent composite widget to parent the group
-     * @param client object interested in changes to the group's fields value
-     * @param resourceFieldLabel label to use in front of the resource name field
-     * @param resourceType one word, in lowercase, to describe the resource to the user (file, folder, project)
-     */
-    public ResourceAndContainerGroup(Composite parent, Listener client,
-            String resourceFieldLabel, String resourceType) {
-        this(parent, client, resourceFieldLabel, resourceType, true);
-    }
-
-    /**
-     * Create an instance of the group to allow the user
-     * to enter/select a container and specify a resource
-     * name.
-     *
-     * @param parent composite widget to parent the group
-     * @param client object interested in changes to the group's fields value
-     * @param resourceFieldLabel label to use in front of the resource name field
-     * @param resourceType one word, in lowercase, to describe the resource to the user (file, folder, project)
-     * @param showClosedProjects whether or not to show closed projects
-     */
-    public ResourceAndContainerGroup(Composite parent, Listener client,
-            String resourceFieldLabel, String resourceType,
-            boolean showClosedProjects) {
-        this(parent, client, resourceFieldLabel, resourceType,
-                showClosedProjects, SWT.DEFAULT);
-    }
-
-    /**
-     * Create an instance of the group to allow the user
-     * to enter/select a container and specify a resource
-     * name.
-     *
-     * @param parent composite widget to parent the group
-     * @param client object interested in changes to the group's fields value
-     * @param resourceFieldLabel label to use in front of the resource name field
-     * @param resourceType one word, in lowercase, to describe the resource to the user (file, folder, project)
-     * @param showClosedProjects whether or not to show closed projects
-     * @param heightHint height hint for the container selection widget group
-     */
-    public ResourceAndContainerGroup(Composite parent, Listener client,
-            String resourceFieldLabel, String resourceType,
-            boolean showClosedProjects, int heightHint) {
-        super();
-        this.resourceType = resourceType;
-        this.showClosedProjects = showClosedProjects;
-        createContents(parent, resourceFieldLabel, heightHint);
-        this.client = client;
-    }
-
-    /**
-     * Returns a boolean indicating whether all controls in this group
-     * contain valid values.
-     *
-     * @return boolean
-     */
-    public boolean areAllValuesValid() {
-        return problemType == PROBLEM_NONE;
-    }
-
-    /**
-     * Creates this object's visual components.
-     *
-     * @param parent org.eclipse.swt.widgets.Composite
-     * @param heightHint height hint for the container selection widget group
-     */
-    protected void createContents(Composite parent, String resourceLabelString,
-            int heightHint) {
-
-        Font font = parent.getFont();
-        // server name group
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginHeight = 0;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-        composite.setFont(font);
-
-        // container group
-        if (heightHint == SWT.DEFAULT)
-            containerGroup = new ContainerSelectionGroup(composite, this, true,
-                    null, showClosedProjects);
-        else
-            containerGroup = new ContainerSelectionGroup(composite, this, true,
-                    null, showClosedProjects, heightHint);
-
-        // resource name group
-        Composite nameGroup = new Composite(composite, SWT.NONE);
-        layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.marginWidth = 0;
-        nameGroup.setLayout(layout);
-        nameGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL));
-        nameGroup.setFont(font);
-
-        Label label = new Label(nameGroup, SWT.NONE);
-        label.setText(resourceLabelString);
-        label.setFont(font);
-
-        // resource name entry field
-        resourceNameField = new Text(nameGroup, SWT.BORDER);
-        resourceNameField.addListener(SWT.Modify, this);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        resourceNameField.setLayoutData(data);
-        resourceNameField.setFont(font);
-
-        validateControls();
-    }
-
-    /**
-     * Returns the path of the currently selected container
-     * or null if no container has been selected. Note that
-     * the container may not exist yet if the user entered
-     * a new container name in the field.
-     */
-    public IPath getContainerFullPath() {
-        return containerGroup.getContainerFullPath();
-    }
-
-    /**
-     * Returns an error message indicating the current problem with the value
-     * of a control in the group, or an empty message if all controls in the
-     * group contain valid values.
-     *
-     * @return java.lang.String
-     */
-    public String getProblemMessage() {
-        return problemMessage;
-    }
-
-    /**
-     * Returns the type of problem with the value of a control
-     * in the group.
-     *
-     * @return one of the PROBLEM_* constants
-     */
-    public int getProblemType() {
-        return problemType;
-    }
-
-    /**
-     * Returns a string that is the path of the currently selected
-     * container.  Returns an empty string if no container has been
-     * selected.
-     */
-    public String getResource() {
-        return resourceNameField.getText();
-    }
-
-    /**
-     * Handles events for all controls in the group.
-     *
-     * @param e org.eclipse.swt.widgets.Event
-     */
-    public void handleEvent(Event e) {
-        validateControls();
-        if (client != null) {
-            client.handleEvent(e);
-        }
-    }
-
-    /**
-     * Sets the flag indicating whether existing resources are permitted.
-     */
-    public void setAllowExistingResources(boolean value) {
-        allowExistingResources = value;
-    }
-
-    /**
-     * Sets the value of this page's container.
-     *
-     * @param path Full path to the container.
-     */
-    public void setContainerFullPath(IPath path) {
-        IResource initial = ResourcesPlugin.getWorkspace().getRoot()
-                .findMember(path);
-        if (initial != null) {
-            if (!(initial instanceof IContainer)) {
-                initial = initial.getParent();
-            }
-            containerGroup.setSelectedContainer((IContainer) initial);
-        }
-        validateControls();
-    }
-
-    /**
-     * Gives focus to the resource name field and selects its contents
-     */
-    public void setFocus() {
-        //select the whole resource name.
-        resourceNameField.setSelection(0, resourceNameField.getText().length());
-        resourceNameField.setFocus();
-    }
-
-    /**
-     * Sets the value of this page's resource name.
-     *
-     * @param value new value
-     */
-    public void setResource(String value) {
-        resourceNameField.setText(value);
-        validateControls();
-    }
-
-    /**
-     * Returns a <code>boolean</code> indicating whether a container name represents
-     * a valid container resource in the workbench.  An error message is stored for
-     * future reference if the name does not represent a valid container.
-     *
-     * @return <code>boolean</code> indicating validity of the container name
-     */
-    protected boolean validateContainer() {
-        IPath path = containerGroup.getContainerFullPath();
-        if (path == null) {
-            problemType = PROBLEM_CONTAINER_EMPTY;
-            problemMessage = IDEWorkbenchMessages
-                    .getString("ResourceGroup.folderEmpty"); //$NON-NLS-1$
-            return false;
-        }
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        String projectName = path.segment(0);
-        if (projectName == null
-                || !workspace.getRoot().getProject(projectName).exists()) {
-            problemType = PROBLEM_PROJECT_DOES_NOT_EXIST;
-            problemMessage = IDEWorkbenchMessages
-                    .getString("ResourceGroup.noProject"); //$NON-NLS-1$
-            return false;
-        }
-        //path is invalid if any prefix is occupied by a file
-        IWorkspaceRoot root = workspace.getRoot();
-        while (path.segmentCount() > 1) {
-        	if (root.getFile(path).exists()) {
-        		problemType = PROBLEM_PATH_OCCUPIED;
-        		problemMessage = IDEWorkbenchMessages
-        			.format("ResourceGroup.pathOccupied",  //$NON-NLS-1$
-        			new Object[] {path.makeRelative()});
-        		return false;
-        	}
-        	path = path.removeLastSegments(1);
-        }
-        return true;
-    }
-
-    /**
-     * Validates the values for each of the group's controls.  If an invalid
-     * value is found then a descriptive error message is stored for later
-     * reference.  Returns a boolean indicating the validity of all of the
-     * controls in the group.
-     */
-    protected boolean validateControls() {
-        // don't attempt to validate controls until they have been created
-        if (containerGroup == null) {
-            return false;
-        }
-        problemType = PROBLEM_NONE;
-        problemMessage = "";//$NON-NLS-1$
-
-        if (!validateContainer() || !validateResourceName())
-            return false;
-
-        IPath path = containerGroup.getContainerFullPath().append(
-                resourceNameField.getText());
-        return validateFullResourcePath(path);
-    }
-
-    /**
-     * Returns a <code>boolean</code> indicating whether the specified resource
-     * path represents a valid new resource in the workbench.  An error message
-     * is stored for future reference if the path  does not represent a valid
-     * new resource path.
-     *
-     * @param resourcePath the path to validate
-     * @return <code>boolean</code> indicating validity of the resource path
-     */
-    protected boolean validateFullResourcePath(IPath resourcePath) {
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-
-        IStatus result = workspace.validatePath(resourcePath.toString(),
-                IResource.FOLDER);
-        if (!result.isOK()) {
-            problemType = PROBLEM_PATH_INVALID;
-            problemMessage = result.getMessage();
-            return false;
-        }
-
-        if (!allowExistingResources
-                && (workspace.getRoot().getFolder(resourcePath).exists() || workspace
-                        .getRoot().getFile(resourcePath).exists())) {
-            problemType = PROBLEM_RESOURCE_EXIST;
-            problemMessage = IDEWorkbenchMessages
-                    .getString("ResourceGroup.nameExists"); //$NON-NLS-1$
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Returns a <code>boolean</code> indicating whether the resource name rep-
-     * resents a valid resource name in the workbench.  An error message is stored
-     * for future reference if the name does not represent a valid resource name.
-     *
-     * @return <code>boolean</code> indicating validity of the resource name
-     */
-    protected boolean validateResourceName() {
-        String resourceName = resourceNameField.getText();
-
-        if (resourceName.equals("")) {//$NON-NLS-1$
-            problemType = PROBLEM_RESOURCE_EMPTY;
-            problemMessage = IDEWorkbenchMessages.format(
-                    "ResourceGroup.emptyName", new Object[] { resourceType }); //$NON-NLS-1$
-            return false;
-        }
-
-        if (!(new Path("")).isValidSegment(resourceName)) { //$NON-NLS-1$
-            problemType = PROBLEM_NAME_INVALID;
-            problemMessage = IDEWorkbenchMessages
-                    .format(
-                            "ResourceGroup.invalidFilename", new String[] { resourceName }); //$NON-NLS-1$
-            return false;
-        }
-
-        return true;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java
deleted file mode 100644
index 97efdbc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WizardStepGroup.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids <sdavids@gmx.de> - Fix for bug 19346 - Dialog font should be
- *     activated and used by other components.
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.dialogs.WizardStep;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-
-/**
- * A group of controls used to view the list of
- * wizard steps to be done.
- */
-public class WizardStepGroup {
-    private Image doneImage;
-
-    private Image currentImage;
-
-    private WizardStep currentStep;
-
-    private Composite parentComposite;
-
-    private TableViewer stepViewer;
-
-    private ISelectionChangedListener selectionListener;
-
-    /**
-     * Creates a new instance of the <code>WizardStepGroup</code>
-     */
-    public WizardStepGroup() {
-        super();
-    }
-
-    /**
-     * Create the contents of this group. The basic layout is a table
-     * with a label above it.
-     */
-    public Control createContents(Composite parent) {
-        Font font = parent.getFont();
-        parentComposite = parent;
-
-        // Create a composite to hold everything together
-        Composite composite = new Composite(parent, SWT.NULL);
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-        composite.setFont(font);
-        composite.addDisposeListener(new DisposeListener() {
-            public void widgetDisposed(DisposeEvent e) {
-                if (doneImage != null) {
-                    doneImage.dispose();
-                    doneImage = null;
-                }
-                if (currentImage != null) {
-                    currentImage.dispose();
-                    currentImage = null;
-                }
-            }
-        });
-
-        // Add a label to identify the step list field
-        Label label = new Label(composite, SWT.LEFT);
-        label.setText(IDEWorkbenchMessages
-                .getString("WizardStepGroup.stepsLabel")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.verticalAlignment = SWT.TOP;
-        label.setLayoutData(data);
-        label.setFont(font);
-
-        // Table viewer of all the steps
-        stepViewer = new TableViewer(composite, SWT.SINGLE | SWT.V_SCROLL
-                | SWT.BORDER | SWT.FULL_SELECTION);
-        data = new GridData(GridData.FILL_BOTH);
-        stepViewer.getTable().setLayoutData(data);
-        stepViewer.getTable().setFont(font);
-        stepViewer.setContentProvider(getStepProvider());
-        stepViewer.setLabelProvider(new StepLabelProvider());
-
-        if (selectionListener != null)
-            stepViewer.addSelectionChangedListener(selectionListener);
-
-        return composite;
-    }
-
-    /**
-     * Creates an image descriptor.
-     */
-    private Image createImage(String iconFileName) {
-        String iconPath = "icons/full/elcl16/"; //$NON-NLS-1$
-        ImageDescriptor desc = null;
-        try {
-            URL url_basic = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(url_basic, iconPath + iconFileName);
-            desc = ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            return null;
-        }
-
-        return desc.createImage();
-    }
-
-    /**
-     * Return the image indicating a step is current
-     */
-    private Image getCurrentImage() {
-        if (currentImage == null) {
-            currentImage = createImage("step_current.gif"); //$NON-NLS-1$
-        }
-        return currentImage;
-    }
-
-    /**
-     * Return the image indicating a step is done
-     */
-    private Image getDoneImage() {
-        if (doneImage == null) {
-            doneImage = createImage("step_done.gif"); //$NON-NLS-1$
-        }
-        return doneImage;
-    }
-
-    /**
-     * Returns the content provider for the step viewer
-     */
-    private IContentProvider getStepProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object parentElement) {
-                if (parentElement instanceof StepRoot)
-                    return ((StepRoot) parentElement).getSteps();
-                else
-                    return null;
-            }
-
-        };
-    }
-
-    /**
-     * Returns the steps.
-     */
-    public WizardStep[] getSteps() {
-        if (stepViewer != null) {
-            StepRoot root = (StepRoot) stepViewer.getInput();
-            if (root != null)
-                return root.getSteps();
-        }
-
-        return new WizardStep[0];
-    }
-
-    /**
-     * Marks the current step as being done
-     */
-    public void markStepAsDone() {
-        if (currentStep != null)
-            currentStep.markAsDone();
-    }
-
-    /**
-     * Sets the current step being worked on. Assumes
-     * the step provided exist in the steps within the
-     * group's viewer.
-     * 
-     * @param step the wizard step being worked on
-     */
-    public void setCurrentStep(WizardStep step) {
-        WizardStep oldStep = currentStep;
-        currentStep = step;
-        if (stepViewer != null) {
-            if (oldStep != null)
-                stepViewer.update(oldStep, null);
-            if (currentStep != null)
-                stepViewer.update(currentStep, null);
-
-            // Update the layout so that there is enough
-            // room for the icon now.
-            if (oldStep == null && currentStep != null)
-                parentComposite.layout(true);
-        }
-    }
-
-    /**
-     * Set the current listener interested when the selection
-     * state changes.
-     * 
-     * @param listener The selection listener to set
-     */
-    public void setSelectionListener(ISelectionChangedListener listener) {
-        if (selectionListener != null && stepViewer != null)
-            stepViewer.removeSelectionChangedListener(selectionListener);
-        selectionListener = listener;
-        if (selectionListener != null && stepViewer != null)
-            stepViewer.addSelectionChangedListener(selectionListener);
-    }
-
-    /**
-     * Sets the steps to be displayed. Ignored is the
-     * method createContents has not been called yet.
-     * 
-     * @param steps the collection of steps
-     */
-    public void setSteps(WizardStep[] steps) {
-        if (stepViewer != null) {
-            stepViewer.setInput(new StepRoot(steps));
-            parentComposite.layout(true);
-        }
-    }
-
-    /**
-     * Holder of all the steps within the viewer
-     */
-    private class StepRoot {
-        private WizardStep[] steps;
-
-        public StepRoot(WizardStep[] steps) {
-            super();
-            this.steps = steps;
-        }
-
-        public WizardStep[] getSteps() {
-            if (steps == null)
-                return new WizardStep[0];
-            else
-                return steps;
-        }
-    }
-
-    /**
-     * Label provider for step table viewer
-     */
-    private class StepLabelProvider extends LabelProvider {
-        public String getText(Object element) {
-            if (element instanceof WizardStep) {
-                WizardStep step = (WizardStep) element;
-                return String.valueOf(step.getNumber())
-                        + ". " + step.getLabel(); //$NON-NLS-1$
-            }
-
-            return ""; //$NON-NLS-1$
-        }
-
-        public Image getImage(Object element) {
-            if (element instanceof WizardStep) {
-                WizardStep step = (WizardStep) element;
-                if (step.isDone())
-                    return getDoneImage();
-                if (step == currentStep)
-                    return getCurrentImage();
-            }
-
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties
deleted file mode 100644
index f19c76e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgress.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-WorkInProgressPreferencePage.0_label=&Machine Speed:
-WorkInProgressPreferencePage.SlowTitle=Slow
-WorkInProgressPreferencePage.FastTitle=Fast
-WorkInProgressPreferencePage.MediumTitle=Medium
-WorkInProgressPreferencePage.SpeedExplanation=Adjust the speed setting to limit the number of concurrent jobs.\nThe faster the setting the more jobs that can run concurrently.
-WorkInProgressPreferencePage.AutoRefreshGroup=Auto Refresh
-WorkInProgressPreferencePage.AutoRefreshButton=Auto Refresh
-WorkInProgressPreferencePage.AutoRefreshToolTip=Toggle auto refresh
-WorkInProgressPreferencePage.PollingDelay=Polling Delay
-WorkInProgressPreferencePage.InvalidMessage=Invalid Integer format
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java
deleted file mode 100644
index 98ce2e9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/WorkInProgressMessages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.misc;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @since 3.0
- */
-public class WorkInProgressMessages {
-
-    private static final String BUNDLE_NAME = "org.eclipse.ui.internal.ide.misc.WorkInProgress"; //$NON-NLS-1$
-
-    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
-            .getBundle(BUNDLE_NAME);
-
-    /**
-     * 
-     * @since 3.0
-     */
-    private WorkInProgressMessages() {
-
-        // TODO Auto-generated constructor stub
-    }
-
-    /**
-     * @param key
-     * @return the string for the given key
-     * @since 3.0
-     */
-    public static String getString(String key) {
-        // TODO Auto-generated method stub
-        try {
-            return RESOURCE_BUNDLE.getString(key);
-        } catch (MissingResourceException e) {
-            return '!' + key + '!';
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ProjectPersistentPropertyTester.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ProjectPersistentPropertyTester.java
deleted file mode 100644
index b6984ab..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ProjectPersistentPropertyTester.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.ui.internal.ide.model;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.ui.IResourceActionFilter;
-
-/**
- * Property tester for detecting the exisitance of a particular persitent
- * property on all the projects of a ResourceMapping.
- *
- * @since 3.1
- */
-public class ProjectPersistentPropertyTester extends PropertyTester {
-    
-    private static final IActionFilter filter = new WorkbenchResource() {
-        
-    	/* (non-Javadoc)
-    	 * @see org.eclipse.ui.internal.ide.model.WorkbenchResource#getBaseImage(org.eclipse.core.resources.IResource)
-    	 */
-    	protected ImageDescriptor getBaseImage(IResource resource) {
-            return null;
-        }
-    };
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-     */
-    public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-        if (receiver instanceof ResourceMapping) {
-            if (property.equals(IResourceActionFilter.PROJECT_PERSISTENT_PROPERTY)) {
-                if(args == null) return false;
-                String persitentPropertyEntry = (String)args[0];
-                IProject[] projects = ((ResourceMapping)receiver).getProjects();
-                for (int i = 0; i < projects.length; i++) {
-                    IProject project = projects[i];
-                    if (!filter.testAttribute(project, property, persitentPropertyEntry))
-                        return false;
-                }
-                // All projects have the persistent property
-                return true;
-            }
-        }
-        return false;
-    }
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java
deleted file mode 100644
index 3228460..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/ResourceFactory.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * The ResourceFactory is used to save and recreate an IResource object.
- * As such, it implements the IPersistableElement interface for storage
- * and the IElementFactory interface for recreation.
- *
- * @see IMemento
- * @see IPersistableElement
- * @see IElementFactory
- */
-public class ResourceFactory implements IElementFactory, IPersistableElement {
-
-    // These persistence constants are stored in XML.  Do not
-    // change them.
-    private static final String TAG_PATH = "path";//$NON-NLS-1$
-
-    private static final String TAG_TYPE = "type";//$NON-NLS-1$
-
-    private static final String FACTORY_ID = "org.eclipse.ui.internal.model.ResourceFactory";//$NON-NLS-1$
-
-    // IPersistable data.
-    private IResource res;
-
-    /**
-     * Create a ResourceFactory.  This constructor is typically used
-     * for our IElementFactory side.
-     */
-    public ResourceFactory() {
-    }
-
-    /**
-     * Create a ResourceFactory.  This constructor is typically used
-     * for our IPersistableElement side.
-     */
-    public ResourceFactory(IResource input) {
-        res = input;
-    }
-
-    /**
-     * @see IElementFactory
-     */
-    public IAdaptable createElement(IMemento memento) {
-        // Get the file name.
-        String fileName = memento.getString(TAG_PATH);
-        if (fileName == null)
-            return null;
-
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        String type = memento.getString(TAG_TYPE);
-        if (type == null) {
-            // Old format memento. Create an IResource using findMember. 
-            // Will return null for resources in closed projects.
-            res = root.findMember(new Path(fileName));
-        } else {
-            int resourceType = Integer.parseInt(type);
-
-            if (resourceType == IResource.ROOT)
-                res = root;
-            else if (resourceType == IResource.PROJECT)
-                res = root.getProject(fileName);
-            else if (resourceType == IResource.FOLDER)
-                res = root.getFolder(new Path(fileName));
-            else if (resourceType == IResource.FILE)
-                res = root.getFile(new Path(fileName));
-        }
-        return res;
-    }
-
-    /**
-     * @see IPersistableElement
-     */
-    public String getFactoryId() {
-        return FACTORY_ID;
-    }
-
-    /**
-     * @see IPersistableElement
-     */
-    public void saveState(IMemento memento) {
-        memento.putString(TAG_PATH, res.getFullPath().toString());
-        memento.putString(TAG_TYPE, Integer.toString(res.getType()));
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.java
deleted file mode 100644
index 7f403ff..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/StandardPropertiesAdapterFactory.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.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.views.properties.FilePropertySource;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.ResourcePropertySource;
-
-/**
- * Dispenses an <code>IPropertySource</code> adapter for the core resource objects.
- */
-/* package */class StandardPropertiesAdapterFactory implements IAdapterFactory {
-    /* (non-Javadoc)
-     * Method declared on IAdapterFactory.
-     */
-    public Object getAdapter(Object o, Class adapterType) {
-        if (adapterType.isInstance(o)) {
-            return o;
-        }
-        if (adapterType == IPropertySource.class) {
-            if (o instanceof IResource) {
-                IResource resource = (IResource) o;
-                if (resource.getType() == IResource.FILE)
-                    return new FilePropertySource((IFile) o);
-                else
-                    return new ResourcePropertySource((IResource) o);
-            }
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdapterFactory.
-     */
-    public Class[] getAdapterList() {
-        return new Class[] { IPropertySource.class };
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.java
deleted file mode 100644
index 1ffaf22..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterBuilder.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.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Registers the adapters on core constructs
- * used in the workbench UI.
- */
-public final class WorkbenchAdapterBuilder {
-    /**
-     * Creates extenders and registers 
-     */
-    public static void registerAdapters() {
-        IAdapterManager manager = Platform.getAdapterManager();
-        IAdapterFactory factory = new WorkbenchAdapterFactory();
-        manager.registerAdapters(factory, IWorkspace.class);
-        manager.registerAdapters(factory, IWorkspaceRoot.class);
-        manager.registerAdapters(factory, IProject.class);
-        manager.registerAdapters(factory, IFolder.class);
-        manager.registerAdapters(factory, IFile.class);
-        manager.registerAdapters(factory, IMarker.class);
-
-        // properties adapters
-        IAdapterFactory paFactory = new StandardPropertiesAdapterFactory();
-        manager.registerAdapters(paFactory, IWorkspace.class);
-        manager.registerAdapters(paFactory, IWorkspaceRoot.class);
-        manager.registerAdapters(paFactory, IProject.class);
-        manager.registerAdapters(paFactory, IFolder.class);
-        manager.registerAdapters(paFactory, IFile.class);
-        manager.registerAdapters(paFactory, IMarker.class);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java
deleted file mode 100644
index 09864f3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchAdapterFactory.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Dispenses adapters for various core objects.
- * Returns IWorkbenchAdapter adapters, used for displaying,
- * navigating, and populating menus for core objects.
- */
-class WorkbenchAdapterFactory implements IAdapterFactory {
-    private Object workspaceAdapter = new WorkbenchWorkspace();
-
-    private Object rootAdapter = new WorkbenchRootResource();
-
-    private Object projectAdapter = new WorkbenchProject();
-
-    private Object folderAdapter = new WorkbenchFolder();
-
-    private Object fileAdapter = new WorkbenchFile();
-
-    private Object markerAdapter = new WorkbenchMarker();
-
-    private Object resourceFactory = new ResourceFactory();
-
-    private Object workspaceFactory = new WorkspaceFactory();
-
-    /**
-     * Returns the IActionFilter for an object.
-     */
-    protected Object getActionFilter(Object o) {
-        if (o instanceof IResource) {
-            switch (((IResource) o).getType()) {
-            case IResource.FILE:
-                return fileAdapter;
-            case IResource.FOLDER:
-                return folderAdapter;
-            case IResource.PROJECT:
-                return projectAdapter;
-            }
-        }
-        if (o instanceof IMarker) {
-            return markerAdapter;
-        }
-        return null;
-    }
-
-    /**
-     * Returns an object which is an instance of the given class
-     * associated with the given object. Returns <code>null</code> if
-     * no such object can be found.
-     *
-     * @param adaptableObject the adaptable object being queried
-     *   (usually an instance of <code>IAdaptable</code>)
-     * @param adapterType the type of adapter to look up
-     * @return a object castable to the given adapter type, 
-     *    or <code>null</code> if this adapter provider 
-     *    does not have an adapter of the given type for the
-     *    given object
-     */
-    public Object getAdapter(Object o, Class adapterType) {
-        if (adapterType.isInstance(o)) {
-            return o;
-        }
-        if (adapterType == IWorkbenchAdapter.class) {
-            return getWorkbenchElement(o);
-        }
-        if (adapterType == IPersistableElement.class) {
-            return getPersistableElement(o);
-        }
-        if (adapterType == IElementFactory.class) {
-            return getElementFactory(o);
-        }
-        if (adapterType == IActionFilter.class) {
-            return getActionFilter(o);
-        }
-        return null;
-    }
-
-    /**
-     * Returns the collection of adapater types handled by this
-     * provider.
-     * <p>
-     * This method is generally used by an adapter manager
-     * to discover which adapter types are supported, in adavance
-     * of dispatching any actual <code>getAdapter</code> requests.
-     * </p>
-     *
-     * @return the collection of adapter types
-     */
-    public Class[] getAdapterList() {
-        return new Class[] { IWorkbenchAdapter.class, IElementFactory.class,
-                IPersistableElement.class, IActionFilter.class };
-    }
-
-    /**
-     * Returns an object which is an instance of IElementFactory
-     * associated with the given object. Returns <code>null</code> if
-     * no such object can be found.
-     */
-    protected Object getElementFactory(Object o) {
-        if (o instanceof IResource) {
-            return resourceFactory;
-        }
-        if (o instanceof IWorkspace) {
-            return workspaceFactory;
-        }
-        return null;
-    }
-
-    /**
-     * Returns an object which is an instance of IPersistableElement
-     * associated with the given object. Returns <code>null</code> if
-     * no such object can be found.
-     */
-    protected Object getPersistableElement(Object o) {
-        if (o instanceof IResource) {
-            return new ResourceFactory((IResource) o);
-        }
-        if (o instanceof IWorkspace) {
-            return workspaceFactory;
-        }
-        return null;
-    }
-
-    /**
-     * Returns an object which is an instance of IWorkbenchAdapter
-     * associated with the given object. Returns <code>null</code> if
-     * no such object can be found.
-     */
-    protected Object getWorkbenchElement(Object o) {
-        if (o instanceof IResource) {
-            switch (((IResource) o).getType()) {
-            case IResource.FILE:
-                return fileAdapter;
-            case IResource.FOLDER:
-                return folderAdapter;
-            case IResource.PROJECT:
-                return projectAdapter;
-            }
-        }
-        if (o instanceof IWorkspaceRoot) {
-            return rootAdapter;
-        }
-        if (o instanceof IWorkspace) {
-            return workspaceAdapter;
-        }
-        if (o instanceof IMarker) {
-            return markerAdapter;
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java
deleted file mode 100644
index c21352b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFile.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * An IWorkbenchAdapter that represents IFiles.
- */
-public class WorkbenchFile extends WorkbenchResource {
-    /**
-     *	Answer the appropriate base image to use for the passed resource, optionally
-     *	considering the passed open status as well iff appropriate for the type of
-     *	passed resource
-     */
-    protected ImageDescriptor getBaseImage(IResource resource) {
-        // @issue move IDE specific images
-        ImageDescriptor image = PlatformUI.getWorkbench().getEditorRegistry()
-                .getImageDescriptor(resource.getName());
-        if (image == null)
-            image = PlatformUI.getWorkbench().getSharedImages()
-                    .getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-        return image;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.java
deleted file mode 100644
index a5cc225..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchFolder.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.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * An IWorkbenchAdapter that represents IFolders.
- */
-public class WorkbenchFolder extends WorkbenchResource {
-    /**
-     *	Answer the appropriate base image to use for the passed resource, optionally
-     *	considering the passed open status as well iff appropriate for the type of
-     *	passed resource
-     */
-    protected ImageDescriptor getBaseImage(IResource resource) {
-        return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
-                ISharedImages.IMG_OBJ_FOLDER);
-    }
-
-    /**
-     * Returns the children of this container.
-     */
-    public Object[] getChildren(Object o) {
-        try {
-            return ((IContainer) o).members();
-        } catch (CoreException e) {
-            return NO_CHILDREN;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
deleted file mode 100644
index c10a0c9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchMarker.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IMarkerActionFilter;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * Model object for adapting IMarker objects to the IWorkbenchAdapter
- * interface.
- */
-public class WorkbenchMarker extends WorkbenchAdapter implements
-        IMarkerActionFilter {
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-     */
-    public ImageDescriptor getImageDescriptor(Object o) {
-        if (!(o instanceof IMarker))
-            return null;
-        return IDEWorkbenchPlugin.getDefault().getMarkerImageProviderRegistry()
-                .getImageDescriptor((IMarker) o);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-     */
-    public String getLabel(Object o) {
-        IMarker marker = (IMarker) o;
-        return marker.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-     */
-    public Object getParent(Object o) {
-        return ((IMarker) o).getResource();
-    }
-
-    /**
-     * Returns whether the specific attribute matches the state of the target
-     * object.
-     *
-     * @param target the target object
-     * @param name the attribute name
-     * @param value the attriute value
-     * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
-     */
-    public boolean testAttribute(Object target, String name, String value) {
-        IMarker marker = (IMarker) target;
-        if (name.equals(TYPE)) {
-            try {
-                return value.equals(marker.getType());
-            } catch (CoreException e) {
-                return false;
-            }
-        } else if (name.equals(SUPER_TYPE)) {
-            try {
-                return marker.isSubtypeOf(value);
-            } catch (CoreException e) {
-                return false;
-            }
-        } else if (name.equals(PRIORITY)) {
-            return testIntegerAttribute(marker, IMarker.PRIORITY, value);
-        } else if (name.equals(SEVERITY)) {
-            return testIntegerAttribute(marker, IMarker.SEVERITY, value);
-        } else if (name.equals(MESSAGE)) {
-            try {
-                String msg = (String) marker.getAttribute(IMarker.MESSAGE);
-                if (msg == null)
-                    return false;
-                return SimpleWildcardTester.testWildcardIgnoreCase(value, msg);
-            } catch (CoreException e) {
-                return false;
-            }
-        } else if (name.equals(DONE)) {
-            try {
-                value = value.toLowerCase();
-                Boolean done = (Boolean) marker.getAttribute(IMarker.DONE);
-                if (done == null)
-                    return false;
-                return (done.booleanValue() == value.equals("true"));//$NON-NLS-1$
-            } catch (CoreException e) {
-                return false;
-            }
-        } else if (name.equals(RESOURCE_TYPE)) {
-            int desiredType = 0;
-
-            try {
-                desiredType = Integer.parseInt(value);
-            } catch (NumberFormatException eNumberFormat) {
-            }
-
-            if (!(desiredType == IResource.FILE
-                    || desiredType == IResource.FOLDER
-                    || desiredType == IResource.PROJECT || desiredType == IResource.ROOT))
-                return false;
-
-            return (marker.getResource().getType() & desiredType) > 0;
-        }
-        return false;
-    }
-
-    /**
-     * Returns whether the specific integer attribute matches a value.
-     */
-    private boolean testIntegerAttribute(IMarker marker, String attrName,
-            String value) {
-        Integer i1, i2;
-        try {
-            i1 = (Integer) marker.getAttribute(attrName);
-            if (i1 == null)
-                return false;
-        } catch (CoreException e) {
-            return false;
-        }
-        try {
-            i2 = Integer.valueOf(value);
-        } catch (NumberFormatException e) {
-            return false;
-        }
-        return i1.equals(i2);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java
deleted file mode 100644
index c35b3d6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchProject.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IProjectActionFilter;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.misc.OverlayIcon;
-
-/**
- * An IWorkbenchAdapter that represents IProject.
- */
-public class WorkbenchProject extends WorkbenchResource implements
-        IProjectActionFilter {
-    HashMap imageCache = new HashMap(11);
-
-    /**
-     *	Answer the appropriate base image to use for the passed resource, optionally
-     *	considering the passed open status as well iff appropriate for the type of
-     *	passed resource
-     */
-    protected ImageDescriptor getBaseImage(IResource resource) {
-        IProject project = (IProject) resource;
-        boolean isOpen = project.isOpen();
-        String baseKey = isOpen ? IDE.SharedImages.IMG_OBJ_PROJECT
-                : IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED;
-        if (isOpen) {
-            try {
-                String[] natureIds = project.getDescription().getNatureIds();
-                for (int i = 0; i < natureIds.length; ++i) {
-                    // Have to use a cache because OverlayIcon does not define its own equality criteria,
-                    // so WorkbenchLabelProvider would always create a new image otherwise.
-                    String imageKey = natureIds[i];
-                    ImageDescriptor overlayImage = (ImageDescriptor) imageCache
-                            .get(imageKey);
-                    if (overlayImage != null) {
-                        return overlayImage;
-                    }
-                    ImageDescriptor natureImage = IDEWorkbenchPlugin
-                            .getDefault().getProjectImageRegistry()
-                            .getNatureImage(natureIds[i]);
-                    if (natureImage != null) {
-                        ImageDescriptor baseImage = IDEInternalWorkbenchImages
-                                .getImageDescriptor(baseKey);
-                        overlayImage = new OverlayIcon(baseImage,
-                                new ImageDescriptor[][] { { natureImage } },
-                                new Point(16, 16));
-                        imageCache.put(imageKey, overlayImage);
-                        return overlayImage;
-                    }
-                }
-            } catch (CoreException e) {
-            }
-        }
-        return IDEInternalWorkbenchImages.getImageDescriptor(baseKey);
-    }
-
-    /**
-     * Returns the children of this container.
-     */
-    public Object[] getChildren(Object o) {
-        IProject project = (IProject) o;
-        if (project.isOpen()) {
-            try {
-                return project.members();
-            } catch (CoreException e) {
-                //don't get the children if there are problems with the project
-            }
-        }
-        return NO_CHILDREN;
-    }
-
-    /**
-     * Returns whether the specific attribute matches the state of the target
-     * object.
-     *
-     * @param target the target object
-     * @param name the attribute name
-     * @param value the attriute value
-     * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
-     */
-    public boolean testAttribute(Object target, String name, String value) {
-        IProject proj = (IProject) target;
-        if (name.equals(NATURE)) {
-            try {
-                return proj.isAccessible() && proj.hasNature(value);
-            } catch (CoreException e) {
-                return false;
-            }
-        } else if (name.equals(OPEN)) {
-            value = value.toLowerCase();
-            return (proj.isOpen() == value.equals("true"));//$NON-NLS-1$
-        }
-        return super.testAttribute(target, name, value);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java
deleted file mode 100644
index 9847378..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchResource.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IResourceActionFilter;
-import org.eclipse.ui.actions.SimpleWildcardTester;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * An IWorkbenchAdapter that represents IResources.
- */
-public abstract class WorkbenchResource extends WorkbenchAdapter implements
-        IResourceActionFilter {
-
-    /**
-     * An attribute used to store the last modified time
-     * so we may determine if the other XML based attributes
-     * found in IResourceActionFilter(XML_DTD_NAME and XML_FIRST_TAG)
-     * are stale and, therefore, the xml file must be reparsed for this
-     * information.
-     */
-    public static final String XML_LAST_MOD = "xmlLastMod"; //$NON-NLS-1$
-
-    /**
-     *	Answer the appropriate base image to use for the resource.
-     */
-    protected abstract ImageDescriptor getBaseImage(IResource resource);
-
-    /**
-     * Returns an image descriptor for this object.
-     */
-    public ImageDescriptor getImageDescriptor(Object o) {
-        IResource resource = getResource(o);
-        return resource == null ? null : getBaseImage(resource);
-    }
-
-    /**
-     * getLabel method comment.
-     */
-    public String getLabel(Object o) {
-        IResource resource = getResource(o);
-        return resource == null ? null : resource.getName();
-    }
-
-    /**
-     * Returns the parent of the given object.  Returns null if the
-     * parent is not available.
-     */
-    public Object getParent(Object o) {
-        IResource resource = getResource(o);
-        return resource == null ? null : resource.getParent();
-    }
-
-    /**
-     * Returns the resource corresponding to this object,
-     * or null if there is none.
-     */
-    protected IResource getResource(Object o) {
-        if (o instanceof IResource) {
-            return (IResource) o;
-        }
-        if (o instanceof IAdaptable) {
-            return (IResource) ((IAdaptable) o).getAdapter(IResource.class);
-        }
-        return null;
-    }
-
-    /**
-     * Returns whether the specific attribute matches the state of the target
-     * object.
-     *
-     * @param target the target object
-     * @param name the attribute name
-     * @param value the attribute value
-     * @return <code>true</code> if the attribute matches; <code>false</code> otherwise
-     */
-    public boolean testAttribute(Object target, String name, String value) {
-        if (!(target instanceof IResource)) {
-            return false;
-        }
-        IResource res = (IResource) target;
-        if (name.equals(NAME)) {
-            return SimpleWildcardTester.testWildcardIgnoreCase(value, res
-                    .getName());
-        } else if (name.equals(PATH)) {
-            return SimpleWildcardTester.testWildcardIgnoreCase(value, res
-                    .getFullPath().toString());
-        } else if (name.equals(EXTENSION)) {
-            return SimpleWildcardTester.testWildcardIgnoreCase(value, res
-                    .getFileExtension());
-        } else if (name.equals(READ_ONLY)) {
-            return (res.isReadOnly() == value.equalsIgnoreCase("true"));//$NON-NLS-1$
-        } else if (name.equals(PROJECT_NATURE)) {
-            try {
-                IProject proj = res.getProject();
-                return proj.isAccessible() && proj.hasNature(value);
-            } catch (CoreException e) {
-                return false;
-            }
-        } else if (name.equals(PERSISTENT_PROPERTY)) {
-            return testProperty(res, true, false, value);
-        } else if (name.equals(PROJECT_PERSISTENT_PROPERTY)) {
-            return testProperty(res, true, true, value);
-        } else if (name.equals(SESSION_PROPERTY)) {
-            return testProperty(res, false, false, value);
-        } else if (name.equals(PROJECT_SESSION_PROPERTY)) {
-            return testProperty(res, false, true, value);
-        } else if (name.equals(CONTENT_TYPE_ID)) {
-            return testContentTypeProperty(res, value);
-        }
-        return false;
-    }
-
-    /**
-     * Tests whether the content type for <code>resource</code> matches the
-     * <code>contentTypeId</code>. It is possible that this method call could
-     * cause the resource to be read. It is also possible (through poor plug-in
-     * design) for this method to load plug-ins.
-     * 
-     * @param resource
-     *            The resource for which the content type should be determined;
-     *            must not be <code>null</code>.
-     * @param contentTypeId
-     *            The expected content type; must not be <code>null</code>.
-     * @return <code>true</code> iff the best matching content type has an
-     *         identifier that matches <code>contentTypeId</code>;
-     *         <code>false</code> otherwise.
-     */
-    private final boolean testContentTypeProperty(final IResource resource,
-            final String contentTypeId) {
-        final String expectedValue = contentTypeId.trim();
-
-        if (!(resource instanceof IFile)) {
-            return false;
-        }
-
-        final IFile file = (IFile) resource;
-        String actualValue = null;
-
-        try {
-            final IContentDescription contentDescription = file
-                    .getContentDescription();
-
-            if (contentDescription != null) {
-                final IContentType contentType = contentDescription
-                        .getContentType();
-                actualValue = contentType.getId();
-            }
-        } catch (final CoreException e) {
-            // Log the error.
-            final String message = "Core exception while retrieving the content description"; //$NON-NLS-1$
-            IDEWorkbenchPlugin.log(message,
-                    new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                            IStatus.ERROR, message, e));
-        }
-
-        return expectedValue == null || expectedValue.equals(actualValue);
-    }
-
-    /**
-     * Tests whether a session or persistent property on the resource or its project
-     * matches the given value.
-     * 
-     * @param resource
-     *            the resource to check
-     * @param persistentFlag
-     *            <code>true</code> for a persistent property, <code>false</code>
-     *            for a session property
-     * @param projectFlag
-     *            <code>true</code> to check the resource's project,
-     *            <code>false</code> to check the resource itself
-     * @param value
-     *            the attribute value, which has either the form "propertyName" or
-     *            "propertyName=propertyValue"
-     * @return whether there is a match
-     */
-    private boolean testProperty(IResource resource, boolean persistentFlag,
-            boolean projectFlag, String value) {
-        String propertyName;
-        String expectedVal;
-        int i = value.indexOf('=');
-        if (i != -1) {
-            propertyName = value.substring(0, i).trim();
-            expectedVal = value.substring(i + 1).trim();
-        } else {
-            propertyName = value.trim();
-            expectedVal = null;
-        }
-        try {
-            QualifiedName key;
-            int dot = propertyName.lastIndexOf('.');
-            if (dot != -1) {
-                key = new QualifiedName(propertyName.substring(0, dot),
-                        propertyName.substring(dot + 1));
-            } else {
-                key = new QualifiedName(null, propertyName);
-            }
-            IResource resToCheck = projectFlag ? resource.getProject()
-                    : resource;
-            // getProject() on workspace root can be null
-            if (resToCheck == null) {
-                return false;
-            }
-            if (persistentFlag) {
-                String actualVal = resToCheck.getPersistentProperty(key);
-                if (actualVal == null) {
-                    return false;
-                }
-                return expectedVal == null || expectedVal.equals(actualVal);
-            } 
-
-            Object actualVal = resToCheck.getSessionProperty(key);
-             if (actualVal == null) 
-                 return false;
-              
-             return expectedVal == null
-                        || expectedVal.equals(actualVal.toString());
-            
-        } catch (CoreException e) {
-            // ignore
-        }
-        return false;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java
deleted file mode 100644
index 0054cdd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchRootResource.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * An IWorkbenchAdapter implementation for IWorkspaceRoot objects.
- */
-public class WorkbenchRootResource extends WorkbenchAdapter {
-    /**
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object)
-     * Returns the children of the root resource.
-     */
-    public Object[] getChildren(Object o) {
-        IWorkspaceRoot root = (IWorkspaceRoot) o;
-        return root.getProjects();
-    }
-
-    /**
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return null;
-    }
-
-    /**
-     * Returns the name of this element.  This will typically
-     * be used to assign a label to this object when displayed
-     * in the UI.
-     */
-    public String getLabel(Object o) {
-        //root resource has no name
-        return IDEWorkbenchMessages.getString("Workspace"); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.java
deleted file mode 100644
index 0c79a97..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatus.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.ui.internal.ide.model;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * UI manfestation of a status object.
- */
-public class WorkbenchStatus extends WorkbenchAdapter implements IAdaptable {
-    private IStatus status;
-
-    private Object[] children;
-
-    public WorkbenchStatus(IStatus status) {
-        this.status = status;
-    }
-
-    /**
-     * Returns an object which is an instance of the given class
-     * associated with this object. Returns <code>null</code> if
-     * no such object can be found.
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        return null;
-    }
-
-    /**
-     * Returns the children of this element.
-     */
-    public Object[] getChildren(Object o) {
-        if (children == null) {
-            IStatus[] childStatii = status.getChildren();
-            children = new Object[childStatii.length];
-            for (int i = 0; i < childStatii.length; i++) {
-                children[i] = new WorkbenchStatus(childStatii[i]);
-            }
-        }
-        return children;
-    }
-
-    /**
-     * @see IWorkbenchAdapter#getLabel
-     */
-    public String getLabel(Object o) {
-        return status.getMessage();
-    }
-
-    /**
-     * Returns the wrapped status object.
-     */
-    public IStatus getStatus() {
-        return status;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java
deleted file mode 100644
index a48605d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchStatusList.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-public class WorkbenchStatusList extends WorkbenchAdapter implements IAdaptable {
-    private ArrayList statii = new ArrayList(10);
-
-    public void add(IStatus status) {
-        statii.add(new WorkbenchStatus(status));
-    }
-
-    public void clear() {
-        statii.clear();
-    }
-
-    /**
-     * Returns an object which is an instance of the given class
-     * associated with this object. Returns <code>null</code> if
-     * no such object can be found.
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        return null;
-    }
-
-    /**
-     * Returns the children of this element.
-     */
-    public Object[] getChildren(Object o) {
-        return statii.toArray();
-    }
-
-    public void remove(WorkbenchStatus status) {
-        statii.remove(status);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java
deleted file mode 100644
index bf0be69..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkbenchWorkspace.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.model;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * IWorkbenchAdapter adapter for the IWorkspace object.
- */
-public class WorkbenchWorkspace extends WorkbenchAdapter {
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-     */
-    public Object[] getChildren(Object o) {
-        IWorkspace workspace = (IWorkspace) o;
-        return workspace.getRoot().getProjects();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return null;
-    }
-
-    /**
-     * getLabel method comment.
-     */
-    public String getLabel(Object o) {
-        //workspaces don't have a name
-        return IDEWorkbenchMessages.getString("Workspace"); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.java
deleted file mode 100644
index c9e58e8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/model/WorkspaceFactory.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.ui.internal.ide.model;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * The ResourceFactory is used to save and recreate an IResource object.
- * As such, it implements the IPersistableElement interface for storage
- * and the IElementFactory interface for recreation.
- *
- * @see IMemento
- * @see IPersistableElement
- * @see IElementFactory
- */
-public class WorkspaceFactory implements IElementFactory, IPersistableElement {
-    private static final String FACTORY_ID = "org.eclipse.ui.internal.model.WorkspaceFactory";//$NON-NLS-1$
-
-    /**
-     * Create a ResourceFactory.  This constructor is typically used
-     * for our IElementFactory side.
-     */
-    public WorkspaceFactory() {
-    }
-
-    /**
-     * @see IElementFactory
-     */
-    public IAdaptable createElement(IMemento memento) {
-        return ResourcesPlugin.getWorkspace();
-    }
-
-    /**
-     * @see IPersistableElement
-     */
-    public String getFactoryId() {
-        return FACTORY_ID;
-    }
-
-    /**
-     * @see IPersistableElement
-     */
-    public void saveState(IMemento memento) {
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/package.html
deleted file mode 100644
index d592579..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/package.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="Author" content="IBM">
-<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Package-level Javadoc</title>
-</head>
-
-<body>
-
-Internal implementation of the IDE-specific portion of the Eclipse Platform User
-Interface.
-<h2>Package Specification</h2>
-This package does not contain any API.
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java
deleted file mode 100644
index 28faa4e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/Capability.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ICapabilityInstallWizard;
-import org.eclipse.ui.ICapabilityUninstallWizard;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.ide.IDEWorkbenchMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A capability is the user interface aspect of a project's nature. There is
- * a 1-1 relationship between a capability and a nature. It is possible for
- * a nature to not have a capability, but the opposite is not true - that is,
- * a capability must represent a nature.
- * <p>
- * A capability can take control of the user interface of other capabilities. It
- * is then responsible for collecting the necessary information and adding the
- * natures represented by these capabilites.
- * </p>
- */
-public class Capability extends WorkbenchAdapter implements IAdaptable {
-    private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-    private static final String ATT_ICON = "icon"; //$NON-NLS-1$
-
-    private static final String ATT_NATURE_ID = "natureId"; //$NON-NLS-1$
-
-    private static final String ATT_CATEGORY = "category"; //$NON-NLS-1$
-
-    private static final String ATT_DESCRIPTION = "description"; //$NON-NLS-1$
-
-    private static final String ATT_INSTALL_WIZARD = "installWizard"; //$NON-NLS-1$
-
-    private static final String ATT_INSTALL_DETAILS = "installDetails"; //$NON-NLS-1$
-
-    private static final String ATT_UNINSTALL_WIZARD = "uninstallWizard"; //$NON-NLS-1$
-
-    private static final String ATT_UNINSTALL_DETAILS = "uninstallDetails"; //$NON-NLS-1$
-
-    private String id;
-
-    private String natureId;
-
-    private IProjectNatureDescriptor natureDescriptor;
-
-    private ImageDescriptor icon;
-
-    private IConfigurationElement element;
-
-    private ArrayList handleUIs;
-
-    private ArrayList perspectiveChoices;
-
-    /**
-     * Creates an instance of <code>Capability</code> using the
-     * information provided by the configuration element.
-     * 
-     * @param configElement the <code>IConfigurationElement<code> containing
-     * 		the attributes
-     * @param reader the <code>CapabilityRegistryReader<code> used to log missing attributes
-     * @throws a <code>WorkbenchException</code> if the ID, nature, or wizard is <code>null</code>
-     */
-    public Capability(IConfigurationElement configElement,
-            CapabilityRegistryReader reader) throws WorkbenchException {
-        super();
-
-        boolean missingAttribute = false;
-        String attr_id = configElement.getAttribute(ATT_ID);
-        String attr_nature = configElement.getAttribute(ATT_NATURE_ID);
-
-        if (attr_id == null) {
-            reader.logMissingAttribute(configElement, ATT_ID);
-            missingAttribute = true;
-        }
-        if (attr_nature == null) {
-            reader.logMissingAttribute(configElement, ATT_NATURE_ID);
-            missingAttribute = true;
-        }
-        if (configElement.getAttribute(ATT_INSTALL_WIZARD) == null) {
-            reader.logMissingAttribute(configElement, ATT_INSTALL_WIZARD);
-            missingAttribute = true;
-        }
-
-        if (missingAttribute)
-            throw new WorkbenchException(
-                    "Capability missing required attributes."); //$NON-NLS-1$
-
-        id = attr_id;
-        natureId = attr_nature;
-        element = configElement;
-        natureDescriptor = ResourcesPlugin.getWorkspace().getNatureDescriptor(
-                natureId);
-    }
-
-    /**
-     * Creates an instance of <code>Capability</code> as an unknown one
-     * for a given nature id.
-     * 
-     * @param natureId the nature id for the unknown capbility
-     */
-    public Capability(String natureId) {
-        super();
-        this.id = natureId;
-        this.natureId = natureId;
-    }
-
-    /**
-     * Adds the id of a capability for which this capability handles
-     * the user interface.
-     */
-    public void addHandleUI(String capabilityId) {
-        if (handleUIs == null)
-            handleUIs = new ArrayList(4);
-        handleUIs.add(capabilityId);
-    }
-
-    /**
-     * Adds the id of a perspective for which this capability
-     * wants to present as a choice in the user interface.
-     */
-    public void addPerspectiveChoice(String perspId) {
-        if (perspectiveChoices == null)
-            perspectiveChoices = new ArrayList(4);
-        perspectiveChoices.add(perspId);
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter.
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return getIconDescriptor();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter.
-     */
-    public String getLabel(Object o) {
-        return getName();
-    }
-
-    public String getName() {
-        if (isValid())
-            return natureDescriptor.getLabel();
-        else
-            return IDEWorkbenchMessages.format(
-                    "Capability.nameMissing", new Object[] { id }); //$NON-NLS-1$
-    }
-
-    public ImageDescriptor getIconDescriptor() {
-        if (icon == null && isValid()) {
-            IExtension extension = element.getDeclaringExtension();
-            String extendingPluginId = extension.getDeclaringPluginDescriptor()
-                    .getUniqueIdentifier();
-            String location = element.getAttribute(ATT_ICON);
-            if (location != null && location.length() > 0)
-                icon = AbstractUIPlugin.imageDescriptorFromPlugin(
-                        extendingPluginId, location);
-        }
-        return icon;
-    }
-
-    /**
-     * Returns the nature descriptor or <code>null</code> if
-     * none exist.
-     */
-    public IProjectNatureDescriptor getNatureDescriptor() {
-        return natureDescriptor;
-    }
-
-    public String getNatureId() {
-        return natureId;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable.
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        else
-            return null;
-    }
-
-    public String getCategoryPath() {
-        if (element == null)
-            return ""; //$NON-NLS-1$;
-        else
-            return element.getAttribute(ATT_CATEGORY);
-    }
-
-    /**
-     * Returns a new instance of the capability install
-     * wizard. Caller is responsible for calling the init
-     * method. If the wizard cannot be created, <code>null</code>
-     * is returned.
-     * 
-     * @return the non-initialized capability wizard or
-     * 		<code>null</code> if the wizard cannot be created.
-     */
-    public ICapabilityInstallWizard getInstallWizard() {
-        if (!isValid())
-            return null;
-
-        try {
-            return (ICapabilityInstallWizard) element
-                    .createExecutableExtension(ATT_INSTALL_WIZARD);
-        } catch (CoreException e) {
-            IDEWorkbenchPlugin
-                    .log(
-                            "Could not create capability install wizard.", e.getStatus()); //$NON-NLS-1$
-            return null;
-        }
-    }
-
-    /**
-     * Returns the description for the install wizard
-     * or <code>null</code> if none supplied.
-     */
-    public String getInstallDetails() {
-        if (!isValid())
-            return null;
-        return element.getAttribute(ATT_INSTALL_DETAILS);
-    }
-
-    /**
-     * Returns a new instance of the capability uninstall
-     * wizard. Caller is responsible for calling the init
-     * method. If the wizard cannot be created, <code>null</code>
-     * is returned.
-     * 
-     * @return the non-initialized capability wizard or
-     * 		<code>null</code> if the wizard cannot be created.
-     */
-    public ICapabilityUninstallWizard getUninstallWizard() {
-        if (!isValid())
-            return null;
-
-        try {
-            return (ICapabilityUninstallWizard) element
-                    .createExecutableExtension(ATT_UNINSTALL_WIZARD);
-        } catch (CoreException e) {
-            IDEWorkbenchPlugin
-                    .log(
-                            "Could not create capability uninstall wizard.", e.getStatus()); //$NON-NLS-1$
-            return null;
-        }
-    }
-
-    /**
-     * Returns the description for the uninstall wizard
-     * or <code>null</code> if none supplied.
-     */
-    public String getUninstallDetails() {
-        if (!isValid())
-            return null;
-        return element.getAttribute(ATT_UNINSTALL_DETAILS);
-    }
-
-    public String getDescription() {
-        if (!isValid())
-            return ""; //$NON-NLS-1$;
-        String description = element.getAttribute(ATT_DESCRIPTION);
-        if (description == null)
-            description = ""; //$NON-NLS-1$
-        return description;
-    }
-
-    /**
-     * Returns a list of ids of other capabilities for which this 
-     * capability handles the user interface, or <code>null</code>
-     * if not applicable.
-     */
-    public ArrayList getHandleUIs() {
-        return handleUIs;
-    }
-
-    /**
-     * Returns a list of ids of perspectives for which this 
-     * capability wants to present as choices, or <code>null</code>
-     * if not applicable.
-     */
-    public ArrayList getPerspectiveChoices() {
-        return perspectiveChoices;
-    }
-
-    /**
-     * Returns whether this capability is valid
-     */
-    public boolean isValid() {
-        return natureDescriptor != null;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java
deleted file mode 100644
index 66fbd5e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistry.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNatureDescriptor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.model.WorkbenchAdapter;
-
-/**
- * This class represents a registry of project capabilities and categories of 
- * capabilities.
- */
-public class CapabilityRegistry extends WorkbenchAdapter implements IAdaptable {
-    private static final String[] EMPTY_ID_LIST = new String[0];
-
-    private static final Capability[] EMPTY_CAP_LIST = new Capability[0];
-
-    private HashMap natureToCapability;
-
-    private ArrayList capabilities;
-
-    private ArrayList categories;
-
-    private Category miscCategory;
-
-    /**
-     * Creates a new instance of <code>CapabilityRegistry</code>
-     */
-    public CapabilityRegistry() {
-        capabilities = new ArrayList(30);
-        categories = new ArrayList(15);
-    }
-
-    /**
-     * Adds the given capability to the registry. Called by
-     * the CapabilityRegistryReader.
-     */
-    /* package */boolean addCapability(Capability capability) {
-        return capabilities.add(capability);
-    }
-
-    /**
-     * Adds the given capability category to the registry. Called
-     * by the CapabilityRegistryReader.
-     */
-    /* package */boolean addCategory(Category category) {
-        return categories.add(category);
-    }
-
-    /**
-     * Finds the capability for the given identifier, or
-     * <code>null</code> if none.
-     */
-    public Capability findCapability(String id) {
-        Iterator itr = capabilities.iterator();
-        while (itr.hasNext()) {
-            Capability cap = (Capability) itr.next();
-            if (id.equals(cap.getId())) {
-                return cap;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Finds the category for the given identifier, or
-     * <code>null</code> if none.
-     */
-    public Category findCategory(String id) {
-        Iterator itr = categories.iterator();
-        while (itr.hasNext()) {
-            Category cat = (Category) itr.next();
-            if (id.equals(cat.getRootPath())) {
-                return cat;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Finds the capability for each specified identifier.
-     * Any <code>null</code> entries in the resulting array
-     * are for identifiers to which no capability exist.
-     */
-    public Capability[] findCapabilities(String[] ids) {
-        int count = capabilities.size();
-        Capability[] results = new Capability[ids.length];
-
-        for (int i = 0; i < ids.length; i++) {
-            String id = ids[i];
-            for (int j = 0; j < count; j++) {
-                Capability cap = (Capability) capabilities.get(j);
-                if (cap.getId().equals(id)) {
-                    results[i] = cap;
-                    break;
-                }
-            }
-        }
-
-        return results;
-    }
-
-    /**
-     * Finds the category for each specified identifier.
-     * Any <code>null</code> entries in the resulting array
-     * are for identifiers to which no category exist.
-     * 
-     * @return an array of <code>ICategory</code>
-     */
-    public Category[] findCategories(String[] ids) {
-        int count = categories.size();
-        Category[] results = new Category[ids.length];
-
-        for (int i = 0; i < ids.length; i++) {
-            String id = ids[i];
-            for (int j = 0; j < count; j++) {
-                Category cat = (Category) categories.get(j);
-                if (cat.getId().equals(id)) {
-                    results[i] = cat;
-                    break;
-                }
-            }
-        }
-
-        return results;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable.
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        else
-            return null;
-    }
-
-    /**
-     * Returns the list of categories in the registry
-     * which contain at least one capability. Does not
-     * include the misc and unknown categories.
-     */
-    public ArrayList getUsedCategories() {
-        ArrayList results = new ArrayList(categories.size());
-        Iterator itr = categories.iterator();
-        while (itr.hasNext()) {
-            Category cat = (Category) itr.next();
-            if (cat.hasElements())
-                results.add(cat);
-        }
-        return results;
-    }
-
-    /**
-     * Returns the capability for the nature id
-     */
-    public Capability getCapabilityForNature(String natureId) {
-        return (Capability) natureToCapability.get(natureId);
-    }
-
-    /**
-     * Returns the list of capabilities in the registry
-     */
-    public ArrayList getCapabilities() {
-        return capabilities;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter.
-     */
-    public Object[] getChildren(Object o) {
-        return capabilities.toArray();
-    }
-
-    /**
-     * Returns the membership set ids that the specified
-     * capability belongs to.
-     */
-    public String[] getMembershipSetIds(Capability capability) {
-        IProjectNatureDescriptor desc = capability.getNatureDescriptor();
-        if (desc == null)
-            return EMPTY_ID_LIST;
-
-        return desc.getNatureSetIds();
-    }
-
-    /**
-     * Returns the miscellaneous category, or <code>null</code>
-     * if none.
-     */
-    public Category getMiscCategory() {
-        return miscCategory;
-    }
-
-    /**
-     * Returns the capability ids that are prerequisites
-     * of the specified capability.
-     */
-    public String[] getPrerequisiteIds(Capability capability) {
-        IProjectNatureDescriptor desc = capability.getNatureDescriptor();
-        if (desc == null)
-            return EMPTY_ID_LIST;
-
-        String[] natureIds = desc.getRequiredNatureIds();
-        if (natureIds.length == 0)
-            return EMPTY_ID_LIST;
-
-        ArrayList results = new ArrayList(natureIds.length);
-        for (int i = 0; i < natureIds.length; i++) {
-            Capability cap = (Capability) natureToCapability.get(natureIds[i]);
-            if (cap != null)
-                results.add(cap.getId());
-        }
-
-        if (results.size() == 0) {
-            return EMPTY_ID_LIST;
-        } else {
-            String[] ids = new String[results.size()];
-            results.toArray(ids);
-            return ids;
-        }
-    }
-
-    /**
-     * Returns the capabilities assigned to the specified project
-     */
-    public Capability[] getProjectCapabilities(IProject project) {
-        try {
-            String[] natureIds = project.getDescription().getNatureIds();
-            ArrayList results = new ArrayList(natureIds.length);
-            for (int i = 0; i < natureIds.length; i++) {
-                Capability cap = (Capability) natureToCapability
-                        .get(natureIds[i]);
-                if (cap == null) {
-                    cap = new Capability(natureIds[i]);
-                    mapCapability(cap);
-                }
-                results.add(cap);
-            }
-
-            if (results.size() == 0) {
-                return EMPTY_CAP_LIST;
-            } else {
-                Capability[] caps = new Capability[results.size()];
-                results.toArray(caps);
-                return caps;
-            }
-        } catch (CoreException e) {
-            return EMPTY_CAP_LIST;
-        }
-    }
-
-    /**
-     * Returns the capabilities assigned to the specified project
-     * that are consideed disabled by core.
-     */
-    public Capability[] getProjectDisabledCapabilities(IProject project) {
-        try {
-            String[] natureIds = project.getDescription().getNatureIds();
-            ArrayList results = new ArrayList(natureIds.length);
-            for (int i = 0; i < natureIds.length; i++) {
-                if (!project.isNatureEnabled(natureIds[i])) {
-                    Capability cap = (Capability) natureToCapability
-                            .get(natureIds[i]);
-                    if (cap == null) {
-                        cap = new Capability(natureIds[i]);
-                        mapCapability(cap);
-                    }
-                    results.add(cap);
-                }
-            }
-
-            if (results.size() == 0) {
-                return EMPTY_CAP_LIST;
-            } else {
-                Capability[] caps = new Capability[results.size()];
-                results.toArray(caps);
-                return caps;
-            }
-        } catch (CoreException e) {
-            return EMPTY_CAP_LIST;
-        }
-    }
-
-    /**
-     * Returns whether the registry contains any capabilities.
-     */
-    public boolean hasCapabilities() {
-        return !capabilities.isEmpty();
-    }
-
-    /**
-     * Returns whether the specified capability has any prerequisites.
-     */
-    public boolean hasPrerequisites(Capability capability) {
-        return getPrerequisiteIds(capability).length > 0;
-    }
-
-    /**
-     * Loads capabilities and capability categories from the platform's plugin
-     * registry.
-     */
-    public void load() {
-        CapabilityRegistryReader reader = new CapabilityRegistryReader();
-        reader.read(Platform.getPluginRegistry(), this);
-        mapCapabilities();
-    }
-
-    /**
-     * Maps each capability in the registry to a particular category.
-     * The category is defined in xml. If the capability's category is
-     * not found, then the capability is added to the "misc" category.
-     * <p>
-     * Maps each capability in the registry to a particular nature
-     * id.
-     */
-    /* package */void mapCapabilities() {
-        natureToCapability = new HashMap();
-
-        Iterator itr = capabilities.iterator();
-        while (itr.hasNext())
-            mapCapability((Capability) itr.next());
-    }
-
-    private void mapCapability(Capability cap) {
-        // Map to category
-        if (!cap.isValid()) {
-            if (miscCategory == null)
-                miscCategory = new Category();
-            miscCategory.addElement(cap);
-        } else {
-            Category cat = null;
-            String catPath = cap.getCategoryPath();
-            if (catPath != null)
-                cat = (Category) findCategory(catPath);
-            if (cat != null) {
-                cat.addElement(cap);
-            } else {
-                if (miscCategory == null)
-                    miscCategory = new Category();
-                miscCategory.addElement(cap);
-            }
-        }
-
-        // Map to nature id
-        natureToCapability.put(cap.getNatureId(), cap);
-    }
-
-    /**
-     * Removes from the capability collection all capabilities
-     * whose UI is handle by another capability in the collection.
-     * The provided collection must be in proper prerequisite order.
-     * 
-     * @param capabilities the capabilities to be pruned
-     * @return a collection of capabilities pruned
-     */
-    public Capability[] pruneCapabilities(Capability[] capabilities) {
-        ArrayList ids = new ArrayList(capabilities.length);
-        for (int i = 0; i < capabilities.length; i++)
-            ids.add(capabilities[i].getId());
-
-        for (int i = 0; i < capabilities.length; i++) {
-            ArrayList handleIds = capabilities[i].getHandleUIs();
-            if (handleIds != null)
-                ids.removeAll(handleIds);
-        }
-
-        String[] results = new String[ids.size()];
-        ids.toArray(results);
-        return findCapabilities(results);
-    }
-
-    /**
-     * Checks that the collection is valid. If so, the collection is
-     * ordered based on prerequisite.
-     * 
-     * @param capabilities the capabilities to be checked and ordered
-     * @return a status object with code <code>IStatus.OK</code> if
-     *		the given set of natures is valid, otherwise a status 
-     *		object indicating what is wrong with the set. Also, the
-     * 		collection of capabilities specified is ordered based on
-     * 		prerequisite.
-     */
-    public IStatus validateCapabilities(Capability[] capabilities) {
-        String natures[] = new String[capabilities.length];
-        for (int i = 0; i < capabilities.length; i++)
-            natures[i] = capabilities[i].getNatureId();
-
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IStatus status = workspace.validateNatureSet(natures);
-        if (status.isOK()) {
-            natures = workspace.sortNatureSet(natures);
-            for (int i = 0; i < natures.length; i++)
-                capabilities[i] = (Capability) natureToCapability
-                        .get(natures[i]);
-        }
-
-        return status;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.java
deleted file mode 100644
index 7d5940e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/CapabilityRegistryReader.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.ui.internal.ide.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.internal.ide.Category;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * This class is used to read project capabilities and capability
- * categories from the platform's plugin registry and store the results in
- * a capability registry.
- */
-public class CapabilityRegistryReader extends IDERegistryReader {
-    private static final String TAG_CAPABILITY = "capability"; //$NON-NLS-1$
-
-    private static final String TAG_CATEGORY = "category"; //$NON-NLS-1$
-
-    private static final String TAG_HANDLE_UI = "handleUI"; //$NON-NLS-1$
-
-    private static final String TAG_PERSPECTIVE_CHOICE = "perspectiveChoice"; //$NON-NLS-1$
-
-    private static final String ATT_ID = "id"; //$NON-NLS-1$
-
-    private CapabilityRegistry capabilityRegistry;
-
-    private Capability currentCapability;
-
-    /**
-     * Reads an element of the plugin registry and adds it to the capability
-     * registry if it is a capability or category (or a handleUI element, a
-     * child of a capability. A handleUI element represents another capability
-     * for which this capability controls the user interface).
-     */
-    protected boolean readElement(IConfigurationElement element) {
-        String name = element.getName();
-        if (name.equals(TAG_CAPABILITY))
-            return readCapability(element);
-        if (name.equals(TAG_CATEGORY))
-            return readCategory(element);
-        if (name.equals(TAG_HANDLE_UI))
-            return readHandleUI(element);
-        if (name.equals(TAG_PERSPECTIVE_CHOICE))
-            return readPerspectiveChoice(element);
-        return false;
-    }
-
-    /**
-     * Reads a capability and adds it to the capability registry. Reads all
-     * children elements (which will be handleUI elements) as well and adds
-     * them to the capability.
-     */
-    private boolean readCapability(IConfigurationElement element) {
-        try {
-            Capability capability = new Capability(element, this);
-            capabilityRegistry.addCapability(capability);
-            currentCapability = capability;
-            readElementChildren(element);
-            currentCapability = null;
-            return true;
-        } catch (WorkbenchException e) {
-            currentCapability = null;
-            return false;
-        }
-    }
-
-    /**
-     * Reads a capability category and adds it to the capability registry.
-     */
-    private boolean readCategory(IConfigurationElement element) {
-        try {
-            Category category = new Category(element);
-            capabilityRegistry.addCategory(category);
-        } catch (WorkbenchException e) {
-            // log an error since its not safe to show a dialog here
-            IDEWorkbenchPlugin.log(
-                    "Unable to create capability category. ", e.getStatus()); //$NON-NLS-1$
-        }
-        return true;
-    }
-
-    /**
-     * Reads handleUI elements. These elements contain the ids of other
-     * capabilities. The capability that is the parent of the handleUI element
-     * controls the user interface for the capabilities whose ids are stored
-     * in the handleUI element.
-     */
-    private boolean readHandleUI(IConfigurationElement element) {
-        String capabilityId = element.getAttribute(ATT_ID);
-
-        if (capabilityId == null) {
-            logMissingAttribute(element, ATT_ID);
-        }
-
-        if (currentCapability != null)
-            currentCapability.addHandleUI(capabilityId);
-        return true;
-    }
-
-    /**
-     * Reads perspectiveChoice elements. These elements contain the ids of
-     * perspectives.
-     */
-    private boolean readPerspectiveChoice(IConfigurationElement element) {
-        String perspId = element.getAttribute(ATT_ID);
-
-        if (perspId == null) {
-            logMissingAttribute(element, ATT_ID);
-        }
-
-        if (currentCapability != null)
-            currentCapability.addPerspectiveChoice(perspId);
-        return true;
-    }
-
-    /**
-     * Reads project capabilities and capability categories from the provided
-     * plugin registry and stores them in the provided capability registry.
-     */
-    public void read(IPluginRegistry registry, CapabilityRegistry out) {
-        capabilityRegistry = out;
-        readRegistry(registry, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                IDEWorkbenchPlugin.PL_CAPABILITIES);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
deleted file mode 100644
index e596d94..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/IDERegistryReader.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Template implementation of a registry reader that creates objects
- * representing registry contents. Typically, an extension
- * contains one element, but this reader handles multiple
- * elements per extension.
- *
- * To start reading the extensions from the registry for an
- * extension point, call the method <code>readRegistry</code>.
- *
- * To read children of an IConfigurationElement, call the
- * method <code>readElementChildren</code> from your implementation
- * of the method <code>readElement</code>, as it will not be
- * done by default.
- */
-public abstract class IDERegistryReader {
-    protected static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-
-    protected static Hashtable extensionPoints = new Hashtable();
-
-    private static final Comparator comparer = new Comparator() {
-        public int compare(Object arg0, Object arg1) {
-            String s1 = ((IExtension) arg0).getDeclaringPluginDescriptor()
-                    .getUniqueIdentifier();
-            String s2 = ((IExtension) arg1).getDeclaringPluginDescriptor()
-                    .getUniqueIdentifier();
-            return s1.compareToIgnoreCase(s2);
-        }
-    };
-
-    /**
-     * The constructor.
-     */
-    protected IDERegistryReader() {
-    }
-
-    /**
-     * This method extracts description as a subelement of
-     * the given element.
-     * @return description string if defined, or empty string
-     * if not.
-     */
-    protected String getDescription(IConfigurationElement config) {
-        IConfigurationElement[] children = config.getChildren(TAG_DESCRIPTION);
-        if (children.length >= 1) {
-            return children[0].getValue();
-        }
-        return "";//$NON-NLS-1$
-    }
-
-    /**
-     * Logs the error in the workbench log using the provided
-     * text and the information in the configuration element.
-     */
-    protected void logError(IConfigurationElement element, String text) {
-        IExtension extension = element.getDeclaringExtension();
-        IPluginDescriptor descriptor = extension.getDeclaringPluginDescriptor();
-        StringBuffer buf = new StringBuffer();
-        buf
-                .append("Plugin " + descriptor.getUniqueIdentifier() + ", extension " + extension.getExtensionPointUniqueIdentifier());//$NON-NLS-2$//$NON-NLS-1$
-        buf.append("\n" + text);//$NON-NLS-1$
-        IDEWorkbenchPlugin.log(buf.toString());
-    }
-
-    /**
-     * Logs a very common registry error when a required attribute is missing.
-     */
-    protected void logMissingAttribute(IConfigurationElement element,
-            String attributeName) {
-        logError(element,
-                "Required attribute '" + attributeName + "' not defined");//$NON-NLS-2$//$NON-NLS-1$
-    }
-
-    /**
-     * Logs a very common registry error when a required child is missing.
-     */
-    protected void logMissingElement(IConfigurationElement element,
-            String elementName) {
-        logError(element,
-                "Required sub element '" + elementName + "' not defined");//$NON-NLS-2$//$NON-NLS-1$
-    }
-
-    /**
-     * Logs a registry error when the configuration element is unknown.
-     */
-    protected void logUnknownElement(IConfigurationElement element) {
-        logError(element, "Unknown extension tag found: " + element.getName());//$NON-NLS-1$
-    }
-
-    /**
-     *	Apply a reproducable order to the list of extensions
-     * provided, such that the order will not change as
-     * extensions are added or removed.
-     */
-    protected IExtension[] orderExtensions(IExtension[] extensions) {
-        // By default, the order is based on plugin id sorted
-        // in ascending order. The order for a plugin providing
-        // more than one extension for an extension point is
-        // dependent in the order listed in the XML file.
-        IExtension[] sortedExtension = new IExtension[extensions.length];
-        System.arraycopy(extensions, 0, sortedExtension, 0, extensions.length);
-        Collections.sort(Arrays.asList(sortedExtension), comparer);
-        return sortedExtension;
-    }
-
-    /**
-     * Implement this method to read element's attributes.
-     * If children should also be read, then implementor
-     * is responsible for calling <code>readElementChildren</code>.
-     * Implementor is also responsible for logging missing 
-     * attributes.
-     *
-     * @return true if element was recognized, false if not.
-     */
-    protected abstract boolean readElement(IConfigurationElement element);
-
-    /**
-     * Read the element's children. This is called by
-     * the subclass' readElement method when it wants
-     * to read the children of the element.
-     */
-    protected void readElementChildren(IConfigurationElement element) {
-        readElements(element.getChildren());
-    }
-
-    /**
-     * Read each element one at a time by calling the
-     * subclass implementation of <code>readElement</code>.
-     *
-     * Logs an error if the element was not recognized.
-     */
-    protected void readElements(IConfigurationElement[] elements) {
-        for (int i = 0; i < elements.length; i++) {
-            if (!readElement(elements[i]))
-                logUnknownElement(elements[i]);
-        }
-    }
-
-    /**
-     * Read one extension by looping through its
-     * configuration elements.
-     */
-    protected void readExtension(IExtension extension) {
-        readElements(extension.getConfigurationElements());
-    }
-
-    /**
-     *	Start the registry reading process using the
-     * supplied plugin ID and extension point.
-     */
-    protected void readRegistry(IPluginRegistry registry, String pluginId,
-            String extensionPoint) {
-        String pointId = pluginId + "-" + extensionPoint; //$NON-NLS-1$
-        IExtension[] extensions = (IExtension[]) extensionPoints.get(pointId);
-        if (extensions == null) {
-            IExtensionPoint point = registry.getExtensionPoint(pluginId,
-                    extensionPoint);
-            if (point == null)
-                return;
-            extensions = point.getExtensions();
-            extensions = orderExtensions(extensions);
-            extensionPoints.put(pointId, extensions);
-        }
-        for (int i = 0; i < extensions.length; i++)
-            readExtension(extensions[i]);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java
deleted file mode 100644
index bf38847..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistry.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.ide.registry;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IMarkerHelpRegistry;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.ui.IMarkerResolutionGenerator2;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * This class is a registry for marker help
- * contexts and resolutions.
- */
-public class MarkerHelpRegistry implements IMarkerHelpRegistry {
-    /**
-     * Table of queries for marker F1 help.
-     */
-    private Map helpQueries = new HashMap();
-
-    /**
-     * Sorted list of help queries.
-     * Used to ensure that the "most specific"
-     * query is tried first
-     */
-    private List sortedHelpQueries;
-
-    /**
-     * Table of queries for marker resolutions
-     */
-    private Map resolutionQueries = new HashMap();
-
-    /**
-     * Help context id attribute in configuration element
-     */
-    private static final String ATT_HELP = "helpContextId"; //$NON-NLS-1$
-
-    /**
-     * Resolution class attribute name in configuration element
-     */
-    private static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-    private class QueryComparator implements Comparator {
-        /* (non-Javadoc)
-         * Method declared on Object.
-         */
-        public boolean equals(Object o) {
-            if (!(o instanceof QueryComparator))
-                return false;
-            return true;
-        }
-
-        /* (non-Javadoc)
-         * Method declared on Comparator.
-         */
-        public int compare(Object o1, Object o2) {
-            // more attribues come first
-            MarkerQuery q1 = (MarkerQuery) o1;
-            MarkerQuery q2 = (MarkerQuery) o2;
-
-            int size1 = q1.getAttributes().length;
-            int size2 = q2.getAttributes().length;
-
-            if (size1 > size2)
-                return -1;
-            if (size1 == size2)
-                return 0;
-            return 1;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IMarkerHelpRegistry.
-     */
-    public String getHelp(IMarker marker) {
-        if (sortedHelpQueries == null) {
-            Set set = helpQueries.keySet();
-            sortedHelpQueries = new ArrayList(set.size());
-            sortedHelpQueries.addAll(set);
-            Collections.sort(sortedHelpQueries, new QueryComparator());
-        }
-
-        // Return the first match (we assume there is only one)
-        for (Iterator iter = sortedHelpQueries.iterator(); iter.hasNext();) {
-            MarkerQuery query = (MarkerQuery) iter.next();
-            MarkerQueryResult result = query.performQuery(marker);
-            if (result != null) {
-                // See if a matching result is registered
-                Map resultsTable = (Map) helpQueries.get(query);
-                IConfigurationElement element = (IConfigurationElement) resultsTable
-                        .get(result);
-                if (element != null)
-                    // We have a match so return the help context id
-                    return element.getAttribute(ATT_HELP);
-            }
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IMarkerHelpRegistry.
-     */
-    public boolean hasResolutions(IMarker marker) {
-        // Detect a match
-        for (Iterator iter = resolutionQueries.keySet().iterator(); iter
-                .hasNext();) {
-            MarkerQuery query = (MarkerQuery) iter.next();
-            MarkerQueryResult result = query.performQuery(marker);
-            if (result != null) {
-                // See if a matching result is registered
-                Map resultsTable = (Map) resolutionQueries.get(query);
-                IConfigurationElement element = (IConfigurationElement) resultsTable
-                        .get(result);
-                if (element != null) {
-                    IMarkerResolutionGenerator generator = null;
-                    if (element.getDeclaringExtension()
-                            .getDeclaringPluginDescriptor().isPluginActivated()) {
-                        // The element's plugin is loaded so we instantiate the resolution
-                        try {
-                            generator = (IMarkerResolutionGenerator) element
-                                    .createExecutableExtension(ATT_CLASS);
-                        } catch (CoreException e) {
-                            IDEWorkbenchPlugin
-                                    .log(
-                                            "Unable to instantiate resolution generator", e.getStatus()); //$NON-NLS-1$
-                        }
-                        if (generator != null) {
-                            if (generator instanceof IMarkerResolutionGenerator2) {
-                                if (((IMarkerResolutionGenerator2) generator)
-                                        .hasResolutions(marker))
-                                    return true;
-                            } else {
-                                IMarkerResolution[] resolutions = generator
-                                        .getResolutions(marker);
-                                if (resolutions.length > 0)
-                                    // there is at least one resolution
-                                    return true;
-                            }
-                        }
-                    } else {
-                        // The element's plugin in not loaded so we assume 
-                        // the generator will produce resolutions for the marker
-                        return true;
-                    }
-                }
-            }
-        }
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IMarkerHelpRegistry.
-     */
-    public IMarkerResolution[] getResolutions(IMarker marker) {
-        // Collect all matches
-        ArrayList resolutions = new ArrayList();
-        for (Iterator iter = resolutionQueries.keySet().iterator(); iter
-                .hasNext();) {
-            MarkerQuery query = (MarkerQuery) iter.next();
-            MarkerQueryResult result = query.performQuery(marker);
-            if (result != null) {
-                // See if a matching result is registered
-                Map resultsTable = (Map) resolutionQueries.get(query);
-                IConfigurationElement element = (IConfigurationElement) resultsTable
-                        .get(result);
-                if (element != null) {
-                    IMarkerResolutionGenerator generator = null;
-                    try {
-                        generator = (IMarkerResolutionGenerator) element
-                                .createExecutableExtension(ATT_CLASS);
-                    } catch (CoreException e) {
-                        IDEWorkbenchPlugin
-                                .log(
-                                        "Unable to instantiate resolution generator", e.getStatus()); //$NON-NLS-1$
-                    }
-                    if (generator != null) {
-                        IMarkerResolution[] generatedResolutions = generator
-                                .getResolutions(marker);
-                        for (int i = 0; i < generatedResolutions.length; i++) {
-                            resolutions.add(generatedResolutions[i]);
-                        }
-                    }
-                }
-            }
-        }
-        return (IMarkerResolution[]) resolutions
-                .toArray(new IMarkerResolution[resolutions.size()]);
-    }
-
-    /**
-     * Adds a help query to the registry.
-     * 
-     * @param query a marker query
-     * @param result a result for the given query
-     * @param element the configuration element defining the result
-     */
-    public void addHelpQuery(MarkerQuery query, MarkerQueryResult result,
-            IConfigurationElement element) {
-
-        addQuery(helpQueries, query, result, element);
-    }
-
-    /**
-     * Adds a resolution query to the registry.
-     * 
-     * @param query a marker query
-     * @param result a result for the given query
-     * @param element the configuration element defining the result
-     */
-    public void addResolutionQuery(MarkerQuery query, MarkerQueryResult result,
-            IConfigurationElement element) {
-
-        addQuery(resolutionQueries, query, result, element);
-    }
-
-    /**
-     * Adds a query to the given table.
-     * 
-     * @param table the table to which the query is added
-     * @param query a marker query
-     * @param result a result for the given query
-     * @param element the configuration element defining the result
-     */
-    private void addQuery(Map table, MarkerQuery query,
-            MarkerQueryResult result, IConfigurationElement element) {
-
-        // See if the query is already in the table
-        Map results = (Map) table.get(query);
-        if (results == null) {
-            // Create a new results table
-            results = new HashMap();
-
-            // Add the query to the table
-            table.put(query, results);
-        }
-
-        // Add the new result
-        results.put(result, element);
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java
deleted file mode 100644
index c3d2848..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerHelpRegistryReader.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * This class is used to read marker help context ids and 
- * resolutions from the platform registry.
- */
-public class MarkerHelpRegistryReader extends IDERegistryReader {
-    private MarkerHelpRegistry markerHelpRegistry;
-
-    private ArrayList currentAttributeNames;
-
-    private ArrayList currentAttributeValues;
-
-    private static final String TAG_HELP = "markerHelp";//$NON-NLS-1$
-
-    private static final String TAG_RESOLUTION_GENERATOR = "markerResolutionGenerator";//$NON-NLS-1$
-
-    private static final String TAG_ATTRIBUTE = "attribute";//$NON-NLS-1$ 
-
-    private static final String ATT_TYPE = "markerType";//$NON-NLS-1$
-
-    private static final String ATT_NAME = "name";//$NON-NLS-1$
-
-    private static final String ATT_VALUE = "value";//$NON-NLS-1$
-
-    /**
-     * Get the marker help that is defined in the plugin registry
-     * and add it to the given marker help registry.
-     * <p>
-     * Warning:
-     * The marker help registry must be passed in because this 
-     * method is called during the process of setting up the 
-     * marker help registry and at this time it has not been
-     * safely setup with the plugin.
-     * </p>
-     */
-    public void addHelp(MarkerHelpRegistry registry) {
-        IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-        markerHelpRegistry = registry;
-        readRegistry(pluginRegistry, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                IDEWorkbenchPlugin.PL_MARKER_HELP);
-        readRegistry(pluginRegistry, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                IDEWorkbenchPlugin.PL_MARKER_RESOLUTION);
-    }
-
-    /**
-     * Processes one configuration element or child element.
-     */
-    protected boolean readElement(IConfigurationElement element) {
-        if (element.getName().equals(TAG_HELP)) {
-            readHelpElement(element);
-            return true;
-        }
-        if (element.getName().equals(TAG_RESOLUTION_GENERATOR)) {
-            readResolutionElement(element);
-            return true;
-        }
-        if (element.getName().equals(TAG_ATTRIBUTE)) {
-            readAttributeElement(element);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Processes a help configuration element.
-     */
-    private void readHelpElement(IConfigurationElement element) {
-        // read type
-        String type = element.getAttribute(ATT_TYPE);
-
-        // read attributes and values
-        currentAttributeNames = new ArrayList();
-        currentAttributeValues = new ArrayList();
-        readElementChildren(element);
-        String[] attributeNames = (String[]) currentAttributeNames
-                .toArray(new String[currentAttributeNames.size()]);
-        String[] attributeValues = (String[]) currentAttributeValues
-                .toArray(new String[currentAttributeValues.size()]);
-
-        // add query to the registry
-        MarkerQuery query = new MarkerQuery(type, attributeNames);
-        MarkerQueryResult result = new MarkerQueryResult(attributeValues);
-        markerHelpRegistry.addHelpQuery(query, result, element);
-    }
-
-    /**
-     * Processes a resolution configuration element.
-     */
-    private void readResolutionElement(IConfigurationElement element) {
-        // read type
-        String type = element.getAttribute(ATT_TYPE);
-
-        // read attributes and values
-        currentAttributeNames = new ArrayList();
-        currentAttributeValues = new ArrayList();
-        readElementChildren(element);
-        String[] attributeNames = (String[]) currentAttributeNames
-                .toArray(new String[currentAttributeNames.size()]);
-        String[] attributeValues = (String[]) currentAttributeValues
-                .toArray(new String[currentAttributeValues.size()]);
-
-        // add query to the registry
-        MarkerQuery query = new MarkerQuery(type, attributeNames);
-        MarkerQueryResult result = new MarkerQueryResult(attributeValues);
-        markerHelpRegistry.addResolutionQuery(query, result, element);
-    }
-
-    /**
-     * Processes an attribute sub element.
-     */
-    private void readAttributeElement(IConfigurationElement element) {
-        String name = element.getAttribute(ATT_NAME);
-        String value = element.getAttribute(ATT_VALUE);
-        if (name != null && value != null) {
-            currentAttributeNames.add(name);
-            currentAttributeValues.add(value);
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java
deleted file mode 100644
index b5d8e80..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerImageProviderRegistry.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IMarkerImageProvider;
-
-/**
- * Implementation of a marker image registry which maps either
- * a marker type to a provider or to a static image.
- */
-public class MarkerImageProviderRegistry {
-    private static final String ATT_PROVIDER_CLASS = "class";//$NON-NLS-1$
-
-    private static final String ATT_ICON = "icon";//$NON-NLS-1$
-
-    private static final String ATT_MARKER_TYPE = "markertype";//$NON-NLS-1$
-
-    private static final String ATT_ID = "id";//$NON-NLS-1$
-
-    private static final String MARKER_ATT_KEY = "org.eclipse.ui.internal.registry.MarkerImageProviderRegistry";//$NON-NLS-1$
-
-    private static final String TAG_PROVIDER = "imageprovider";//$NON-NLS-1$
-
-    private ArrayList descriptors = new ArrayList();
-
-    class Descriptor {
-        String id;
-
-        String markerType;
-
-        String className;
-
-        String imagePath;
-
-        ImageDescriptor imageDescriptor;
-
-        IConfigurationElement element;
-
-        IPluginDescriptor pluginDescriptor;
-
-        IMarkerImageProvider provider;
-    }
-
-    /**
-     * Initialize this new MarkerImageProviderRegistry.
-     */
-    public MarkerImageProviderRegistry() {
-        class MarkerImageReader extends IDERegistryReader {
-            protected boolean readElement(IConfigurationElement element) {
-                if (element.getName().equals(TAG_PROVIDER)) {
-                    addProvider(element);
-                    return true;
-                }
-
-                return false;
-            }
-
-            public void readRegistry() {
-                readRegistry(Platform.getPluginRegistry(),
-                        IDEWorkbenchPlugin.IDE_WORKBENCH,
-                        IDEWorkbenchPlugin.PL_MARKER_IMAGE_PROVIDER);
-            }
-        }
-
-        new MarkerImageReader().readRegistry();
-    }
-
-    /**
-     * Creates a descriptor for the marker provider extension
-     * and add it to the list of providers.
-     */
-    public void addProvider(IConfigurationElement element) {
-        Descriptor desc = new Descriptor();
-        desc.element = element;
-        desc.pluginDescriptor = element.getDeclaringExtension()
-                .getDeclaringPluginDescriptor();
-        desc.id = element.getAttribute(ATT_ID);
-        desc.markerType = element.getAttribute(ATT_MARKER_TYPE);
-        desc.imagePath = element.getAttribute(ATT_ICON);
-        desc.className = element.getAttribute(ATT_PROVIDER_CLASS);
-        if (desc.imagePath != null) {
-            desc.imageDescriptor = getImageDescriptor(desc);
-        }
-        if (desc.className == null) {
-            //Don't need to keep these references.
-            desc.element = null;
-            desc.pluginDescriptor = null;
-        }
-        descriptors.add(desc);
-    }
-
-    /**
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object)
-     */
-    public ImageDescriptor getImageDescriptor(IMarker marker) {
-        int size = descriptors.size();
-        for (int i = 0; i < size; i++) {
-            Descriptor desc = (Descriptor) descriptors.get(i);
-            try {
-                if (marker.isSubtypeOf(desc.markerType)) {
-                    if (desc.className != null) {
-                        if (desc.pluginDescriptor.isPluginActivated()) {
-                            //-- Get the image descriptor from the provider.
-                            //-- Save the image descriptor url as a persistable property, so a
-                            //image descriptor can be created without activating the plugin next
-                            //time the workbench is started.
-                            if (desc.provider == null)
-                                desc.provider = (IMarkerImageProvider) IDEWorkbenchPlugin
-                                        .createExtension(desc.element,
-                                                ATT_PROVIDER_CLASS);
-                            String path = desc.provider.getImagePath(marker);
-                            if (path != desc.imagePath) {
-                                desc.imagePath = path;
-                                desc.imageDescriptor = getImageDescriptor(desc);
-                                return desc.imageDescriptor;
-                            }
-                            return desc.imageDescriptor;
-                        } else {
-                            if (desc.imageDescriptor == null) {
-                                //Create a image descriptor to be used until the plugin gets activated.
-                                desc.imagePath = (String) marker
-                                        .getAttribute(MARKER_ATT_KEY);
-                                desc.imageDescriptor = getImageDescriptor(desc);
-                            }
-                            return desc.imageDescriptor;
-                        }
-                    } else if (desc.imageDescriptor != null) {
-                        return desc.imageDescriptor;
-                    }
-                }
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin
-                        .getDefault()
-                        .getLog()
-                        .log(
-                                new Status(
-                                        IStatus.ERROR,
-                                        PlatformUI.PLUGIN_ID,
-                                        0,
-                                        "Exception creating image descriptor for: " + desc.markerType,//$NON-NLS-1$
-                                        e));
-                return null;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    ImageDescriptor getImageDescriptor(Descriptor desc) {
-        try {
-            URL installURL = desc.pluginDescriptor.getInstallURL();
-            URL url = new URL(installURL, desc.imagePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java
deleted file mode 100644
index b1e61a4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQuery.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Instances of this class hold a marker type id and/or 
- * a series of marker attributes. This information may be used 
- * to determine if a given marker is of the same marker
- * type and determine its values for the attributes.
- */
-public class MarkerQuery {
-    /**
-     * The marker type targetted by this query. 
-     * May be <code>null</code>.
-     */
-    private String type;
-
-    /**
-     * A sorted list of the attributes targetted by this query.
-     * The list is sorted from least to greatest according to
-     * <code>Sting.compare</code>
-     */
-    private String[] attributes;
-
-    /**
-     * Cached hash code value
-     */
-    private int hashCode;
-
-    /**
-     * Creates a new marker query with the given type
-     * and attributes.
-     * <p>
-     * The type may be <code>null</code>. The attributes may 
-     * be empty, but not <code>null</code>.
-     * </p>
-     * 
-     * @param markerType the targetted marker type
-     * @param markerAttributes the targetted marker attributes
-     */
-    public MarkerQuery(String markerType, String[] markerAttributes) {
-        if (markerAttributes == null) {
-            throw new IllegalArgumentException();
-        }
-
-        type = markerType;
-        attributes = markerAttributes;
-        computeHashCode();
-    }
-
-    /**
-     * Performs a query against the given marker.
-     * <p>
-     * Returns a <code>MarkerQueryResult</code> if the marker
-     * is appropriate for this query (correct type and has
-     * all of the query attributes), otherwise <code>null</code>
-     * is returned.
-     * 
-     * @param marker the marker to perform the query against
-     * @return a marker query result or <code>null</code>
-     */
-    public MarkerQueryResult performQuery(IMarker marker) {
-        // Check type
-        try {
-            if (type != null && !type.equals(marker.getType()))
-                return null;
-        } catch (CoreException e) {
-            IDEWorkbenchPlugin
-                    .log("Error accessing marker type", e.getStatus()); //$NON-NLS-1$
-            return null;
-        }
-
-        // Check attributes
-        String[] values = new String[attributes.length];
-        for (int i = 0; i < attributes.length; i++) {
-            try {
-                Object value = marker.getAttribute(attributes[i]);
-                if (value == null)
-                    return null;
-                values[i] = value.toString();
-            } catch (CoreException e) {
-                IDEWorkbenchPlugin.log(
-                        "Error accessing marker attribute", e.getStatus()); //$NON-NLS-1$
-                return null;
-            }
-        }
-
-        // Create and return the result
-        return new MarkerQueryResult(values);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object.
-     */
-    public boolean equals(Object o) {
-        if (!(o instanceof MarkerQuery))
-            return false;
-
-        if (o == this)
-            return true;
-
-        MarkerQuery mq = (MarkerQuery) o;
-        if (!(type == null ? mq.type == null : type.equals(mq.type)))
-            return false;
-
-        if (attributes.length != mq.attributes.length)
-            return false;
-
-        for (int i = 0; i < attributes.length; i++) {
-            if (!(attributes[i].equals(mq.attributes[i])))
-                return false;
-        }
-
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object.
-     */
-    public int hashCode() {
-        return hashCode;
-    }
-
-    /**
-     * Computes the hash code for this instance.
-     */
-    public void computeHashCode() {
-        hashCode = 19;
-
-        if (type != null)
-            hashCode = hashCode * 37 + type.hashCode();
-
-        for (int i = 0; i < attributes.length; i++) {
-            hashCode = hashCode * 37 + attributes[i].hashCode();
-        }
-    }
-
-    /**
-     * Returns the targetted marker type. May be 
-     * <code>null</code>
-     * 
-     * @return the targetted marker type
-     */
-    public String getType() {
-        return type;
-    }
-
-    /**
-     * Returns the targetted attributes.
-     * The array may be empty.
-     * 
-     * @return the targetted attributes
-     */
-    public String[] getAttributes() {
-        return attributes;
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java
deleted file mode 100644
index 119a862..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/MarkerQueryResult.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-/**
- * Instances of this class represent the result of a specific marker
- * query. Specifically they contain an ordered collection of marker 
- * attribute values.
- */
-
-public class MarkerQueryResult {
-    /**
-     * An ordered collection of marker attribute values.
-     */
-    private String[] values;
-
-    /**
-     * Cached hash code value
-     */
-    private int hashCode;
-
-    /**
-     * Creates a new marker query result with the given values.
-     * <p>
-     * The values may not be empty.
-     * </p>
-     * 
-     * @param markerAttributeValues the target marker's attribute values
-     */
-    public MarkerQueryResult(String[] markerAttributeValues) {
-        if (markerAttributeValues == null) {
-            throw new IllegalArgumentException();
-        }
-        values = markerAttributeValues;
-        computeHashCode();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object.
-     */
-    public boolean equals(Object o) {
-        if (!(o instanceof MarkerQueryResult))
-            return false;
-
-        if (o == this)
-            return true;
-
-        MarkerQueryResult mqr = (MarkerQueryResult) o;
-        if (values.length != mqr.values.length)
-            return false;
-
-        for (int i = 0; i < values.length; i++) {
-            if (!(values[i].equals(mqr.values[i])))
-                return false;
-        }
-
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object.
-     */
-    public int hashCode() {
-        return hashCode;
-    }
-
-    /**
-     * Computes the hash code for this instance.
-     */
-    public void computeHashCode() {
-        hashCode = 19;
-
-        for (int i = 0; i < values.length; i++) {
-            hashCode = hashCode * 37 + values[i].hashCode();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.java
deleted file mode 100644
index 0b5a6b3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistry.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.ui.internal.ide.registry;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Registry to hold mappings from project natures to images
- */
-
-public class ProjectImageRegistry {
-    private Map map = new HashMap(10);
-
-    /**
-     * Returns the image for the given nature id or
-     * <code>null</code> if no image is registered for the given id
-     */
-    public ImageDescriptor getNatureImage(String natureId) {
-        return (ImageDescriptor) map.get(natureId);
-    }
-
-    /**
-     * Reads from the plugin registry.
-     */
-    public void load() {
-        ProjectImageRegistryReader reader = new ProjectImageRegistryReader();
-        reader.readProjectNatureImages(Platform.getPluginRegistry(), this);
-    }
-
-    /**
-     * Sets the image for the given nature id
-     */
-    public void setNatureImage(String natureId, ImageDescriptor image) {
-        map.put(natureId, image);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java
deleted file mode 100644
index 23b5635..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/registry/ProjectImageRegistryReader.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * A strategy to project nature image extensions from the registry.
- */
-public class ProjectImageRegistryReader extends IDERegistryReader {
-    private static final String TAG_IMAGE = "image";//$NON-NLS-1$
-
-    private static final String ATT_ID = "id";//$NON-NLS-1$
-
-    private static final String ATT_NATURE_ID = "natureId";//$NON-NLS-1$
-
-    private static final String ATT_ICON = "icon";//$NON-NLS-1$
-
-    private ProjectImageRegistry registry;
-
-    /**
-     * Reads the contents of the given element
-     */
-    protected boolean readElement(IConfigurationElement element) {
-        if (!element.getName().equals(TAG_IMAGE))
-            return false;
-
-        String id = element.getAttribute(ATT_ID);
-        if (id == null) {
-            logMissingAttribute(element, ATT_ID);
-            return true;
-        }
-
-        String natureId = element.getAttribute(ATT_NATURE_ID);
-        if (natureId == null) {
-            logMissingAttribute(element, ATT_NATURE_ID);
-            return true;
-        }
-
-        String icon = element.getAttribute(ATT_ICON);
-        if (icon == null) {
-            logMissingAttribute(element, ATT_ICON);
-            return true;
-        }
-        IExtension extension = element.getDeclaringExtension();
-        String extendingPluginId = extension.getDeclaringPluginDescriptor()
-                .getUniqueIdentifier();
-        ImageDescriptor image = AbstractUIPlugin.imageDescriptorFromPlugin(
-                extendingPluginId, icon);
-
-        if (image != null)
-            registry.setNatureImage(natureId, image);
-
-        return true;
-    }
-
-    /**
-     * Read the project nature images within a registry.
-     */
-    public void readProjectNatureImages(IPluginRegistry in,
-            ProjectImageRegistry out) {
-        registry = out;
-        readRegistry(in, IDEWorkbenchPlugin.IDE_WORKBENCH,
-                IDEWorkbenchPlugin.PL_PROJECT_NATURE_IMAGES);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java
deleted file mode 100644
index 8a1ca27..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/ConfigurationManagerAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.update;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.update.ui.UpdateManagerUI;
-
-/**
- * Action to invoke the Update configuration manager.
- * 
- * @since 3.0
- */
-public class ConfigurationManagerAction implements
-        IWorkbenchWindowActionDelegate {
-
-    private IWorkbenchWindow window;
-
-    private ApplicationWindow applicationWindow;
-
-    /**
-     * The constructor.
-     */
-    public ConfigurationManagerAction() {
-        // do nothing
-    }
-
-    /**
-     * Runs the action when selected
-     */
-    public void run(IAction action) {
-        BusyIndicator.showWhile(window.getShell().getDisplay(), new Runnable() {
-            public void run() {
-                UpdateManagerUI.openConfigurationManager(window.getShell());
-            }
-        });
-    }
-
-    /**
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        // do nothing
-    }
-
-    /**
-     * @see IWorkbenchWindowActionDelegate#dispose
-     */
-    public void dispose() {
-        // do nothing
-    }
-
-    /**
-     * @see IWorkbenchWindowActionDelegate#init
-     */
-    public void init(IWorkbenchWindow window) {
-        this.window = window;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java
deleted file mode 100644
index 88d9579..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/update/InstallWizardAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.ide.update;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.update.ui.UpdateManagerUI;
-
-/**
- * Action to invoke the Update install wizard.
- * 
- * @since 3.0
- */
-public class InstallWizardAction extends Action implements
-        IWorkbenchWindowActionDelegate {
-
-    private IWorkbenchWindow window;
-
-    public InstallWizardAction() {
-        // do nothing
-    }
-
-    public void run() {
-        openInstaller(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-    }
-
-    public void run(IAction action) {
-        openInstaller(window);
-    }
-
-    private void openInstaller(final IWorkbenchWindow window) {
-        BusyIndicator.showWhile(window.getShell().getDisplay(), new Runnable() {
-            public void run() {
-                UpdateManagerUI.openInstaller(window.getShell());
-            }
-        });
-    }
-
-    public void selectionChanged(IAction action, ISelection selection) {
-        // do nothing
-    }
-
-    public void dispose() {
-        // do nothing
-    }
-
-    public void init(IWorkbenchWindow window) {
-        this.window = window;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ArchiveFileExportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ArchiveFileExportOperation.java
deleted file mode 100644
index 61dd4f1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ArchiveFileExportOperation.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- *	Operation for exporting a resource and its children to a new .zip or
- *  .tar.gz file.
- *  
- *  @since 3.1
- */
-public class ArchiveFileExportOperation implements IRunnableWithProgress {
-    private IFileExporter exporter;
-
-    private String destinationFilename;
-
-    private IProgressMonitor monitor;
-
-    private List resourcesToExport;
-
-    private IResource resource;
-
-    private List errorTable = new ArrayList(1); //IStatus
-
-    private boolean useCompression = true;
-    
-    private boolean useTarFormat = false;
-
-    private boolean createLeadupStructure = true;
-
-    /**
-     *	Create an instance of this class.  Use this constructor if you wish to
-     *	export specific resources without a common parent resource
-     *
-     *	@param resources java.util.Vector
-     *	@param filename java.lang.String
-     */
-    public ArchiveFileExportOperation(List resources, String filename) {
-        super();
-
-        // Eliminate redundancies in list of resources being exported
-        Iterator elementsEnum = resources.iterator();
-        while (elementsEnum.hasNext()) {
-            IResource currentResource = (IResource) elementsEnum.next();
-            if (isDescendent(resources, currentResource))
-                elementsEnum.remove(); //Removes currentResource;
-        }
-
-        resourcesToExport = resources;
-        destinationFilename = filename;
-    }
-
-    /**
-     *  Create an instance of this class.  Use this constructor if you wish
-     *  to recursively export a single resource.
-     *
-     *  @param res org.eclipse.core.resources.IResource;
-     *  @param filename java.lang.String
-     */
-    public ArchiveFileExportOperation(IResource res, String filename) {
-        super();
-        resource = res;
-        destinationFilename = filename;
-    }
-
-    /**
-     *  Create an instance of this class.  Use this constructor if you wish to
-     *  export specific resources with a common parent resource (affects container
-     *  directory creation)
-     *
-     *  @param res org.eclipse.core.resources.IResource
-     *  @param resources java.util.Vector
-     *  @param filename java.lang.String
-     */
-    public ArchiveFileExportOperation(IResource res, List resources, String filename) {
-        this(res, filename);
-        resourcesToExport = resources;
-    }
-
-    /**
-     * Add a new entry to the error table with the passed information
-     */
-    protected void addError(String message, Throwable e) {
-        errorTable.add(new Status(IStatus.ERROR,
-                IDEWorkbenchPlugin.IDE_WORKBENCH, 0, message, e));
-    }
-
-    /**
-     *  Answer the total number of file resources that exist at or below self
-     *  in the resources hierarchy.
-     *
-     *  @return int
-     *  @param checkResource org.eclipse.core.resources.IResource
-     */
-    protected int countChildrenOf(IResource checkResource) throws CoreException {
-        if (checkResource.getType() == IResource.FILE)
-            return 1;
-
-        int count = 0;
-        if (checkResource.isAccessible()) {
-            IResource[] children = ((IContainer) checkResource).members();
-            for (int i = 0; i < children.length; i++)
-                count += countChildrenOf(children[i]);
-        }
-
-        return count;
-    }
-
-    /**
-     *	Answer a boolean indicating the number of file resources that were
-     *	specified for export
-     *
-     *	@return int
-     */
-    protected int countSelectedResources() throws CoreException {
-        int result = 0;
-        Iterator resources = resourcesToExport.iterator();
-        while (resources.hasNext())
-            result += countChildrenOf((IResource) resources.next());
-
-        return result;
-    }
-
-    /**
-     *  Export the passed resource to the destination .zip. Export with
-     * no path leadup
-     *
-     *  @param exportResource org.eclipse.core.resources.IResource
-     */
-    protected void exportResource(IResource exportResource)
-            throws InterruptedException {
-        exportResource(exportResource, 1);
-    }
-
-    /**
-     *  Export the passed resource to the destination .zip
-     *
-     *  @param exportResource org.eclipse.core.resources.IResource
-     *  @param leadupDepth the number of resource levels to be included in
-     *                     the path including the resourse itself.
-     */
-    protected void exportResource(IResource exportResource, int leadupDepth)
-            throws InterruptedException {
-        if (!exportResource.isAccessible())
-            return;
-
-        if (exportResource.getType() == IResource.FILE) {
-            String destinationName;
-            IPath fullPath = exportResource.getFullPath();
-            if (createLeadupStructure)
-                destinationName = fullPath.makeRelative().toString();
-            else
-                destinationName = fullPath.removeFirstSegments(
-                        fullPath.segmentCount() - leadupDepth).toString();
-            monitor.subTask(destinationName);
-
-            try {
-                exporter.write((IFile) exportResource, destinationName);
-            } catch (IOException e) {
-                addError(DataTransferMessages.format(
-                        "DataTransfer.errorExporting", //$NON-NLS-1$
-                        new Object[] {
-                                exportResource.getFullPath().makeRelative(),
-                                e.getMessage() }), e);
-            } catch (CoreException e) {
-                addError(DataTransferMessages.format(
-                        "DataTransfer.errorExporting", //$NON-NLS-1$
-                        new Object[] {
-                                exportResource.getFullPath().makeRelative(),
-                                e.getMessage() }), e);
-            }
-
-            monitor.worked(1);
-            ModalContext.checkCanceled(monitor);
-        } else {
-            IResource[] children = null;
-
-            try {
-                children = ((IContainer) exportResource).members();
-            } catch (CoreException e) {
-                // this should never happen because an #isAccessible check is done before #members is invoked
-                addError(
-                        DataTransferMessages
-                                .format(
-                                        "DataTransfer.errorExporting", new Object[] { exportResource.getFullPath() }), e); //$NON-NLS-1$
-            }
-
-            for (int i = 0; i < children.length; i++)
-                exportResource(children[i], leadupDepth + 1);
-
-        }
-    }
-
-    /**
-     *	Export the resources contained in the previously-defined
-     *	resourcesToExport collection
-     */
-    protected void exportSpecifiedResources() throws InterruptedException {
-        Iterator resources = resourcesToExport.iterator();
-
-        while (resources.hasNext()) {
-            IResource currentResource = (IResource) resources.next();
-            exportResource(currentResource);
-        }
-    }
-
-    /**
-     *	Answer the error table
-     *
-     *	@return Vector of IStatus
-     */
-    public List getResult() {
-        return errorTable;
-    }
-
-    /**
-     * Returns the status of the operation.
-     * If there were any errors, the result is a status object containing
-     * individual status objects for each error.
-     * If there were no errors, the result is a status object with error code <code>OK</code>.
-     *
-     * @return the status
-     */
-    public IStatus getStatus() {
-        IStatus[] errors = new IStatus[errorTable.size()];
-        errorTable.toArray(errors);
-        return new MultiStatus(
-                IDEWorkbenchPlugin.IDE_WORKBENCH,
-                IStatus.OK,
-                errors,
-                DataTransferMessages
-                        .getString("FileSystemExportOperation.problemsExporting"), //$NON-NLS-1$
-                null);
-    }
-
-    /**
-     *	Initialize this operation
-     *
-     *	@exception java.io.IOException
-     */
-    protected void initialize() throws IOException {
-    	if(useTarFormat) {
-    		exporter = new TarFileExporter(destinationFilename, useCompression);
-    	} else {
-        	exporter = new ZipFileExporter(destinationFilename, useCompression);
-    	}
-    }
-
-    /**
-     *  Answer a boolean indicating whether the passed child is a descendent
-     *  of one or more members of the passed resources collection
-     *
-     *  @return boolean
-     *  @param resources java.util.Vector
-     *  @param child org.eclipse.core.resources.IResource
-     */
-    protected boolean isDescendent(List resources, IResource child) {
-        if (child.getType() == IResource.PROJECT)
-            return false;
-
-        IResource parent = child.getParent();
-        if (resources.contains(parent))
-            return true;
-
-        return isDescendent(resources, parent);
-    }
-
-    /**
-     *	Export the resources that were previously specified for export
-     *	(or if a single resource was specified then export it recursively)
-     */
-    public void run(IProgressMonitor progressMonitor)
-            throws InvocationTargetException, InterruptedException {
-        this.monitor = progressMonitor;
-
-        try {
-            initialize();
-        } catch (IOException e) {
-            throw new InvocationTargetException(e, DataTransferMessages.format(
-                    "ZipExport.cannotOpen", new Object[] { e.getMessage() })); //$NON-NLS-1$
-        }
-
-        try {
-            // ie.- a single resource for recursive export was specified
-            int totalWork = IProgressMonitor.UNKNOWN;
-            try {
-                if (resourcesToExport == null)
-                    totalWork = countChildrenOf(resource);
-                else
-                    totalWork = countSelectedResources();
-            } catch (CoreException e) {
-                // Should not happen
-            }
-            monitor.beginTask(DataTransferMessages
-                    .getString("DataTransfer.exportingTitle"), totalWork); //$NON-NLS-1$
-            if (resourcesToExport == null) {
-                exportResource(resource);
-            } else {
-                // ie.- a list of specific resources to export was specified
-                exportSpecifiedResources();
-            }
-
-            try {
-                exporter.finished();
-            } catch (IOException e) {
-                throw new InvocationTargetException(
-                        e,
-                        DataTransferMessages
-                                .format(
-                                        "ZipExport.cannotClose", new Object[] { e.getMessage() })); //$NON-NLS-1$
-            }
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     *	Set this boolean indicating whether each exported resource's path should
-     *	include containment hierarchies as dictated by its parents
-     *
-     *	@param value boolean
-     */
-    public void setCreateLeadupStructure(boolean value) {
-        createLeadupStructure = value;
-    }
-
-    /**
-     *	Set this boolean indicating whether exported resources should
-     *	be compressed (as opposed to simply being stored)
-     *
-     *	@param value boolean
-     */
-    public void setUseCompression(boolean value) {
-        useCompression = value;
-    }
-    
-    /**
-     * Set this boolean indicating whether the file should be output
-     * in tar.gz format rather than .zip format.
-     * 
-     * @param value boolean
-     */
-    public void setUseTarFormat(boolean value) {
-    	useTarFormat = value;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/Base64Encoder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/Base64Encoder.java
deleted file mode 100644
index 86689bd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/Base64Encoder.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.ui.internal.wizards.datatransfer;
-
-/**
- *	This utility class converts a passed byte array into a Base 64 encoded
- *	String according to the specification in RFC1521 section 5.2
- */
-public class Base64Encoder {
-    private static final String mappings = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";//$NON-NLS-1$
-
-    private static final String filler = "=";//$NON-NLS-1$
-
-    /**
-     *	Answer a string representing the Base 64 encoded form of the passed
-     *	byte array
-     *
-     *	@return java.lang.String
-     *	@param contents byte[]
-     */
-    public static String encode(byte[] contents) {
-        StringBuffer result = new StringBuffer();
-
-        for (int i = 0; i < contents.length; i = i + 3) {
-            if (result.length() == 76)
-                result.append("\n\r");//$NON-NLS-1$
-
-            // output character 1
-            result.append(mappings.charAt((contents[i] & 0xFC) >> 2));
-
-            // output character 2
-            int c2 = (contents[i] & 0x03) << 4;
-            if (i + 1 >= contents.length) {
-                result.append(mappings.charAt(c2));
-                result.append(filler);
-                result.append(filler);
-                return result.toString();
-            }
-
-            c2 |= ((contents[i + 1] & 0xF0) >> 4);
-            result.append(mappings.charAt(c2));
-
-            // output character 3
-            int c3 = (contents[i + 1] & 0x0F) << 2;
-            if (i + 2 >= contents.length) {
-                result.append(mappings.charAt(c3));
-                result.append(filler);
-                return result.toString();
-            }
-
-            c3 |= ((contents[i + 2] & 0xC0) >> 6);
-            result.append(mappings.charAt(c3));
-
-            // output character 4
-            result.append(mappings.charAt(contents[i + 2] & 0x3F));
-        }
-
-        return result.toString();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java
deleted file mode 100644
index 6c81bec..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class DataTransferMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.wizards.datatransfer.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private DataTransferMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExportOperation.java
deleted file mode 100644
index 6f26481..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExportOperation.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-
-
-/**
- *	Operation for exporting the contents of a resource to the local file system.
- */
-public class FileSystemExportOperation implements IRunnableWithProgress {
-    private IPath path;
-
-    private IProgressMonitor monitor;
-
-    private FileSystemExporter exporter = new FileSystemExporter();
-
-    private List resourcesToExport;
-
-    private IOverwriteQuery overwriteCallback;
-
-    private IResource resource;
-
-    private List errorTable = new ArrayList(1);
-
-    //The constants for the overwrite 3 state
-    private static final int OVERWRITE_NOT_SET = 0;
-
-    private static final int OVERWRITE_NONE = 1;
-
-    private static final int OVERWRITE_ALL = 2;
-
-    private int overwriteState = OVERWRITE_NOT_SET;
-
-    private boolean createLeadupStructure = true;
-
-    private boolean createContainerDirectories = true;
-
-    /**
-     *  Create an instance of this class.  Use this constructor if you wish to
-     *  export specific resources without a common parent resource
-     */
-    public FileSystemExportOperation(List resources, String destinationPath,
-            IOverwriteQuery overwriteImplementor) {
-        super();
-
-        // Eliminate redundancies in list of resources being exported
-        Iterator elementsEnum = resources.iterator();
-        while (elementsEnum.hasNext()) {
-            IResource currentResource = (IResource) elementsEnum.next();
-            if (isDescendent(resources, currentResource))
-                elementsEnum.remove(); //Remove currentResource
-        }
-
-        resourcesToExport = resources;
-        path = new Path(destinationPath);
-        overwriteCallback = overwriteImplementor;
-    }
-
-    /**
-     *  Create an instance of this class.  Use this constructor if you wish to
-     *  recursively export a single resource
-     */
-    public FileSystemExportOperation(IResource res, String destinationPath,
-            IOverwriteQuery overwriteImplementor) {
-        super();
-        resource = res;
-        path = new Path(destinationPath);
-        overwriteCallback = overwriteImplementor;
-    }
-
-    /**
-     *  Create an instance of this class.  Use this constructor if you wish to
-     *  export specific resources with a common parent resource (affects container
-     *  directory creation)
-     */
-    public FileSystemExportOperation(IResource res, List resources,
-            String destinationPath, IOverwriteQuery overwriteImplementor) {
-        this(res, destinationPath, overwriteImplementor);
-        resourcesToExport = resources;
-    }
-
-    /**
-     * Add a new entry to the error table with the passed information
-     */
-    protected void addError(String message, Throwable e) {
-        errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0,
-                message, e));
-    }
-
-    /**
-     *  Answer the total number of file resources that exist at or below self in the
-     *  resources hierarchy.
-     *
-     *  @return int
-     *  @param parentResource org.eclipse.core.resources.IResource
-     */
-    protected int countChildrenOf(IResource parentResource)
-            throws CoreException {
-        if (parentResource.getType() == IResource.FILE)
-            return 1;
-
-        int count = 0;
-        if (parentResource.isAccessible()) {
-            IResource[] children = ((IContainer) parentResource).members();
-            for (int i = 0; i < children.length; i++)
-                count += countChildrenOf(children[i]);
-        }
-
-        return count;
-    }
-
-    /**
-     *	Answer a boolean indicating the number of file resources that were
-     *	specified for export
-     *
-     *	@return int
-     */
-    protected int countSelectedResources() throws CoreException {
-        int result = 0;
-        Iterator resources = resourcesToExport.iterator();
-
-        while (resources.hasNext())
-            result += countChildrenOf((IResource) resources.next());
-
-        return result;
-    }
-
-    /**
-     *  Create the directories required for exporting the passed resource,
-     *  based upon its container hierarchy
-     *
-     *  @param childResource org.eclipse.core.resources.IResource
-     */
-    protected void createLeadupDirectoriesFor(IResource childResource) {
-        IPath resourcePath = childResource.getFullPath().removeLastSegments(1);
-
-        for (int i = 0; i < resourcePath.segmentCount(); i++) {
-            path = path.append(resourcePath.segment(i));
-            exporter.createFolder(path);
-        }
-    }
-
-    /**
-     *	Recursively export the previously-specified resource
-     */
-    protected void exportAllResources() throws InterruptedException {
-        if (resource.getType() == IResource.FILE)
-            exportFile((IFile) resource, path);
-        else {
-            try {
-                exportChildren(((IContainer) resource).members(), path);
-            } catch (CoreException e) {
-                // not safe to show a dialog
-                // should never happen because the file system export wizard ensures that the
-                // single resource chosen for export is both existent and accessible
-                errorTable.add(e);
-            }
-        }
-    }
-
-    /**
-     *	Export all of the resources contained in the passed collection
-     *
-     *	@param children java.util.Enumeration
-     *	@param currentPath IPath
-     */
-    protected void exportChildren(IResource[] children, IPath currentPath)
-            throws InterruptedException {
-        for (int i = 0; i < children.length; i++) {
-            IResource child = children[i];
-            if (!child.isAccessible())
-                continue;
-
-            if (child.getType() == IResource.FILE)
-                exportFile((IFile) child, currentPath);
-            else {
-                IPath destination = currentPath.append(child.getName());
-                exporter.createFolder(destination);
-                try {
-                    exportChildren(((IContainer) child).members(), destination);
-                } catch (CoreException e) {
-                    // not safe to show a dialog
-                    // should never happen because:
-                    // i. this method is called recursively iterating over the result of #members,
-                    //		which only answers existing children
-                    // ii. there is an #isAccessible check done before #members is invoked
-                    errorTable.add(e.getStatus());
-                }
-            }
-        }
-    }
-
-    /**
-     *  Export the passed file to the specified location
-     *
-     *  @param file org.eclipse.core.resources.IFile
-     *  @param location org.eclipse.core.runtime.IPath
-     */
-    protected void exportFile(IFile file, IPath location)
-            throws InterruptedException {
-        IPath fullPath = location.append(file.getName());
-        monitor.subTask(file.getFullPath().toString());
-        String properPathString = fullPath.toOSString();
-        File targetFile = new File(properPathString);
-
-        if (targetFile.exists()) {
-            if (!targetFile.canWrite()) {
-                errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID,
-                        0, DataTransferMessages.format(
-                                "DataTransfer.cannotOverwrite", //$NON-NLS-1$
-                                new Object[] { targetFile.getAbsolutePath() }),
-                        null));
-                monitor.worked(1);
-                return;
-            }
-
-            if (overwriteState == OVERWRITE_NONE)
-                return;
-
-            if (overwriteState != OVERWRITE_ALL) {
-                String overwriteAnswer = overwriteCallback
-                        .queryOverwrite(properPathString);
-
-                if (overwriteAnswer.equals(IOverwriteQuery.CANCEL))
-                    throw new InterruptedException();
-
-                if (overwriteAnswer.equals(IOverwriteQuery.NO)) {
-                    monitor.worked(1);
-                    return;
-                }
-
-                if (overwriteAnswer.equals(IOverwriteQuery.NO_ALL)) {
-                    monitor.worked(1);
-                    overwriteState = OVERWRITE_NONE;
-                    return;
-                }
-
-                if (overwriteAnswer.equals(IOverwriteQuery.ALL))
-                    overwriteState = OVERWRITE_ALL;
-            }
-        }
-
-        try {
-            exporter.write(file, fullPath);
-        } catch (IOException e) {
-            errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0,
-                    DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-                            new Object[] { fullPath, e.getMessage() }), e));
-        } catch (CoreException e) {
-            errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0,
-                    DataTransferMessages.format("DataTransfer.errorExporting", //$NON-NLS-1$
-                            new Object[] { fullPath, e.getMessage() }), e));
-        }
-
-        monitor.worked(1);
-        ModalContext.checkCanceled(monitor);
-    }
-
-    /**
-     *	Export the resources contained in the previously-defined
-     *	resourcesToExport collection
-     */
-    protected void exportSpecifiedResources() throws InterruptedException {
-        Iterator resources = resourcesToExport.iterator();
-        IPath initPath = (IPath) path.clone();
-
-        while (resources.hasNext()) {
-            IResource currentResource = (IResource) resources.next();
-            if (!currentResource.isAccessible())
-                continue;
-
-            path = initPath;
-
-            if (resource == null) {
-                // No root resource specified and creation of containment directories
-                // is required.  Create containers from depth 2 onwards (ie.- project's
-                // child inclusive) for each resource being exported.
-                if (createLeadupStructure)
-                    createLeadupDirectoriesFor(currentResource);
-
-            } else {
-                // Root resource specified.  Must create containment directories
-                // from this point onwards for each resource being exported
-                IPath containersToCreate = currentResource.getFullPath()
-                        .removeFirstSegments(
-                                resource.getFullPath().segmentCount())
-                        .removeLastSegments(1);
-
-                for (int i = 0; i < containersToCreate.segmentCount(); i++) {
-                    path = path.append(containersToCreate.segment(i));
-                    exporter.createFolder(path);
-                }
-            }
-
-            if (currentResource.getType() == IResource.FILE)
-                exportFile((IFile) currentResource, path);
-            else {
-                if (createContainerDirectories) {
-                    path = path.append(currentResource.getName());
-                    exporter.createFolder(path);
-                }
-
-                try {
-                    exportChildren(((IContainer) currentResource).members(),
-                            path);
-                } catch (CoreException e) {
-                    // should never happen because #isAccessible is called before #members is invoked,
-                    // which implicitly does an existence check
-                    errorTable.add(e.getStatus());
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns the status of the export operation.
-     * If there were any errors, the result is a status object containing
-     * individual status objects for each error.
-     * If there were no errors, the result is a status object with error code <code>OK</code>.
-     *
-     * @return the status
-     */
-    public IStatus getStatus() {
-        IStatus[] errors = new IStatus[errorTable.size()];
-        errorTable.toArray(errors);
-        return new MultiStatus(
-                PlatformUI.PLUGIN_ID,
-                IStatus.OK,
-                errors,
-                DataTransferMessages
-                        .getString("FileSystemExportOperation.problemsExporting"), //$NON-NLS-1$
-                null);
-    }
-
-    /**
-     *  Answer a boolean indicating whether the passed child is a descendent
-     *  of one or more members of the passed resources collection
-     *
-     *  @return boolean
-     *  @param resources java.util.List
-     *  @param child org.eclipse.core.resources.IResource
-     */
-    protected boolean isDescendent(List resources, IResource child) {
-        if (child.getType() == IResource.PROJECT)
-            return false;
-
-        IResource parent = child.getParent();
-        if (resources.contains(parent))
-            return true;
-
-        return isDescendent(resources, parent);
-    }
-
-    /**
-     *	Export the resources that were previously specified for export
-     *	(or if a single resource was specified then export it recursively)
-     */
-    public void run(IProgressMonitor progressMonitor)
-            throws InterruptedException {
-        this.monitor = progressMonitor;
-
-        if (resource != null) {
-            if (createLeadupStructure)
-                createLeadupDirectoriesFor(resource);
-
-            if (createContainerDirectories
-                    && resource.getType() != IResource.FILE) {
-                // ensure it's a container
-                path = path.append(resource.getName());
-                exporter.createFolder(path);
-            }
-        }
-
-        try {
-            int totalWork = IProgressMonitor.UNKNOWN;
-            try {
-                if (resourcesToExport == null)
-                    totalWork = countChildrenOf(resource);
-                else
-                    totalWork = countSelectedResources();
-            } catch (CoreException e) {
-                // Should not happen
-                errorTable.add(e.getStatus());
-            }
-            monitor.beginTask(DataTransferMessages
-                    .getString("DataTransfer.exportingTitle"), totalWork); //$NON-NLS-1$
-            if (resourcesToExport == null) {
-                exportAllResources();
-            } else {
-                exportSpecifiedResources();
-            }
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     *	Set this boolean indicating whether a directory should be created for
-     *	Folder resources that are explicitly passed for export
-     *
-     *	@param value boolean
-     */
-    public void setCreateContainerDirectories(boolean value) {
-        createContainerDirectories = value;
-    }
-
-    /**
-     *	Set this boolean indicating whether each exported resource's complete path should
-     *	include containment hierarchies as dictated by its parents
-     *
-     *	@param value boolean
-     */
-    public void setCreateLeadupStructure(boolean value) {
-        createLeadupStructure = value;
-    }
-
-    /**
-     *	Set this boolean indicating whether exported resources should automatically
-     *	overwrite existing files when a conflict occurs. If not
-     *	query the user.
-     *
-     *	@param value boolean
-     */
-    public void setOverwriteFiles(boolean value) {
-        if (value)
-            overwriteState = OVERWRITE_ALL;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExporter.java
deleted file mode 100644
index 450e622..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/FileSystemExporter.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.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Helper class for exporting resources to the file system.
- */
-public class FileSystemExporter {
-    /**
-     *  Creates the specified file system directory at <code>destinationPath</code>.
-     *  This creates a new file system directory.
-     */
-    public void createFolder(IPath destinationPath) {
-        new File(destinationPath.toOSString()).mkdir();
-    }
-
-    /**
-     *  Writes the passed resource to the specified location recursively
-     */
-    public void write(IResource resource, IPath destinationPath)
-            throws CoreException, IOException {
-        if (resource.getType() == IResource.FILE)
-            writeFile((IFile) resource, destinationPath);
-        else
-            writeChildren((IContainer) resource, destinationPath);
-    }
-
-    /**
-     *  Exports the passed container's children
-     */
-    protected void writeChildren(IContainer folder, IPath destinationPath)
-            throws CoreException, IOException {
-        if (folder.isAccessible()) {
-            IResource[] children = folder.members();
-            for (int i = 0; i < children.length; i++) {
-                IResource child = children[i];
-                writeResource(child, destinationPath.append(child.getName()));
-            }
-        }
-    }
-
-    /**
-     *  Writes the passed file resource to the specified destination on the local
-     *  file system
-     */
-    protected void writeFile(IFile file, IPath destinationPath)
-            throws IOException, CoreException {
-        FileOutputStream output = null;
-        InputStream contentStream = null;
-
-        try {
-            contentStream = file.getContents(false);
-            output = new FileOutputStream(destinationPath.toOSString());
-            int chunkSize = contentStream.available();
-            byte[] readBuffer = new byte[chunkSize];
-            int n = contentStream.read(readBuffer);
-
-            while (n > 0) {
-                output.write(readBuffer);
-                n = contentStream.read(readBuffer);
-            }
-        } finally {
-            if (output != null)
-                output.close();
-            if (contentStream != null)
-                contentStream.close();
-        }
-    }
-
-    /**
-     *  Writes the passed resource to the specified location recursively
-     */
-    protected void writeResource(IResource resource, IPath destinationPath)
-            throws CoreException, IOException {
-        if (resource.getType() == IResource.FILE)
-            writeFile((IFile) resource, destinationPath);
-        else {
-            createFolder(destinationPath);
-            writeChildren((IContainer) resource, destinationPath);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IDataTransferHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IDataTransferHelpContextIds.java
deleted file mode 100644
index 8e3c425..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IDataTransferHelpContextIds.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the data transfer wizards.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IDataTransferHelpContextIds {
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    // Wizard pages
-    public static final String FILE_SYSTEM_EXPORT_WIZARD_PAGE = PREFIX
-            + "file_system_export_wizard_page"; //$NON-NLS-1$
-
-    public static final String FILE_SYSTEM_IMPORT_WIZARD_PAGE = PREFIX
-            + "file_system_import_wizard_page"; //$NON-NLS-1$
-
-    public static final String ZIP_FILE_EXPORT_WIZARD_PAGE = PREFIX
-            + "zip_file_export_wizard_page"; //$NON-NLS-1$
-
-    public static final String ZIP_FILE_IMPORT_WIZARD_PAGE = PREFIX
-            + "zip_file_import_wizard_page"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IFileExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IFileExporter.java
deleted file mode 100644
index b71b233..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/IFileExporter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Interface for file exporters of different file formats.  Used by the
- * zip and tar.gz exporters.
- * 
- * @since 3.1
- */
-public interface IFileExporter {
-
-	/**
-	 * Do all required cleanup now that we are finished with the
-     * currently-open file.
-     * 
-	 * @throws IOException
-	 */
-	public void finished() throws IOException;
-	
-	/**
-	 * Write the passed resource to the current archive
-	 * 
-	 * @param resource
-	 * @param destinationPath
-	 * @throws IOException
-	 * @throws CoreException
-	 */
-    public void write(IFile resource, String destinationPath)
-    	throws IOException, CoreException;
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/MinimizedFileSystemElement.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/MinimizedFileSystemElement.java
deleted file mode 100644
index 4d87ec6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/MinimizedFileSystemElement.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-
-/**
- * The <code>MinimizedFileSystemElement</code> is a <code>FileSystemElement</code> that knows
- * if it has been populated or not.
- */
-public class MinimizedFileSystemElement extends FileSystemElement {
-    private boolean populated = false;
-
-    /**
-     * Create a <code>MinimizedFileSystemElement</code> with the supplied name and parent.
-     * @param name the name of the file element this represents
-     * @param parent the containing parent
-     * @param isDirectory indicated if this could have children or not
-     */
-    public MinimizedFileSystemElement(String name, FileSystemElement parent,
-            boolean isDirectory) {
-        super(name, parent, isDirectory);
-    }
-
-    /**
-     * Returns a list of the files that are immediate children. Use the supplied provider
-     * if it needs to be populated.
-     * of this folder.
-     */
-    public AdaptableList getFiles(IImportStructureProvider provider) {
-        if (!populated) {
-            populate(provider);
-        }
-        return super.getFiles();
-    }
-
-    /**
-     * Returns a list of the folders that are immediate children. Use the supplied provider
-     * if it needs to be populated.
-     * of this folder.
-     */
-    public AdaptableList getFolders(IImportStructureProvider provider) {
-        if (!populated) {
-            populate(provider);
-        }
-        return super.getFolders();
-    }
-
-    /**
-     * Return whether or not population has happened for the receiver.
-     */
-    boolean isPopulated() {
-        return this.populated;
-    }
-
-    /**
-     * Return whether or not population has not happened for the receiver.
-     */
-    boolean notPopulated() {
-        return !this.populated;
-    }
-
-    /**
-     * Populate the files and folders of the receiver using the suppliec structure provider.
-     * @param provider org.eclipse.ui.wizards.datatransfer.IImportStructureProvider
-     */
-    private void populate(IImportStructureProvider provider) {
-
-        Object fileSystemObject = getFileSystemObject();
-
-        List children = provider.getChildren(fileSystemObject);
-        if (children == null) {
-            children = new ArrayList(1);
-        }
-        Iterator childrenEnum = children.iterator();
-        while (childrenEnum.hasNext()) {
-            Object child = childrenEnum.next();
-
-            String elementLabel = provider.getLabel(child);
-            //Create one level below
-            MinimizedFileSystemElement result = new MinimizedFileSystemElement(
-                    elementLabel, this, provider.isFolder(child));
-            result.setFileSystemObject(child);
-        }
-        setPopulated();
-    }
-
-    /**
-     * Set whether or not population has happened for the receiver to true.
-     */
-   public void setPopulated() {
-        this.populated = true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarEntry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarEntry.java
deleted file mode 100644
index 7f4cf8a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarEntry.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-/**
- * Representation of a file in a tar archive.
- * 
- * @since 3.1
- */
-public class TarEntry implements Cloneable
-{	
-	String name, linkdest, username, groupname;
-	long mode, time, size;
-	int type, uid, gid, major, minor;
-	int filepos;
-
-	/**
-	 * Entry type for normal files.
-	 */
-	public static final int FILE = '0';
-
-	/**
-	 * Entry type for hard links.
-	 */
-	public static final int LINK = '1';
-	
-	/**
-	 * Entry type for symbolic links.
-	 */
-	public static final int SYMLINK = '2';
-	
-	/**
-	 * Entry type for character device nodes.
-	 */
-	public static final int CHAR_DEVICE = '3';
-	
-	/**
-	 * Entry type for block device nodes.
-	 */
-	public static final int BLOCK_DEVICE = '4';
-	
-	/**
-	 * Entry type for directories.
-	 */
-	public static final int DIRECTORY = '5';
-	
-	/**
-	 * Entry type for FIFO files.
-	 */
-	public static final int FIFO = '6';
-
-	/**
-	 * Create a new TarEntry for a file of the given name at the
-	 * given position in the file.
-	 * 
-	 * @param name filename
-	 * @param pos position in the file in bytes
-	 */
-	TarEntry(String name, int pos) {
-		this.name = name;
-		mode = 0644;
-		type = FILE;
-		filepos = pos;
-		time = System.currentTimeMillis() / 1000;
-	}
-
-	/**
-	 * Create a new TarEntry for a file of the given name.
-	 * 
-	 * @param name filename
-	 */
-	public TarEntry(String name) {
-		this(name, -1);
-	}
-
-	/**
-	 * Create a copy of the given TarEntry.
-	 * 
-	 * @param e entry to copy from
-	 */
-	public TarEntry(TarEntry e) {
-		name = e.name;
-		mode = e.mode;
-		linkdest = e.linkdest;
-		username = e.username;
-		groupname = e.groupname;
-		time = e.time;
-		size = e.size;
-		type = e.type;
-		uid = e.uid;
-		gid = e.gid;
-		major = e.major;
-		minor = e.minor;
-		filepos = e.filepos;
-	}
-
-	/**
-	 * If this file is a device inode, returns its major number.
-	 * 
-	 * @return major number of the device
-	 */
-	public int getDeviceMajor() {
-		return major;
-	}
-
-	/**
-	 * If this file is a device inode, returns its minor number.
-	 * 
-	 * @return minor number of the device
-	 */
-	public int getDeviceMinor() {
-		return minor;
-	}
-
-	/**
-	 * Returns the type of this file, one of FILE, LINK, SYM_LINK,
-	 * CHAR_DEVICE, BLOCK_DEVICE, DIRECTORY or FIFO.
-	 * 
-	 * @return file type
-	 */
-	public int getFileType() {
-		return type;
-	}
-
-	/**
-	 * Returns the group ID of the file.
-	 * 
-	 * @return group ID
-	 */
-	public int getGroupID() {
-		return gid;
-	}
-
-	/**
-	 * Returns the name of the group.  If not null, this should be used
-	 * in favour of the group ID should an equivalent group be found.
-	 * 
-	 * @return group name
-	 */
-	public String getGroupName() {
-		return groupname;
-	}
-
-	/**
-	 * If this file represents a symbolic link or hard link, this is
-	 * its destination path.
-	 * 
-	 * @return link destination
-	 */
-	public String getLinkDestination() {
-		return linkdest;
-	}
-
-	/**
-	 * Returns the mode of the file in UNIX permissions format.
-	 * 
-	 * @return file mode
-	 */
-	public long getMode() {
-		return mode;
-	}
-
-	/**
-	 * Returns the name of the file.
-	 * 
-	 * @return filename
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the size of the file in bytes.
-	 * 
-	 * @return filesize
-	 */
-	public long getSize() {
-		return size;
-	}
-
-	/**
-	 * Returns the modification time of the file in seconds since January
-	 * 1st 1970.
-	 * 
-	 * @return time
-	 */
-	public long getTime() {
-		return time;
-	}
-
-	/**
-	 * Returns the user ID of the owner of this file.
-	 * 
-	 * @return userid
-	 */
-	public int getUserID() {
-		return uid;
-	}
-	
-	/**
-	 * Returns the name of the user that owns this file.  If not null,
-	 * this should be used in favour of the user ID should an
-	 * equivalent user be found.
-	 * 
-	 * @return user name
-	 */
-	public String getUserName() {
-		return username;
-	}
-
-	/**
-	 * Sets the major number of the device if this entry represents a device
-	 * inode.
-	 * 
-	 * @param major
-	 */
-	public void setDeviceMajor(int major) {
-		this.major = major;
-	}
-
-	/**
-	 * Sets the minor number of the device if this entry represents a device
-	 * inode.
-	 * 
-	 * @param minor
-	 */
-	public void setDeviceMinor(int minor) {
-		this.minor = minor;
-	}
-
-	/**
-	 * Sets the type of the file, one of FILE, LINK, SYMLINK, CHAR_DEVICE,
-	 * BLOCK_DEVICE, or DIRECTORY.
-	 * 
-	 * @param type
-	 */
-	public void setFileType(int type) {
-		this.type = type;
-	}
-
-	/**
-	 * Sets the group ID of this file.
-	 * 
-	 * @param gid
-	 */
-	public void setGroupID(int gid) {
-		this.gid = gid;
-	}
-
-	/**
-	 * Sets the name of the group of this file.
-	 * 
-	 * @param groupname
-	 */
-	public void setGroupName(String groupname) {
-		this.groupname = groupname;
-	}
-
-	/**
-	 * If this file represents a symbolic or hard link, sets the path name
-	 * of the destination.
-	 * 
-	 * @param linkdest
-	 */
-	public void setLinkDestination(String linkdest) {
-		this.linkdest = linkdest;
-	}
-
-	/**
-	 * Sets the mode of the file in UNIX permissions format.
-	 * 
-	 * @param mode
-	 */
-	public void setMode(long mode) {
-		this.mode = mode;
-	}
-
-	/**
-	 * Sets the size of the file in bytes.
-	 * 
-	 * @param size
-	 */
-	public void setSize(long size) {
-		this.size = size;
-	}
-
-	/**
-	 * Sets the modification time of the file in seconds since January
-	 * 1st 1970.
-	 * 
-	 * @param time
-	 */
-	public void setTime(long time) {
-		this.time = time;
-	}
-
-	/**
-	 * Sets the user ID of the owner of this file.
-	 * 
-	 * @param uid
-	 */
-	public void setUserID(int uid) {
-		this.uid = uid;
-	}
-
-	/**
-	 * Sets the name of the user who owns this file.
-	 * 
-	 * @param username
-	 */
-	public void setUserName(String username) {
-		this.username = username;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarException.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarException.java
deleted file mode 100644
index 74af2f1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-/**
- * Exception generated upon encountering corrupted tar files.
- */
-public class TarException extends Exception {
-	/**
-	 * Generated serial version UID for this class.
-	 */
-	private static final long serialVersionUID = 2886671254518853528L;
-
-    /**
-     * Constructs a TarException without a detail string.
-     */
-    public TarException() {
-    	super();
-    }
-
-    /**
-     * Constructs a TarException with the specified detail string.
-     *
-     * @param s the detail string
-     */
-    public TarException(String s) {
-    	super(s);
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFile.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFile.java
deleted file mode 100644
index 91689a1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFile.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.zip.GZIPInputStream;
-
-/**
- * Reads a .tar or .tar.gz archive file, providing an index enumeration
- * and allows for accessing an InputStream for arbitrary files in the
- * archive.
- * 
- * @since 3.1
- */
-public class TarFile {
-	private File file;
-	private TarInputStream entryEnumerationStream;
-	private TarEntry curEntry;
-	private TarInputStream entryStream;
-
-	/**
-	 * Create a new TarFile for the given file.
-	 * 
-	 * @param file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarFile(File file) throws TarException, IOException {
-		this.file = file;
-
-		InputStream in = new FileInputStream(file);
-		// First, check if it's a GZIPInputStream.
-		try {
-			in = new GZIPInputStream(in);
-		} catch(IOException e) {
-			// need to recreate the input.
-			in = new FileInputStream(file);
-		}
-		entryEnumerationStream = new TarInputStream(in);
-		curEntry = entryEnumerationStream.getNextEntry();
-	}
-
-	/**
-	 * Create a new TarFile for the given path name.
-	 * 
-	 * @param filename
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarFile(String filename) throws TarException, IOException {
-		this(new File(filename));
-	}
-
-	/**
-	 * Returns an enumeration cataloguing the tar archive.
-	 * 
-	 * @return enumeration of all files in the archive
-	 */
-	public Enumeration entries() {
-		return new Enumeration() {			
-			public boolean hasMoreElements() {
-				return (curEntry != null);
-			}
-			
-			public Object nextElement() {
-				TarEntry oldEntry = curEntry;
-				try {
-					curEntry = entryEnumerationStream.getNextEntry();
-				} catch(TarException e) {
-					curEntry = null;
-				} catch(IOException e) {
-					curEntry = null;
-				}
-				return oldEntry;
-			}
-		};
-	}
-
-	/**
-	 * Returns a new InputStream for the given file in the tar archive.
-	 * 
-	 * @param entry
-	 * @return an input stream for the given file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public InputStream getInputStream(TarEntry entry) throws TarException, IOException {
-		if(entryStream == null || !entryStream.skipToEntry(entry)) {
-			InputStream in = new FileInputStream(file);
-			// First, check if it's a GZIPInputStream.
-			try {
-				in = new GZIPInputStream(in);
-			} catch(IOException e) {
-				in = new FileInputStream(file);
-			}
-			entryStream = new TarInputStream(in, entry) {
-				public void close() {
-					// Ignore close() since we want to reuse the stream.
-				}
-			};
-		}
-		if(entryStream == null) {
-			System.out.println("huh?"); //$NON-NLS-1$
-		}
-		return entryStream;
-	}
-
-	/**
-	 * Returns the path name of the file this archive represents.
-	 * 
-	 * @return path
-	 */
-	public String getName() {
-		return file.getPath();
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileExporter.java
deleted file mode 100644
index 4088508..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileExporter.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.BufferedOutputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.GZIPOutputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourceAttributes;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Exports resources to a .tar.gz file.
- *
- * @since 3.1
- */
-public class TarFileExporter implements IFileExporter {
-    private TarOutputStream outputStream;
-    private GZIPOutputStream gzipOutputStream;
-    
-
-    /**
-     *	Create an instance of this class.
-     *
-     *	@param filename java.lang.String
-     *	@param compress boolean
-     *	@exception java.io.IOException
-     */
-    public TarFileExporter(String filename, boolean compress) throws IOException {
-    	if(compress) {
-    		gzipOutputStream = new GZIPOutputStream(new FileOutputStream(filename));
-    		outputStream = new TarOutputStream(new BufferedOutputStream(gzipOutputStream));
-    	} else {
-    		outputStream = new TarOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));
-    	}
-    }
-
-    /**
-     *	Do all required cleanup now that we're finished with the
-     *	currently-open .tar.gz
-     *
-     *	@exception java.io.IOException
-     */
-    public void finished() throws IOException {
-        outputStream.close();
-        if(gzipOutputStream != null) {
-        	gzipOutputStream.close();
-        }
-    }
-
-    /**
-     *	Write the contents of the file to the tar archive.
-     *
-     *	@param entry
-     *	@param contents
-     *  @exception java.io.IOException
-     *  @exception org.eclipse.core.runtime.CoreException
-     */
-    private void write(TarEntry entry, IFile contents) throws IOException, CoreException {
-		IPath location = contents.getLocation();
-		if (location == null) {
-			throw new FileNotFoundException(contents.getFullPath().toOSString());
-		}
-		java.io.File localFile = location.toFile();
-    	
-    	entry.setSize(localFile.length());
-    	
-    	outputStream.putNextEntry(entry);
-    	InputStream contentStream = contents.getContents(false);
-        try {
-            int n;
-            byte[] readBuffer = new byte[4096];
-            while ((n = contentStream.read(readBuffer)) > 0) {
-                outputStream.write(readBuffer, 0, n);
-            }
-        } finally {
-            if (contentStream != null)
-                contentStream.close();
-        }
-
-    	outputStream.closeEntry();    	
-    }
-
-    /**
-     *  Write the passed resource to the current archive.
-     *
-     *  @param resource org.eclipse.core.resources.IFile
-     *  @param destinationPath java.lang.String
-     *  @exception java.io.IOException
-     *  @exception org.eclipse.core.runtime.CoreException
-     */
-    public void write(IFile resource, String destinationPath)
-            throws IOException, CoreException {
-
-        TarEntry newEntry = new TarEntry(destinationPath);
-        if(resource.getLocalTimeStamp() != IResource.NULL_STAMP) {
-        	newEntry.setTime(resource.getLocalTimeStamp() / 1000);
-        }
-        ResourceAttributes attributes = resource.getResourceAttributes();
-        if (attributes.isExecutable()) {
-        	newEntry.setMode(newEntry.getMode() | 0111);
-        }
-        if (attributes.isReadOnly()) {
-        	newEntry.setMode(newEntry.getMode() & ~0222);
-        }
-        write(newEntry, resource);
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileStructureProvider.java
deleted file mode 100644
index b3d6615..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarFileStructureProvider.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.ResourceAttributes;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-
-/**
- * This class provides information regarding the context structure and
- * content of specified tar file entry objects.
- */
-public class TarFileStructureProvider implements IImportStructureProvider {
-    private TarFile tarFile;
-
-    private TarEntry root = new TarEntry("/");//$NON-NLS-1$
-
-    private Map children;
-
-    private Map directoryEntryCache = new HashMap();
-
-    /**
-     * Creates a <code>TarFileStructureProvider</code>, which will operate
-     * on the passed tar file.
-     * 
-     * @param sourceFile the source TarFile
-     */
-    public TarFileStructureProvider(TarFile sourceFile) {
-        super();
-        tarFile = sourceFile;
-        root.setFileType(TarEntry.DIRECTORY);
-    }
-
-    /**
-     * Adds the specified child to the internal collection of the parent's children.
-     */
-    protected void addToChildren(TarEntry parent, TarEntry child) {
-        List childList = (List) children.get(parent);
-        if (childList == null) {
-            childList = new ArrayList();
-            children.put(parent, childList);
-        }
-
-        childList.add(child);
-    }
-
-    /**
-     * Creates a new container tar entry with the specified name, iff
-     * it has not already been created.
-     */
-    protected void createContainer(IPath pathname) {
-        if (directoryEntryCache.containsKey(pathname))
-            return;
-
-        TarEntry parent;
-        if (pathname.segmentCount() == 1)
-            parent = root;
-        else
-            parent = (TarEntry) directoryEntryCache.get(pathname
-                    .removeLastSegments(1));
-
-        TarEntry newEntry = new TarEntry(pathname.toString());
-        newEntry.setFileType(TarEntry.DIRECTORY);
-        directoryEntryCache.put(pathname, newEntry);
-        addToChildren(parent, newEntry);
-    }
-
-    /**
-     * Creates a new tar file entry with the specified name.
-     */
-    protected void createFile(TarEntry entry) {
-        IPath pathname = new Path(entry.getName());
-        TarEntry parent;
-        if (pathname.segmentCount() == 1)
-            parent = root;
-        else
-            parent = (TarEntry) directoryEntryCache.get(pathname
-                    .removeLastSegments(1));
-
-        addToChildren(parent, entry);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public List getChildren(Object element) {
-        if (children == null)
-            initialize();
-
-        return ((List) children.get(element));
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public InputStream getContents(Object element) {
-        try {
-            return tarFile.getInputStream((TarEntry) element);
-        } catch (TarException e) {
-        	return null;
-        } catch (IOException e) {
-            return null;
-        }
-    }
-    
-    /**
-     * Returns the resource attributes for this file.
-     * 
-     * @param element
-     * @return the attributes of the file
-     */
-    public ResourceAttributes getResourceAttributes(Object element) {
-    	ResourceAttributes attributes = new ResourceAttributes();
-    	TarEntry entry = (TarEntry) element;
-    	attributes.setExecutable((entry.getMode() & 0100) != 0);
-    	attributes.setReadOnly((entry.getMode() & 0200) == 0);
-    	return attributes;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public String getFullPath(Object element) {
-        return ((TarEntry) element).getName();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public String getLabel(Object element) {
-        if (element.equals(root))
-            return ((TarEntry) element).getName();
-
-        return new Path(((TarEntry) element).getName()).lastSegment();
-    }
-
-    /**
-     * Returns the entry that this importer uses as the root sentinel.
-     *
-     * @return TarEntry entry
-     */
-    public TarEntry getRoot() {
-        return root;
-    }
-
-    /**
-     * Returns the tar file that this provider provides structure for.
-     * 
-     * @return TarFile file
-     */
-    public TarFile getTarFile() {
-        return tarFile;
-    }
-
-    /**
-     * Initializes this object's children table based on the contents of
-     * the specified source file.
-     */
-    protected void initialize() {
-        children = new HashMap(1000);
-
-        Enumeration entries = tarFile.entries();
-        while (entries.hasMoreElements()) {
-            TarEntry entry = (TarEntry) entries.nextElement();
-            if (entry.getFileType() == TarEntry.FILE) {
-                IPath path = new Path(entry.getName()).addTrailingSeparator();
-                int pathSegmentCount = path.segmentCount();
-
-                for (int i = 1; i < pathSegmentCount; i++)
-                    createContainer(path.uptoSegment(i));
-                createFile(entry);
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public boolean isFolder(Object element) {
-        return (((TarEntry) element).getFileType() == TarEntry.DIRECTORY);
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarInputStream.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarInputStream.java
deleted file mode 100644
index 9daf561..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarInputStream.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Input stream for reading files in ustar format (tar) compatible
- * with the specification in IEEE Std 1003.1-2001.  Also supports
- * long filenames encoded using the GNU @LongLink extension.
- * 
- * @since 3.1
- */
-public class TarInputStream extends FilterInputStream
-{
-	private int nextEntry = 0;
-	private int nextEOF = 0;
-	private int filepos = 0;
-	private int bytesread = 0;
-	private TarEntry firstEntry = null;
-	private String longLinkName = null;
-
-	/**
-	 * Creates a new tar input stream on the given input stream.
-	 * 
-	 * @param in input stream
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarInputStream(InputStream in) throws TarException, IOException {
-		super(in);
-
-		// Read in the first TarEntry to make sure
-		// the input is a valid tar file stream.
-		firstEntry = getNextEntry();
-	}
-
-	/**
-	 * Create a new tar input stream, skipping ahead to the given entry
-	 * in the file.
-	 * 
-	 * @param in input stream
-	 * @param entry skips to this entry in the file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	TarInputStream(InputStream in, TarEntry entry) throws TarException, IOException {
-		super(in);
-		skipToEntry(entry);
-	}
-
-	/**
-	 *  The checksum of a tar file header is simply the sum of the bytes in
-	 *  the header.
-	 * 
-	 * @param header
-	 * @return checksum
-	 */
-	private long headerChecksum(byte[] header) {
-		long sum = 0;
-
-		for(int i = 0; i < 512; i++) {
-			sum += header[i];
-		}
-
-		return sum;
-	}
-
-	/**
-	 * Skips ahead to the position of the given entry in the file.
-	 * 
-	 * @param entry
-	 * @returns false if the entry has already been passed
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	boolean skipToEntry(TarEntry entry) throws TarException, IOException {
-		int bytestoskip = entry.filepos - bytesread;
-		if(bytestoskip < 0) return false;
-		while(bytestoskip > 0) {
-			long ret = in.skip(bytestoskip);
-			if(ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			bytestoskip -= ret;
-			bytesread += ret;
-		}
-		filepos = entry.filepos;
-		nextEntry = 0;
-		nextEOF = 0;
-		TarEntry foundEntry = getNextEntry();
-		if(!foundEntry.getName().equals(entry.getName())) {
-			throw new IOException("inconsistent file"); //$NON-NLS-1$
-		}
-		return true;
-	}
-
-	/**
-	 * Returns true if the header checksum is correct.
-	 * 
-	 * @param header
-	 * @return true if this header has a valid checksum
-	 */
-	private boolean isValidTarHeader(byte[] header) {
-		long fileChecksum, calculatedChecksum;
-		int pos, i;
-		
-		
-		pos = 148;
-		StringBuffer checksumString = new StringBuffer();
-		for(i = 0; i < 8; i++) {
-			if(header[pos + i] == 0 || !Character.isDigit((char) header[pos + i])) break;
-			checksumString.append((char) header[pos + i]);
-		}
-		if(checksumString.length() == 0) return false;
-		if(checksumString.charAt(0) != '0') checksumString.insert(0, '0');
-		fileChecksum = Long.decode(checksumString.toString()).longValue();
-
-		// Blank out the checksum.
-		for(i = 0; i < 8; i++) {
-			header[pos + i] = ' ';
-		}
-		calculatedChecksum = headerChecksum(header);
-
-		return (fileChecksum == calculatedChecksum);
-	}
-
-	/**
-	 * Returns the next entry in the tar file.  Does not handle
-	 * GNU @LongLink extensions.
-	 * 
-	 * @return the next entry in the tar file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	TarEntry getNextEntryInternal() throws TarException, IOException {
-		byte[] header = new byte[512];
-		int pos = 0;
-		int i;
-
-		if(firstEntry != null) {
-			TarEntry entryReturn = firstEntry;
-			firstEntry = null;
-			return entryReturn;
-		}
-
-		while(nextEntry > 0) {
-			long ret = in.skip(nextEntry);
-			if(ret < 0) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			nextEntry -= ret;
-			bytesread += ret;
-		}
-
-		int bytestoread = 512;
-		while(bytestoread > 0) {
-			int ret = super.read(header, 512 - bytestoread, bytestoread);
-			if( ret < 0 ) {
-				throw new IOException("early end of stream"); //$NON-NLS-1$
-			}
-			bytestoread -= ret;
-			bytesread += ret;
-		}
-
-		// If we have a header of all zeros, this marks the end of the file.
-		if(headerChecksum(header) == 0) {
-			// We are at the end of the file.
-			if(filepos > 0) {
-				return null;
-			}
-			
-			// Invalid stream.
-			throw new TarException("not in tar format"); //$NON-NLS-1$
-		}
-		
-		// Validate checksum.
-		if(!isValidTarHeader(header)) {
-			throw new TarException("not in tar format"); //$NON-NLS-1$
-		}
-
-		StringBuffer name = new StringBuffer();
-		while(pos < 100 && header[pos] != 0) {
-			name.append((char) header[pos]);
-			pos++;
-		}
-		// Prepend the prefix here.
-		pos = 345;
-		if(header[pos] != 0) {
-			StringBuffer prefix = new StringBuffer();
-			while(pos < 500 && header[pos] != 0) {
-				prefix.append((char) header[pos]);
-				pos++;
-			}
-			prefix.append('/');
-			name.insert(0, prefix);
-		}
-		
-		TarEntry entry;
-		if(longLinkName != null) {
-			entry = new TarEntry(longLinkName, filepos);
-			longLinkName = null;
-		} else {
-			entry = new TarEntry(name.toString(), filepos);
-		}
-		if(header[156] != 0) {
-			entry.setFileType(header[156]);
-		}
-		
-		pos = 100;
-		StringBuffer mode = new StringBuffer();
-		for(i = 0; i < 8; i++) {
-			if(header[pos + i] == 0) break;
-			mode.append((char) header[pos + i]);
-		}
-		if(mode.length() > 0 && mode.charAt(0) != '0') mode.insert(0, '0');
-		long fileMode = Long.decode(mode.toString()).longValue();
-		entry.setMode(fileMode);
-		
-		pos = 100 + 24;
-		StringBuffer size = new StringBuffer();
-		for(i = 0; i < 12; i++) {
-			if(header[pos + i] == 0) break;
-			size.append((char) header[pos + i]);
-		}
-		if(size.charAt(0) != '0') size.insert(0, '0');
-		int fileSize = Integer.decode(size.toString()).intValue();
-		entry.setSize(fileSize);
-		nextEOF = fileSize;
-		if(fileSize % 512 > 0) {
-			nextEntry = fileSize + (512 - (fileSize % 512));
-		} else {
-			nextEntry = fileSize;
-		}
-		filepos += (nextEntry + 512);
-		return entry;
-	}
-
-	/**
-	 * Moves ahead to the next file in the tar archive and returns
-	 * a TarEntry object describing it.
-	 * 
-	 * @return the next entry in the tar file
-	 * @throws TarException
-	 * @throws IOException
-	 */
-	public TarEntry getNextEntry() throws TarException, IOException {
-		TarEntry entry = getNextEntryInternal();
-
-		if(entry != null && entry.getName().equals("././@LongLink")) { //$NON-NLS-1$
-			// This is a GNU extension for doing long filenames.
-			// We get a file called ././@LongLink which just contains
-			// the real pathname.
-			byte[] longNameData = new byte[(int) entry.getSize()];
-			read(longNameData, 0, longNameData.length);
-
-			StringBuffer filename = new StringBuffer();
-			int pos = 0;
-			
-			while(pos < longNameData.length && longNameData[pos] != 0) {
-				filename.append((char) longNameData[pos]);
-				pos++;
-			}
-			longLinkName = filename.toString();
-			return getNextEntryInternal();
-		}
-		return entry;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.io.FilterInputStream#read(byte[], int, int)
-	 */
-	public int read(byte[] b, int off, int len) throws IOException {
-		if(nextEOF == 0) return -1;
-		if(len > nextEOF) len = nextEOF;
-		int size = super.read(b, off, len);
-		nextEntry -= size;
-		nextEOF -= size;
-		bytesread += size;
-		return size;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarOutputStream.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarOutputStream.java
deleted file mode 100644
index 84427c1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/TarOutputStream.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.FilterOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * Output stream for writing ustar archive files (tar) compatible
- * with the specification in IEEE Std 1003.1-2001.
- *
- * @since 3.1
- */
-public class TarOutputStream extends FilterOutputStream {
-	
-	private int byteswritten = 0;
-	private int datapos = 0;
-	private long cursize = 0;
-
-	/**
-	 * Creates a new tar output stream.
-	 * 
-	 * @param out the stream to write to
-	 */
-	public TarOutputStream(OutputStream out) {
-		super(out);
-	}
-
-	/**
-	 * Close the output stream and write any necessary padding.
-	 */
-	public void close() throws IOException {
-		// Spec says to write 1024 bytes of zeros at the end.
-		byte[] zeros = new byte[1024];
-		cursize = 1024;
-		write(zeros, 0, 1024);
-
-		// Default block size for tar files is 10240, so we have to
-		// pad the end of the file to be a multiple of this size.
-		if((byteswritten % 10240) != 0) {
-			int length = 10240 - (byteswritten % 10240);
-			cursize = length;
-			zeros = new byte[length];
-			write(zeros, 0, length);
-		}
-		super.close();
-	}
-
-	/**
-	 * Close the current entry in the tar file.  Must be called
-	 * after each entry is completed.
-	 * 
-	 * @throws IOException
-	 */
-	public void closeEntry() throws IOException {
-		byte[] data = new byte[512];
-		int len = 512 - datapos;
-		if(len > 0 && datapos > 0) {
-			cursize = len;
-			write(data, 0, len);
-		}
-	}
-
-	/**
-	 *  The checksum of a tar file header is simply the sum of the bytes in
-	 *  the header.
-	 * 
-	 * @param header
-	 * @return checksum
-	 */
-	private long headerChecksum(byte[] header) {
-		long sum = 0;
-		for(int i = 0; i < 512; i++) {
-			sum += header[i];
-		}
-		return sum;
-	}
-
-	/**
-	 * Adds an entry for a new file in the tar archive.
-	 * 
-	 * @param e TarEntry describing the file
-	 * @throws IOException
-	 */
-	public void putNextEntry(TarEntry e) throws IOException {
-		byte[] header = new byte[512];
-		String filename = e.getName();
-		String prefix = null;
-		int pos, i;
-		
-		/* Split filename into name and prefix if necessary. */
-		if(filename.length() > 99 ) {
-			int seppos = filename.lastIndexOf('/');
-			if(seppos == -1) throw new IOException("filename too long"); //$NON-NLS-1$
-			prefix = filename.substring(0, seppos);
-			filename = filename.substring(seppos + 1);
-			if(filename.length() > 99) throw new IOException("filename too long"); //$NON-NLS-1$
-		}
-		
-		/* Filename. */
-		pos = 0;
-		for(i = 0; i < filename.length(); i++) {
-			header[pos + i] = (byte) filename.charAt(i);
-		}
-		pos += 100;
-		
-		/* File mode. */
-		StringBuffer mode = new StringBuffer(Long.toOctalString(e.getMode()));
-		while(mode.length() < 7) mode.insert(0,'0');
-		for(i = 0; i < 7; i++) {
-			header[pos + i] = (byte) mode.charAt(i);
-		}
-		pos += 8;
-		
-		/* UID. */
-		header[pos] = '0';
-		pos += 8;
-		
-		/* GID. */
-		header[pos] = '0';
-		pos += 8;
-		
-		/* Length of the file. */
-		String length = Long.toOctalString(e.getSize());
-		for(i = 0; i < length.length(); i++) {
-			header[pos + i] = (byte) length.charAt(i);
-		}
-		pos += 12;
-		
-		/* mtime */
-		String mtime = Long.toOctalString(e.getTime());
-		for(i = 0; i < mtime.length(); i++) {
-			header[pos + i] = (byte) mtime.charAt(i);
-		}
-		pos += 12;
-		
-		/* "Blank" out the checksum. */
-		for(i = 0; i < 8; i++) {
-			header[pos + i] = ' ';
-		}
-		pos += 8;
-		
-		/* Link flag. */
-		header[pos] = (byte) e.getFileType();
-		pos += 1;
-
-		/* Link destination. */
-		pos += 100;
-
-		/* Add ustar header. */
-		String ustar = "ustar 00"; //$NON-NLS-1$
-		for(i = 0; i < ustar.length(); i++) {
-			header[pos + i] = (byte) ustar.charAt(i);
-		}
-		header[pos + 5] = 0;
-		pos += 8;
-		
-		/* Username. */
-		String uname = "nobody"; //$NON-NLS-1$
-		for(i = 0; i < uname.length(); i++) {
-			header[pos + i] = (byte) uname.charAt(i);
-		}
-		pos += 32;
-		
-		
-		/* Group name. */
-		String gname = "nobody"; //$NON-NLS-1$
-		for(i = 0; i < gname.length(); i++) {
-			header[pos + i] = (byte) gname.charAt(i);
-		}
-		pos += 32;
-		
-		/* Device major. */
-		pos += 8;
-
-		/* Device minor. */
-		pos += 8;
-
-		/* File prefix. */
-		if(prefix != null) {
-			if(prefix.length() > 155) throw new IOException("prefix too large"); //$NON-NLS-1$
-			for(i = 0; i < prefix.length(); i++) {
-				header[pos + i] = (byte) prefix.charAt(i);
-			}
-		}
-
-		long sum = headerChecksum(header);
-		pos = 100 + 8 + 8 + 8 + 12 + 12;
-		String sumval = Long.toOctalString(sum);
-		for(i = 0; i < sumval.length(); i++) {
-			header[pos + i] = (byte) sumval.charAt(i);
-		}
-
-		cursize = 512;
-		write(header, 0, 512);
-		
-		cursize = e.getSize();
-	}
-
-	/**
-	 * Writes data for the current file into the archive.
-	 */
-	public void write(byte[] b, int off, int len) throws IOException {
-		super.write(b, off, len);
-		datapos = (datapos + len) % 512;
-		byteswritten += len;
-		cursize -= len;
-		if(cursize < 0) {
-			throw new IOException("too much data written for current file"); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceExportPage1.java
deleted file mode 100644
index bb9e267..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceExportPage1.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
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-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.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.PlatformUI;
-
-/**
- *	Page 1 of the base resource export-to-archive Wizard.
- *
- *	@since 3.1
- */
-public class WizardArchiveFileResourceExportPage1 extends
-		WizardFileSystemResourceExportPage1 {
-
-    // widgets
-    protected Button compressContentsCheckbox;
-    
-    private Button zipFormatButton;
-    private Button targzFormatButton;
-
-    // dialog store id constants
-    private final static String STORE_DESTINATION_NAMES_ID = "WizardZipFileResourceExportPage1.STORE_DESTINATION_NAMES_ID"; //$NON-NLS-1$
-
-    private final static String STORE_CREATE_STRUCTURE_ID = "WizardZipFileResourceExportPage1.STORE_CREATE_STRUCTURE_ID"; //$NON-NLS-1$
-
-    private final static String STORE_COMPRESS_CONTENTS_ID = "WizardZipFileResourceExportPage1.STORE_COMPRESS_CONTENTS_ID"; //$NON-NLS-1$
-
-    /**
-     *	Create an instance of this class. 
-     *
-     *	@param name java.lang.String
-     */
-    protected WizardArchiveFileResourceExportPage1(String name,
-            IStructuredSelection selection) {
-        super(name, selection);
-    }
-
-    /**
-     * Create an instance of this class
-     * @param selection the selection
-     */
-    public WizardArchiveFileResourceExportPage1(IStructuredSelection selection) {
-        this("zipFileExportPage1", selection); //$NON-NLS-1$
-        setTitle(DataTransferMessages.getString("ArchiveExport.exportTitle")); //$NON-NLS-1$
-        setDescription(DataTransferMessages.getString("ArchiveExport.description")); //$NON-NLS-1$
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IDataTransferHelpContextIds.ZIP_FILE_EXPORT_WIZARD_PAGE);
-    }
-
-    /**
-     *	Create the export options specification widgets.
-     *
-     */
-    protected void createOptionsGroupButtons(Group optionsGroup) {
-    	Font font = optionsGroup.getFont();
-    	optionsGroup.setLayout(new GridLayout(2, true));
-    	
-    	Composite left = new Composite(optionsGroup, SWT.NONE);
-    	left.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, false));
-    	left.setLayout(new GridLayout(1, true));
-
-        createFileFormatOptions(left, font);
-        
-        // compress... checkbox
-        compressContentsCheckbox = new Button(left, SWT.CHECK
-                | SWT.LEFT);
-        compressContentsCheckbox.setText(DataTransferMessages
-                .getString("ZipExport.compressContents")); //$NON-NLS-1$
-        compressContentsCheckbox.setFont(font);
-
-        Composite right = new Composite(optionsGroup, SWT.NONE);
-        right.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, false));
-        right.setLayout(new GridLayout(1, true));
-
-        createDirectoryStructureOptions(right, font);
-
-        // initial setup
-        createDirectoryStructureButton.setSelection(true);
-        createSelectionOnlyButton.setSelection(false);
-        compressContentsCheckbox.setSelection(true);
-    }
-
-    /**
-     * Create the buttons for the group that determine if the entire or
-     * selected directory structure should be created.
-     * @param optionsGroup
-     * @param font
-     */
-    protected void createFileFormatOptions(Composite optionsGroup, Font font) {
-        // create directory structure radios
-        zipFormatButton = new Button(optionsGroup, SWT.RADIO | SWT.LEFT);
-        zipFormatButton.setText(DataTransferMessages
-                .getString("ArchiveExport.saveInZipFormat")); //$NON-NLS-1$
-        zipFormatButton.setSelection(true);
-        zipFormatButton.setFont(font);
-
-        // create directory structure radios
-        targzFormatButton = new Button(optionsGroup, SWT.RADIO | SWT.LEFT);
-        targzFormatButton.setText(DataTransferMessages
-                .getString("ArchiveExport.saveInTarFormat")); //$NON-NLS-1$
-        targzFormatButton.setSelection(false);
-        targzFormatButton.setFont(font);
-    }    
-    
-    /**
-     * Returns a boolean indicating whether the directory portion of the
-     * passed pathname is valid and available for use.
-     */
-    protected boolean ensureTargetDirectoryIsValid(String fullPathname) {
-        int separatorIndex = fullPathname.lastIndexOf(File.separator);
-
-        if (separatorIndex == -1) // ie.- default dir, which is fine
-            return true;
-
-        return ensureTargetIsValid(new File(fullPathname.substring(0,
-                separatorIndex)));
-    }
-
-    /**
-     * Returns a boolean indicating whether the passed File handle is
-     * is valid and available for use.
-     */
-    protected boolean ensureTargetFileIsValid(File targetFile) {
-        if (targetFile.exists() && targetFile.isDirectory()) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipExport.mustBeFile")); //$NON-NLS-1$
-            giveFocusToDestination();
-            return false;
-        }
-
-        if (targetFile.exists()) {
-            if (targetFile.canWrite()) {
-                if (!queryYesNoQuestion(DataTransferMessages
-                        .getString("ZipExport.alreadyExists"))) //$NON-NLS-1$
-                    return false;
-            } else {
-                displayErrorDialog(DataTransferMessages
-                        .getString("ZipExport.alreadyExistsError")); //$NON-NLS-1$
-                giveFocusToDestination();
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Ensures that the target output file and its containing directory are
-     * both valid and able to be used.  Answer a boolean indicating validity.
-     */
-    protected boolean ensureTargetIsValid() {
-        String targetPath = getDestinationValue();
-
-        if (!ensureTargetDirectoryIsValid(targetPath))
-            return false;
-
-        if (!ensureTargetFileIsValid(new File(targetPath)))
-            return false;
-
-        return true;
-    }
-
-    /**
-     *  Export the passed resource and recursively export all of its child resources
-     *  (iff it's a container).  Answer a boolean indicating success.
-     */
-    protected boolean executeExportOperation(ArchiveFileExportOperation op) {
-        op.setCreateLeadupStructure(createDirectoryStructureButton
-                .getSelection());
-        op.setUseCompression(compressContentsCheckbox.getSelection());
-        op.setUseTarFormat(targzFormatButton.getSelection());
-
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            displayErrorDialog(e.getTargetException());
-            return false;
-        }
-
-        IStatus status = op.getStatus();
-        if (!status.isOK()) {
-            ErrorDialog.openError(getContainer().getShell(),
-                    DataTransferMessages
-                            .getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-                    null, // no special message
-                    status);
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * The Finish button was pressed.  Try to do the required work now and answer
-     * a boolean indicating success.  If false is returned then the wizard will
-     * not close.
-     * @returns boolean
-     */
-    public boolean finish() {
-        if (!ensureTargetIsValid())
-            return false;
-
-        List resourcesToExport = getWhiteCheckedResources();
-
-        //Save dirty editors if possible but do not stop if not all are saved
-        saveDirtyEditors();
-        // about to invoke the operation so save our state
-        saveWidgetValues();
-
-        if (resourcesToExport.size() > 0) {
-            return executeExportOperation(new ArchiveFileExportOperation(null,
-                    resourcesToExport, getDestinationValue()));
-        }
-
-        MessageDialog.openInformation(getContainer().getShell(),
-                DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-                DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-        return false;
-    }
-
-    /**
-     *	Answer the string to display in the receiver as the destination type
-     */
-    protected String getDestinationLabel() {
-        return DataTransferMessages.getString("ArchiveExport.destinationLabel"); //$NON-NLS-1$
-    }
-
-    /**
-     *	Answer the contents of self's destination specification widget.  If this
-     *	value does not have a suffix then add it first.
-     */
-    protected String getDestinationValue() {
-        String idealSuffix = getOutputSuffix();
-        String destinationText = super.getDestinationValue();
-
-        // only append a suffix if the destination doesn't already have a . in 
-        // its last path segment.  
-        // Also prevent the user from selecting a directory.  Allowing this will 
-        // create a ".zip" file in the directory
-        if (destinationText.length() != 0
-                && !destinationText.endsWith(File.separator)) {
-            int dotIndex = destinationText.lastIndexOf('.');
-            if (dotIndex != -1) {
-                // the last path seperator index
-                int pathSepIndex = destinationText.lastIndexOf(File.separator);
-                if (pathSepIndex != -1 && dotIndex < pathSepIndex) {
-                    destinationText += idealSuffix;
-                }
-            } else {
-                destinationText += idealSuffix;
-            }
-        }
-
-        return destinationText;
-    }
-
-    /**
-     *	Answer the suffix that files exported from this wizard should have.
-     *	If this suffix is a file extension (which is typically the case)
-     *	then it must include the leading period character.
-     *
-     */
-    protected String getOutputSuffix() {
-    	if(zipFormatButton.getSelection()) {
-        	return ".zip"; //$NON-NLS-1$
-    	} else if(compressContentsCheckbox.getSelection()) {
-    		return ".tar.gz"; //$NON-NLS-1$
-    	} else {
-    		return ".tar"; //$NON-NLS-1$
-    	}
-    }
-
-    /**
-     *	Open an appropriate destination browser so that the user can specify a source
-     *	to import from
-     */
-    protected void handleDestinationBrowseButtonPressed() {
-        FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.SAVE);
-        dialog.setFilterExtensions(new String[] { "*.zip;*.tar.gz;*.tar;*.tgz", "*.*" }); //$NON-NLS-1$ //$NON-NLS-2$
-        dialog.setText(DataTransferMessages
-                .getString("ArchiveExport.selectDestinationTitle")); //$NON-NLS-1$
-        String currentSourceString = getDestinationValue();
-        int lastSeparatorIndex = currentSourceString
-                .lastIndexOf(File.separator);
-        if (lastSeparatorIndex != -1)
-            dialog.setFilterPath(currentSourceString.substring(0,
-                    lastSeparatorIndex));
-        String selectedFileName = dialog.open();
-
-        if (selectedFileName != null) {
-            setErrorMessage(null);
-            setDestinationValue(selectedFileName);
-        }
-    }
-
-    /**
-     *	Hook method for saving widget values for restoration by the next instance
-     *	of this class.
-     */
-    protected void internalSaveWidgetValues() {
-        // update directory names history
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] directoryNames = settings
-                    .getArray(STORE_DESTINATION_NAMES_ID);
-            if (directoryNames == null)
-                directoryNames = new String[0];
-
-            directoryNames = addToHistory(directoryNames, getDestinationValue());
-            settings.put(STORE_DESTINATION_NAMES_ID, directoryNames);
-
-            settings.put(STORE_CREATE_STRUCTURE_ID,
-                    createDirectoryStructureButton.getSelection());
-
-            settings.put(STORE_COMPRESS_CONTENTS_ID, compressContentsCheckbox
-                    .getSelection());
-        }
-    }
-
-    /**
-     *	Hook method for restoring widget values to the values that they held
-     *	last time this wizard was used to completion.
-     */
-    protected void restoreWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] directoryNames = settings
-                    .getArray(STORE_DESTINATION_NAMES_ID);
-            if (directoryNames == null || directoryNames.length == 0)
-                return; // ie.- no settings stored
-
-            // destination
-            setDestinationValue(directoryNames[0]);
-            for (int i = 0; i < directoryNames.length; i++)
-                addDestinationItem(directoryNames[i]);
-
-            boolean setStructure = settings
-                    .getBoolean(STORE_CREATE_STRUCTURE_ID);
-
-            createDirectoryStructureButton.setSelection(setStructure);
-            createSelectionOnlyButton.setSelection(!setStructure);
-
-            compressContentsCheckbox.setSelection(settings
-                    .getBoolean(STORE_COMPRESS_CONTENTS_ID));
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.wizards.datatransfer.WizardFileSystemResourceExportPage1#destinationEmptyMessage()
-     */
-    protected String destinationEmptyMessage() {
-        return DataTransferMessages.getString("ArchiveExport.destinationEmpty"); //$NON-NLS-1$
-    }
-    
-    /**
-     *	Answer a boolean indicating whether the receivers destination specification
-     *	widgets currently all contain valid values.
-     */
-    protected boolean validateDestinationGroup() {
-    	String destinationValue = getDestinationValue();
-    	if (destinationValue.endsWith(".tar")) { //$NON-NLS-1$
-    		compressContentsCheckbox.setSelection(false);
-    		targzFormatButton.setSelection(true);
-    		zipFormatButton.setSelection(false);
-    	} else if (destinationValue.endsWith(".tar.gz") //$NON-NLS-1$
-				|| destinationValue.endsWith(".tgz")) { //$NON-NLS-1$
-    		compressContentsCheckbox.setSelection(true);
-    		targzFormatButton.setSelection(true);
-    		zipFormatButton.setSelection(false);
-    	} else if (destinationValue.endsWith(".zip")) { //$NON-NLS-1$
-    		zipFormatButton.setSelection(true);
-    		targzFormatButton.setSelection(false);
-    	}
-    	
-    	return super.validateDestinationGroup();
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceImportPage1.java
deleted file mode 100644
index 0d5c4f3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardArchiveFileResourceImportPage1.java
+++ /dev/null
@@ -1,560 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-
-/**
- *	Page 1 of the base resource import-from-archive Wizard.
- *
- *	Note that importing from .jar is identical to importing from .zip, so
- *	all references to .zip in this class are equally applicable to .jar
- *	references.
- *
- *	@since 3.1
- */
-public class WizardArchiveFileResourceImportPage1 extends
-        WizardFileSystemResourceImportPage1 implements Listener {
-    private ZipFileStructureProvider zipProviderCache;
-    private TarFileStructureProvider tarProviderCache;
-
-    ZipFileStructureProvider zipCurrentProvider;
-    TarFileStructureProvider tarCurrentProvider;
-
-    // constants
-    private static final String[] FILE_IMPORT_MASK = { "*.jar;*.zip;*.tar;*.tar.gz;*.tgz", "*.*" }; //$NON-NLS-1$ //$NON-NLS-2$
-
-    // dialog store id constants
-    private final static String STORE_SOURCE_NAMES_ID = "WizardZipFileResourceImportPage1.STORE_SOURCE_NAMES_ID"; //$NON-NLS-1$
-
-    private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID = "WizardZipFileResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID"; //$NON-NLS-1$
-
-    private final static String STORE_SELECTED_TYPES_ID = "WizardZipFileResourceImportPage1.STORE_SELECTED_TYPES_ID"; //$NON-NLS-1$
-
-    /**
-     *	Creates an instance of this class
-     * @param aWorkbench IWorkbench
-     * @param selection IStructuredSelection
-     */
-    public WizardArchiveFileResourceImportPage1(IWorkbench aWorkbench,
-            IStructuredSelection selection) {
-        super("zipFileImportPage1", aWorkbench, selection); //$NON-NLS-1$
-        setTitle(DataTransferMessages.getString("ArchiveExport.exportTitle")); //$NON-NLS-1$
-        setDescription(DataTransferMessages.getString("ArchiveImport.description")); //$NON-NLS-1$
-    }
-
-    /**
-     * Called when the user presses the Cancel button. Return a boolean
-     * indicating permission to close the wizard.
-     *
-     * @return boolean
-     */
-    public boolean cancel() {
-        clearProviderCache();
-        return true;
-    }
-
-    /**
-     * Clears the cached structure provider after first finalizing
-     * it properly.
-     */
-    protected void clearProviderCache() {
-        if (zipProviderCache != null) {
-            closeZipFile(zipProviderCache.getZipFile());
-            zipProviderCache = null;
-        }
-        tarProviderCache = null;
-    }
-
-    /**
-     * Attempts to close the passed zip file, and answers a boolean indicating success.
-     */
-    protected boolean closeZipFile(ZipFile file) {
-        try {
-            file.close();
-        } catch (IOException e) {
-            displayErrorDialog(DataTransferMessages.format(
-                    "ZipImport.couldNotClose", new Object[] { file.getName() })); //$NON-NLS-1$
-            return false;
-        }
-
-        return true;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IDataTransferHelpContextIds.ZIP_FILE_IMPORT_WIZARD_PAGE);
-    }
-
-    /**
-     *	Create the options specification widgets. There is only one
-     * in this case so create no group.
-     *
-     *	@param parent org.eclipse.swt.widgets.Composite
-     */
-    protected void createOptionsGroup(Composite parent) {
-
-        // overwrite... checkbox
-        overwriteExistingResourcesCheckbox = new Button(parent, SWT.CHECK);
-        overwriteExistingResourcesCheckbox.setText(DataTransferMessages
-                .getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-        overwriteExistingResourcesCheckbox.setFont(parent.getFont());
-    }
-
-    /**
-     * Determine whether the file with the given filename is
-     * in .tar.gz or .tar format.
-     * 
-     * @param fileName file to test
-     * @return true if the file is in tar format
-     */
-    private boolean isTarFile(String fileName) {
-    	if (fileName.length() == 0)
-    		return false;
-
-        try {
-       		new TarFile(fileName);
-    	} catch (TarException tarException) {
-            return false;
-    	} catch (IOException ioException) {
-            return false;
-    	}
-
-    	return true;
-    }
-
-    private boolean validateSourceFile(String fileName) {
-    	if(isTarFile(fileName)) {
-    		TarFile tarFile = getSpecifiedTarSourceFile(fileName);
-    		return (tarFile != null);
-    	}
-    	ZipFile zipFile = getSpecifiedZipSourceFile(fileName);
-    	if(zipFile != null) {
-    		closeZipFile(zipFile);
-    		return true;
-    	}
-    	return false;
-    }
-
-    /**
-     *	Answer a boolean indicating whether the specified source currently exists
-     *	and is valid (ie.- proper format)
-     */
-    private boolean ensureZipSourceIsValid() {
-        ZipFile specifiedFile = getSpecifiedZipSourceFile();
-        if (specifiedFile == null) {
-            return false;
-        }
-        return closeZipFile(specifiedFile);
-    }
-
-    private boolean ensureTarSourceIsValid() {
-    	TarFile specifiedFile = getSpecifiedTarSourceFile();
-    	if( specifiedFile == null ) {
-    		return false;
-    	}
-    	return true;
-    }
-
-    /**
-     *	Answer a boolean indicating whether the specified source currently exists
-     *	and is valid (ie.- proper format)
-     */
-    protected boolean ensureSourceIsValid() {
-    	if (isTarFile(sourceNameField.getText())) {
-    		return ensureTarSourceIsValid();
-    	}
-    	return ensureZipSourceIsValid();
-    }
-    
-    /**
-     * The Finish button was pressed.  Try to do the required work now and answer
-     * a boolean indicating success.  If <code>false</code> is returned then the
-     * wizard will not close.
-     *
-     * @return boolean
-     */
-    public boolean finish() {
-        if (!super.finish())
-            return false;
-
-        clearProviderCache();
-        return true;
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only files as children.
-     */
-    protected ITreeContentProvider getFileProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    AdaptableList l;
-                    if(zipCurrentProvider != null) {
-                    	l = element.getFiles(zipCurrentProvider);
-                    } else {
-                    	l = element.getFiles(tarCurrentProvider);
-                    }
-                    return l.getChildren(element);
-                }
-                return new Object[0];
-            }
-        };
-    }
-
-    /**
-     *	Answer the root FileSystemElement that represents the contents of the
-     *	currently-specified .zip file.  If this FileSystemElement is not
-     *	currently defined then create and return it.
-     */
-    protected MinimizedFileSystemElement getFileSystemTree() {
-    	if(isTarFile(sourceNameField.getText())) {    		
-        	TarFile sourceTarFile = getSpecifiedTarSourceFile();
-        	if (sourceTarFile == null) {
-                //Clear out the provider as well
-                this.zipCurrentProvider = null;
-                this.tarCurrentProvider = null;
-                return null;
-        	}
-	
-            TarFileStructureProvider provider = getTarStructureProvider(sourceTarFile);
-            this.tarCurrentProvider = provider;
-            this.zipCurrentProvider = null;
-            return selectFiles(provider.getRoot(), provider);
-    	}
-
-        ZipFile sourceFile = getSpecifiedZipSourceFile();
-        if (sourceFile == null) {
-            //Clear out the provider as well
-            this.zipCurrentProvider = null;
-            this.tarCurrentProvider = null;
-            return null;
-        }
-
-        ZipFileStructureProvider provider = getZipStructureProvider(sourceFile);
-        this.zipCurrentProvider = provider;
-        this.tarCurrentProvider = null;
-        return selectFiles(provider.getRoot(), provider);
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only folders as children.
-     */
-    protected ITreeContentProvider getFolderProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    AdaptableList l;
-                    if(zipCurrentProvider != null) {
-                    	l = element.getFolders(zipCurrentProvider);
-                    } else {
-                    	l = element.getFolders(tarCurrentProvider);
-                    }
-                    return l.getChildren(element);
-                }
-                return new Object[0];
-            }
-
-            public boolean hasChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    if (element.isPopulated())
-                        return getChildren(element).length > 0;
-
-                    //If we have not populated then wait until asked
-                    return true;
-                }
-                return false;
-            }
-        };
-    }
-
-    /**
-     *	Answer the string to display as the label for the source specification field
-     */
-    protected String getSourceLabel() {
-        return DataTransferMessages.getString("ArchiveImport.fromFile"); //$NON-NLS-1$
-    }
-
-    /**
-     *	Answer a handle to the zip file currently specified as being the source.
-     *	Return null if this file does not exist or is not of valid format.
-     */
-    protected ZipFile getSpecifiedZipSourceFile() {
-        return getSpecifiedZipSourceFile(sourceNameField.getText());
-    }
-
-    /**
-     *	Answer a handle to the zip file currently specified as being the source.
-     *	Return null if this file does not exist or is not of valid format.
-     */
-    private ZipFile getSpecifiedZipSourceFile(String fileName) {
-        if (fileName.length() == 0)
-            return null;
-
-        try {
-            return new ZipFile(fileName);
-        } catch (ZipException e) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipImport.badFormat")); //$NON-NLS-1$
-        } catch (IOException e) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipImport.couldNotRead")); //$NON-NLS-1$
-        }
-
-        sourceNameField.setFocus();
-        return null;
-    }
-
-    /**
-     *	Answer a handle to the zip file currently specified as being the source.
-     *	Return null if this file does not exist or is not of valid format.
-     */
-    protected TarFile getSpecifiedTarSourceFile() {
-        return getSpecifiedTarSourceFile(sourceNameField.getText());
-    }
-
-    /**
-     *	Answer a handle to the zip file currently specified as being the source.
-     *	Return null if this file does not exist or is not of valid format.
-     */
-    private TarFile getSpecifiedTarSourceFile(String fileName) {
-        if (fileName.length() == 0)
-            return null;
-
-        try {
-            return new TarFile(fileName);
-        } catch (TarException e) {
-        	displayErrorDialog(DataTransferMessages
-        			.getString("TarImport.badFormat")); //$NON-NLS-1$
-        } catch (IOException e) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipImport.couldNotRead")); //$NON-NLS-1$
-        }
-
-        sourceNameField.setFocus();
-        return null;
-    }
-
-    /**
-     * Returns a structure provider for the specified zip file.
-     */
-    protected ZipFileStructureProvider getZipStructureProvider(ZipFile targetZip) {
-        if (zipProviderCache == null)
-            zipProviderCache = new ZipFileStructureProvider(targetZip);
-        else if (!zipProviderCache.getZipFile().getName().equals(
-                targetZip.getName())) {
-            clearProviderCache();
-            // ie.- new value, so finalize&remove old value
-            zipProviderCache = new ZipFileStructureProvider(targetZip);
-        } else if (!zipProviderCache.getZipFile().equals(targetZip))
-            closeZipFile(targetZip); // ie.- duplicate handle to same .zip
-
-        return zipProviderCache;
-    }
-
-    /**
-     * Returns a structure provider for the specified zip file.
-     */
-    protected TarFileStructureProvider getTarStructureProvider(TarFile targetTar) {
-        if (tarProviderCache == null)
-            tarProviderCache = new TarFileStructureProvider(targetTar);
-        else if (!tarProviderCache.getTarFile().getName().equals(
-                targetTar.getName())) {
-            clearProviderCache();
-            // ie.- new value, so finalize&remove old value
-            tarProviderCache = new TarFileStructureProvider(targetTar);
-        }
-
-        return tarProviderCache;
-    }
-
-    /**
-     *	Open a FileDialog so that the user can specify the source
-     *	file to import from
-     */
-    protected void handleSourceBrowseButtonPressed() {
-        String selectedFile = queryZipFileToImport();
-
-        if (selectedFile != null) {
-            //Be sure it is valid before we go setting any names
-            if (!selectedFile.equals(sourceNameField.getText())
-					&& validateSourceFile(selectedFile)) {
-                setSourceName(selectedFile);
-                selectionGroup.setFocus();
-            }
-        }
-    }
-
-    /**
-     *  Import the resources with extensions as specified by the user
-     */
-    protected boolean importResources(List fileSystemObjects) {
-    	boolean result = false;
-
-    	if(isTarFile(sourceNameField.getText())) {
-    		if( ensureTarSourceIsValid()) {
-	    		TarFile tarFile = getSpecifiedTarSourceFile();
-	    		TarFileStructureProvider structureProvider = getTarStructureProvider(tarFile);
-	    		ImportOperation operation = new ImportOperation(getContainerFullPath(),
-	    				structureProvider.getRoot(), structureProvider, this,
-						fileSystemObjects);
-	
-	    		operation.setContext(getShell());
-	    		return executeImportOperation(operation);
-    		}
-    	}
-
-    	if(ensureZipSourceIsValid()) {
-    		ZipFile zipFile = getSpecifiedZipSourceFile();
-    		ZipFileStructureProvider structureProvider = getZipStructureProvider(zipFile);
-    		ImportOperation operation = new ImportOperation(getContainerFullPath(),
-    				structureProvider.getRoot(), structureProvider, this,
-					fileSystemObjects);
-
-    		operation.setContext(getShell());
-    		result = executeImportOperation(operation);
-
-    		closeZipFile(zipFile);
-    	}
-    	return result;
-    }
-
-    /**
-     * Initializes the specified operation appropriately.
-     */
-    protected void initializeOperation(ImportOperation op) {
-        op.setOverwriteResources(overwriteExistingResourcesCheckbox
-                .getSelection());
-    }
-
-    /**
-     * Opens a file selection dialog and returns a string representing the
-     * selected file, or <code>null</code> if the dialog was canceled.
-     */
-    protected String queryZipFileToImport() {
-        FileDialog dialog = new FileDialog(sourceNameField.getShell(), SWT.OPEN);
-        dialog.setFilterExtensions(FILE_IMPORT_MASK);
-        dialog.setText(DataTransferMessages.getString("ArchiveImportSource.title")); //$NON-NLS-1$
-
-        String currentSourceString = sourceNameField.getText();
-        int lastSeparatorIndex = currentSourceString
-                .lastIndexOf(File.separator);
-        if (lastSeparatorIndex != -1)
-            dialog.setFilterPath(currentSourceString.substring(0,
-                    lastSeparatorIndex));
-
-        return dialog.open();
-    }
-
-    /**
-     *	Repopulate the view based on the currently entered directory.
-     */
-    protected void resetSelection() {
-
-        super.resetSelection();
-        setAllSelections(true);
-    }
-
-    /**
-     *	Use the dialog store to restore widget values to the values that they held
-     *	last time this wizard was used to completion
-     */
-    protected void restoreWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-            if (sourceNames == null)
-                return; // ie.- no settings stored
-
-            // set filenames history
-            for (int i = 0; i < sourceNames.length; i++)
-                sourceNameField.add(sourceNames[i]);
-
-            // radio buttons and checkboxes	
-            overwriteExistingResourcesCheckbox.setSelection(settings
-                    .getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-        }
-    }
-
-    /**
-     * 	Since Finish was pressed, write widget values to the dialog store so that they
-     *	will persist into the next invocation of this wizard page.
-     *
-     *	Note that this method is identical to the one that appears in the superclass.
-     *	This is necessary because proper overriding of instance variables is not occurring.
-     */
-    protected void saveWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            // update source names history
-            String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-            if (sourceNames == null)
-                sourceNames = new String[0];
-
-            sourceNames = addToHistory(sourceNames, sourceNameField.getText());
-            settings.put(STORE_SOURCE_NAMES_ID, sourceNames);
-
-            // update specific types to import history
-            String[] selectedTypesNames = settings
-                    .getArray(STORE_SELECTED_TYPES_ID);
-            if (selectedTypesNames == null)
-                selectedTypesNames = new String[0];
-
-            settings.put(STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-                    overwriteExistingResourcesCheckbox.getSelection());
-        }
-    }
-
-    /**
-     *	Answer a boolean indicating whether self's source specification
-     *	widgets currently all contain valid values.
-     */
-    protected boolean validateSourceGroup() {
-
-        //If there is nothing being provided to the input then there is a problem
-        if (this.zipCurrentProvider == null && this.tarCurrentProvider == null) {
-            setMessage(SOURCE_EMPTY_MESSAGE);
-            enableButtonGroup(false);
-            return false;
-        } 
-        enableButtonGroup(true);
-        return true;
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
deleted file mode 100644
index 82918e9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceExportPage1.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-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.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-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.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardExportResourcesPage;
-
-
-/**
- *	Page 1 of the base resource export-to-file-system Wizard
- */
-public class WizardFileSystemResourceExportPage1 extends
-        WizardExportResourcesPage implements Listener {
-
-    // widgets
-    private Combo destinationNameField;
-
-    private Button destinationBrowseButton;
-
-    protected Button overwriteExistingFilesCheckbox;
-
-    protected Button createDirectoryStructureButton;
-
-    protected Button createSelectionOnlyButton;
-
-    // dialog store id constants
-    private static final String STORE_DESTINATION_NAMES_ID = "WizardFileSystemResourceExportPage1.STORE_DESTINATION_NAMES_ID"; //$NON-NLS-1$
-
-    private static final String STORE_OVERWRITE_EXISTING_FILES_ID = "WizardFileSystemResourceExportPage1.STORE_OVERWRITE_EXISTING_FILES_ID"; //$NON-NLS-1$
-
-    private static final String STORE_CREATE_STRUCTURE_ID = "WizardFileSystemResourceExportPage1.STORE_CREATE_STRUCTURE_ID"; //$NON-NLS-1$
-
-    //messages
-    private static final String SELECT_DESTINATION_MESSAGE = DataTransferMessages
-            .getString("FileExport.selectDestinationMessage"); //$NON-NLS-1$
-
-    private static final String SELECT_DESTINATION_TITLE = DataTransferMessages
-            .getString("FileExport.selectDestinationTitle"); //$NON-NLS-1$
-
-    /**
-     *	Create an instance of this class
-     */
-    protected WizardFileSystemResourceExportPage1(String name,
-            IStructuredSelection selection) {
-        super(name, selection);
-    }
-
-    /**
-     * Create an instance of this class.
-     *
-     * @param selection the selection
-     */
-    public WizardFileSystemResourceExportPage1(IStructuredSelection selection) {
-        this("fileSystemExportPage1", selection); //$NON-NLS-1$
-        setTitle(DataTransferMessages.getString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-        setDescription(DataTransferMessages
-                .getString("FileExport.exportLocalFileSystem")); //$NON-NLS-1$
-    }
-
-    /**
-     *	Add the passed value to self's destination widget's history
-     *
-     *	@param value java.lang.String
-     */
-    protected void addDestinationItem(String value) {
-        destinationNameField.add(value);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        giveFocusToDestination();
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IDataTransferHelpContextIds.FILE_SYSTEM_EXPORT_WIZARD_PAGE);
-    }
-
-    /**
-     *	Create the export destination specification widgets
-     *
-     *	@param parent org.eclipse.swt.widgets.Composite
-     */
-    protected void createDestinationGroup(Composite parent) {
-
-        Font font = parent.getFont();
-        // destination specification group
-        Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        destinationSelectionGroup.setLayout(layout);
-        destinationSelectionGroup.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
-        destinationSelectionGroup.setFont(font);
-
-        Label destinationLabel = new Label(destinationSelectionGroup, SWT.NONE);
-        destinationLabel.setText(getDestinationLabel());
-        destinationLabel.setFont(font);
-
-        // destination name entry field
-        destinationNameField = new Combo(destinationSelectionGroup, SWT.SINGLE
-                | SWT.BORDER);
-        destinationNameField.addListener(SWT.Modify, this);
-        destinationNameField.addListener(SWT.Selection, this);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        destinationNameField.setLayoutData(data);
-        destinationNameField.setFont(font);
-
-        // destination browse button
-        destinationBrowseButton = new Button(destinationSelectionGroup,
-                SWT.PUSH);
-        destinationBrowseButton.setText(DataTransferMessages
-                .getString("DataTransfer.browse")); //$NON-NLS-1$
-        destinationBrowseButton.addListener(SWT.Selection, this);
-        destinationBrowseButton.setFont(font);
-        setButtonLayoutData(destinationBrowseButton);
-
-        new Label(parent, SWT.NONE); // vertical spacer
-    }
-
-    /**
-     * Create the buttons in the options group.
-     */
-
-    protected void createOptionsGroupButtons(Group optionsGroup) {
-
-        Font font = optionsGroup.getFont();
-        createOverwriteExisting(optionsGroup, font);
-
-        createDirectoryStructureOptions(optionsGroup, font);
-    }
-
-    /**
-     * Create the buttons for the group that determine if the entire or
-     * selected directory structure should be created.
-     * @param optionsGroup
-     * @param font
-     */
-    protected void createDirectoryStructureOptions(Composite optionsGroup, Font font) {
-        // create directory structure radios
-        createDirectoryStructureButton = new Button(optionsGroup, SWT.RADIO
-                | SWT.LEFT);
-        createDirectoryStructureButton.setText(DataTransferMessages
-                .getString("FileExport.createDirectoryStructure")); //$NON-NLS-1$
-        createDirectoryStructureButton.setSelection(false);
-        createDirectoryStructureButton.setFont(font);
-
-        // create directory structure radios
-        createSelectionOnlyButton = new Button(optionsGroup, SWT.RADIO
-                | SWT.LEFT);
-        createSelectionOnlyButton.setText(DataTransferMessages
-                .getString("FileExport.createSelectedDirectories"));//$NON-NLS-1$
-        createSelectionOnlyButton.setSelection(true);
-        createSelectionOnlyButton.setFont(font);
-    }
-
-    /**
-     * Create the button for checking if we should ask if we are going to
-     * overwrite existing files.
-     * @param optionsGroup
-     * @param font
-     */
-    protected void createOverwriteExisting(Group optionsGroup, Font font) {
-        // overwrite... checkbox
-        overwriteExistingFilesCheckbox = new Button(optionsGroup, SWT.CHECK
-                | SWT.LEFT);
-        overwriteExistingFilesCheckbox.setText(DataTransferMessages
-                .getString("ExportFile.overwriteExisting")); //$NON-NLS-1$
-        overwriteExistingFilesCheckbox.setFont(font);
-    }
-
-    /**
-     * Attempts to ensure that the specified directory exists on the local file system.
-     * Answers a boolean indicating success.
-     *
-     * @return boolean
-     * @param directory java.io.File
-     */
-    protected boolean ensureDirectoryExists(File directory) {
-        if (!directory.exists()) {
-            if (!queryYesNoQuestion(DataTransferMessages
-                    .getString("DataTransfer.createTargetDirectory"))) //$NON-NLS-1$
-                return false;
-
-            if (!directory.mkdirs()) {
-                displayErrorDialog(DataTransferMessages
-                        .getString("DataTransfer.directoryCreationError")); //$NON-NLS-1$
-                giveFocusToDestination();
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     *	If the target for export does not exist then attempt to create it.
-     *	Answer a boolean indicating whether the target exists (ie.- if it
-     *	either pre-existed or this method was able to create it)
-     *
-     *	@return boolean
-     */
-    protected boolean ensureTargetIsValid(File targetDirectory) {
-        if (targetDirectory.exists() && !targetDirectory.isDirectory()) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("FileExport.directoryExists")); //$NON-NLS-1$
-            giveFocusToDestination();
-            return false;
-        }
-
-        return ensureDirectoryExists(targetDirectory);
-    }
-
-    /**
-     *  Set up and execute the passed Operation.  Answer a boolean indicating success.
-     *
-     *  @return boolean
-     */
-    protected boolean executeExportOperation(FileSystemExportOperation op) {
-        op.setCreateLeadupStructure(createDirectoryStructureButton
-                .getSelection());
-        op.setOverwriteFiles(overwriteExistingFilesCheckbox.getSelection());
-
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            displayErrorDialog(e.getTargetException());
-            return false;
-        }
-
-        IStatus status = op.getStatus();
-        if (!status.isOK()) {
-            ErrorDialog.openError(getContainer().getShell(),
-                    DataTransferMessages
-                            .getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-                    null, // no special message
-                    status);
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     *	The Finish button was pressed.  Try to do the required work now and answer
-     *	a boolean indicating success.  If false is returned then the wizard will
-     *	not close.
-     *
-     *	@return boolean
-     */
-    public boolean finish() {
-        if (!ensureTargetIsValid(new File(getDestinationValue())))
-            return false;
-
-        List resourcesToExport = getWhiteCheckedResources();
-
-        //Save dirty editors if possible but do not stop if not all are saved
-        saveDirtyEditors();
-        // about to invoke the operation so save our state
-        saveWidgetValues();
-
-        if (resourcesToExport.size() > 0)
-            return executeExportOperation(new FileSystemExportOperation(null,
-                    resourcesToExport, getDestinationValue(), this));
-
-        MessageDialog.openInformation(getContainer().getShell(),
-                DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-                DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-        return false;
-    }
-
-    /**
-     *	Answer the string to display in self as the destination type
-     *
-     *	@return java.lang.String
-     */
-    protected String getDestinationLabel() {
-        return DataTransferMessages.getString("FileExport.toDirectory"); //$NON-NLS-1$
-    }
-
-    /**
-     *	Answer the contents of self's destination specification widget
-     *
-     *	@return java.lang.String
-     */
-    protected String getDestinationValue() {
-        return destinationNameField.getText().trim();
-    }
-
-    /**
-     *	Set the current input focus to self's destination entry field
-     */
-    protected void giveFocusToDestination() {
-        destinationNameField.setFocus();
-    }
-
-    /**
-     *	Open an appropriate destination browser so that the user can specify a source
-     *	to import from
-     */
-    protected void handleDestinationBrowseButtonPressed() {
-        DirectoryDialog dialog = new DirectoryDialog(getContainer().getShell(),
-                SWT.SAVE);
-        dialog.setMessage(SELECT_DESTINATION_MESSAGE);
-        dialog.setText(SELECT_DESTINATION_TITLE);
-        dialog.setFilterPath(getDestinationValue());
-        String selectedDirectoryName = dialog.open();
-
-        if (selectedDirectoryName != null) {
-            setErrorMessage(null);
-            setDestinationValue(selectedDirectoryName);
-        }
-    }
-
-    /**
-     * Handle all events and enablements for widgets in this page
-     * @param e Event
-     */
-    public void handleEvent(Event e) {
-        Widget source = e.widget;
-
-        if (source == destinationBrowseButton)
-            handleDestinationBrowseButtonPressed();
-
-        updatePageCompletion();
-    }
-
-    /**
-     *	Hook method for saving widget values for restoration by the next instance
-     *	of this class.
-     */
-    protected void internalSaveWidgetValues() {
-        // update directory names history
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] directoryNames = settings
-                    .getArray(STORE_DESTINATION_NAMES_ID);
-            if (directoryNames == null)
-                directoryNames = new String[0];
-
-            directoryNames = addToHistory(directoryNames, getDestinationValue());
-            settings.put(STORE_DESTINATION_NAMES_ID, directoryNames);
-
-            // options
-            settings.put(STORE_OVERWRITE_EXISTING_FILES_ID,
-                    overwriteExistingFilesCheckbox.getSelection());
-
-            settings.put(STORE_CREATE_STRUCTURE_ID,
-                    createDirectoryStructureButton.getSelection());
-
-        }
-    }
-
-    /**
-     *	Hook method for restoring widget values to the values that they held
-     *	last time this wizard was used to completion.
-     */
-    protected void restoreWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] directoryNames = settings
-                    .getArray(STORE_DESTINATION_NAMES_ID);
-            if (directoryNames == null)
-                return; // ie.- no settings stored
-
-            // destination
-            setDestinationValue(directoryNames[0]);
-            for (int i = 0; i < directoryNames.length; i++)
-                addDestinationItem(directoryNames[i]);
-
-            // options
-            overwriteExistingFilesCheckbox.setSelection(settings
-                    .getBoolean(STORE_OVERWRITE_EXISTING_FILES_ID));
-
-            boolean createDirectories = settings
-                    .getBoolean(STORE_CREATE_STRUCTURE_ID);
-            createDirectoryStructureButton.setSelection(createDirectories);
-            createSelectionOnlyButton.setSelection(!createDirectories);
-        }
-    }
-
-    /**
-     *	Set the contents of the receivers destination specification widget to
-     *	the passed value
-     *
-     */
-    protected void setDestinationValue(String value) {
-        destinationNameField.setText(value);
-    }
-
-    /**
-     *	Answer a boolean indicating whether the receivers destination specification
-     *	widgets currently all contain valid values.
-     */
-    protected boolean validateDestinationGroup() {
-        String destinationValue = getDestinationValue();
-        if (destinationValue.length() == 0) {
-            setMessage(destinationEmptyMessage());
-            return false;
-        }
-
-        String conflictingContainer = getConflictingContainerNameFor(destinationValue);
-        if (conflictingContainer == null)
-            setErrorMessage(null);
-        else {
-            setErrorMessage(DataTransferMessages.format(
-                    "FileExport.conflictingContainer", //$NON-NLS-1$
-                    new Object[] { conflictingContainer }));
-            giveFocusToDestination();
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Get the message used to denote an empty destination.
-     */
-    protected String destinationEmptyMessage() {
-        return DataTransferMessages.getString("FileExport.destinationEmpty"); //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the name of a container with a location that encompasses targetDirectory.
-     * Returns null if there is no conflict.
-     * 
-     * @param targetDirectory the path of the directory to check.
-     * @return the conflicting container name or <code>null</code>
-     */
-    protected String getConflictingContainerNameFor(String targetDirectory) {
-
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IPath testPath = new Path(targetDirectory);
-
-        if (root.getLocation().isPrefixOf(testPath))
-            return DataTransferMessages.getString("FileExport.rootName"); //$NON-NLS-1$
-
-        IProject[] projects = root.getProjects();
-
-        for (int i = 0; i < projects.length; i++) {
-            if (projects[i].getLocation().isPrefixOf(testPath))
-                return projects[i].getName();
-        }
-
-        return null;
-
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
deleted file mode 100644
index 40c7931..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.java
+++ /dev/null
@@ -1,967 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-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.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.dialogs.WizardResourceImportPage;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- *	Page 1 of the base resource import-from-file-system Wizard
- */
-public class WizardFileSystemResourceImportPage1 extends WizardResourceImportPage
-        implements Listener {
-    // widgets
-    protected Combo sourceNameField;
-
-    protected Button overwriteExistingResourcesCheckbox;
-
-    protected Button createContainerStructureButton;
-
-    protected Button createOnlySelectedButton;
-
-    protected Button sourceBrowseButton;
-
-    protected Button selectTypesButton;
-
-    protected Button selectAllButton;
-
-    protected Button deselectAllButton;
-
-    //A boolean to indicate if the user has typed anything
-    private boolean entryChanged = false;
-
-    // dialog store id constants
-    private final static String STORE_SOURCE_NAMES_ID = "WizardFileSystemResourceImportPage1.STORE_SOURCE_NAMES_ID";//$NON-NLS-1$
-
-    private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID = "WizardFileSystemResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID";//$NON-NLS-1$
-
-    private final static String STORE_CREATE_CONTAINER_STRUCTURE_ID = "WizardFileSystemResourceImportPage1.STORE_CREATE_CONTAINER_STRUCTURE_ID";//$NON-NLS-1$
-
-    private static final String SELECT_TYPES_TITLE = DataTransferMessages
-            .getString("DataTransfer.selectTypes"); //$NON-NLS-1$
-
-    private static final String SELECT_ALL_TITLE = DataTransferMessages
-            .getString("DataTransfer.selectAll"); //$NON-NLS-1$
-
-    private static final String DESELECT_ALL_TITLE = DataTransferMessages
-            .getString("DataTransfer.deselectAll"); //$NON-NLS-1$
-
-    private static final String SELECT_SOURCE_TITLE = DataTransferMessages
-            .getString("FileImport.selectSourceTitle"); //$NON-NLS-1$
-
-    private static final String SELECT_SOURCE_MESSAGE = DataTransferMessages
-            .getString("FileImport.selectSource"); //$NON-NLS-1$
-
-    protected static final String SOURCE_EMPTY_MESSAGE = DataTransferMessages
-            .getString("FileImport.sourceEmpty"); //$NON-NLS-1$
-
-    /**
-     *	Creates an instance of this class
-     */
-    protected WizardFileSystemResourceImportPage1(String name,
-            IWorkbench aWorkbench, IStructuredSelection selection) {
-        super(name, selection);
-    }
-
-    /**
-     *	Creates an instance of this class
-     *
-     * @param aWorkbench IWorkbench
-     * @param selection IStructuredSelection
-     */
-    public WizardFileSystemResourceImportPage1(IWorkbench aWorkbench,
-            IStructuredSelection selection) {
-        this("fileSystemImportPage1", aWorkbench, selection);//$NON-NLS-1$
-        setTitle(DataTransferMessages.getString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-        setDescription(DataTransferMessages
-                .getString("FileImport.importFileSystem")); //$NON-NLS-1$
-    }
-
-    /**
-     * Creates a new button with the given id.
-     * <p>
-     * The <code>Dialog</code> implementation of this framework method
-     * creates a standard push button, registers for selection events
-     * including button presses and registers
-     * default buttons with its shell.
-     * The button id is stored as the buttons client data.
-     * Note that the parent's layout is assumed to be a GridLayout and 
-     * the number of columns in this layout is incremented.
-     * Subclasses may override.
-     * </p>
-     *
-     * @param parent the parent composite
-     * @param id the id of the button (see
-     *  <code>IDialogConstants.*_ID</code> constants 
-     *  for standard dialog button ids)
-     * @param label the label from the button
-     * @param defaultButton <code>true</code> if the button is to be the
-     *   default button, and <code>false</code> otherwise
-     */
-    protected Button createButton(Composite parent, int id, String label,
-            boolean defaultButton) {
-        // increment the number of columns in the button bar
-        ((GridLayout) parent.getLayout()).numColumns++;
-
-        Button button = new Button(parent, SWT.PUSH);
-        button.setFont(parent.getFont());
-
-        GridData buttonData = new GridData(GridData.FILL_HORIZONTAL);
-        button.setLayoutData(buttonData);
-
-        button.setData(new Integer(id));
-        button.setText(label);
-
-        if (defaultButton) {
-            Shell shell = parent.getShell();
-            if (shell != null) {
-                shell.setDefaultButton(button);
-            }
-            button.setFocus();
-        }
-        return button;
-    }
-
-    /**
-     * Creates the buttons for selecting specific types or selecting all or none of the
-     * elements.
-     *
-     * @param parent the parent control
-     */
-    protected final void createButtonsGroup(Composite parent) {
-        // top level group
-        Composite buttonComposite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        layout.makeColumnsEqualWidth = true;
-        buttonComposite.setLayout(layout);
-        buttonComposite.setFont(parent.getFont());
-        GridData buttonData = new GridData(GridData.VERTICAL_ALIGN_FILL
-                | GridData.HORIZONTAL_ALIGN_FILL);
-        buttonData.horizontalSpan = 2;
-        buttonComposite.setLayoutData(buttonData);
-
-        // types edit button
-        selectTypesButton = createButton(buttonComposite,
-                IDialogConstants.SELECT_TYPES_ID, SELECT_TYPES_TITLE, false);
-
-        SelectionListener listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                handleTypesEditButtonPressed();
-            }
-        };
-        selectTypesButton.addSelectionListener(listener);
-        setButtonLayoutData(selectTypesButton);
-
-        selectAllButton = createButton(buttonComposite,
-                IDialogConstants.SELECT_ALL_ID, SELECT_ALL_TITLE, false);
-
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                setAllSelections(true);
-            }
-        };
-        selectAllButton.addSelectionListener(listener);
-        setButtonLayoutData(selectAllButton);
-
-        deselectAllButton = createButton(buttonComposite,
-                IDialogConstants.DESELECT_ALL_ID, DESELECT_ALL_TITLE, false);
-
-        listener = new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                setAllSelections(false);
-            }
-        };
-        deselectAllButton.addSelectionListener(listener);
-        setButtonLayoutData(deselectAllButton);
-
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        validateSourceGroup();
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IDataTransferHelpContextIds.FILE_SYSTEM_IMPORT_WIZARD_PAGE);
-    }
-
-    /**
-     *	Create the import options specification widgets.
-     */
-    protected void createOptionsGroupButtons(Group optionsGroup) {
-
-        // overwrite... checkbox
-        overwriteExistingResourcesCheckbox = new Button(optionsGroup, SWT.CHECK);
-        overwriteExistingResourcesCheckbox.setFont(optionsGroup.getFont());
-        overwriteExistingResourcesCheckbox.setText(DataTransferMessages
-                .getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-
-        // create containers radio
-        createContainerStructureButton = new Button(optionsGroup, SWT.RADIO);
-        createContainerStructureButton.setFont(optionsGroup.getFont());
-        createContainerStructureButton.setText(DataTransferMessages
-                .getString("FileImport.createComplete")); //$NON-NLS-1$
-        createContainerStructureButton.setSelection(false);
-
-        // create selection only radio
-        createOnlySelectedButton = new Button(optionsGroup, SWT.RADIO);
-        createOnlySelectedButton.setFont(optionsGroup.getFont());
-        createOnlySelectedButton.setText(DataTransferMessages
-                .getString("FileImport.createSelectedFolders")); //$NON-NLS-1$
-        createOnlySelectedButton.setSelection(true);
-
-    }
-
-    /**
-     *	Create the group for creating the root directory
-     */
-    protected void createRootDirectoryGroup(Composite parent) {
-        Composite sourceContainerGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        sourceContainerGroup.setLayout(layout);
-        sourceContainerGroup.setFont(parent.getFont());
-        sourceContainerGroup.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-        Label groupLabel = new Label(sourceContainerGroup, SWT.NONE);
-        groupLabel.setText(getSourceLabel());
-        groupLabel.setFont(parent.getFont());
-
-        // source name entry field
-        sourceNameField = new Combo(sourceContainerGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-                | GridData.GRAB_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        sourceNameField.setLayoutData(data);
-        sourceNameField.setFont(parent.getFont());
-
-        sourceNameField.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                updateFromSourceField();
-            }
-        });
-
-        sourceNameField.addKeyListener(new KeyListener() {
-            /*
-             * @see KeyListener.keyPressed
-             */
-            public void keyPressed(KeyEvent e) {
-                //If there has been a key pressed then mark as dirty
-                entryChanged = true;
-            }
-
-            /*
-             * @see KeyListener.keyReleased
-             */
-            public void keyReleased(KeyEvent e) {
-            }
-        });
-
-        sourceNameField.addFocusListener(new FocusListener() {
-            /*
-             * @see FocusListener.focusGained(FocusEvent)
-             */
-            public void focusGained(FocusEvent e) {
-                //Do nothing when getting focus
-            }
-
-            /*
-             * @see FocusListener.focusLost(FocusEvent)
-             */
-            public void focusLost(FocusEvent e) {
-                //Clear the flag to prevent constant update
-                if (entryChanged) {
-                    entryChanged = false;
-                    updateFromSourceField();
-                }
-
-            }
-        });
-
-        // source browse button
-        sourceBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
-        sourceBrowseButton.setText(DataTransferMessages
-                .getString("DataTransfer.browse")); //$NON-NLS-1$
-        sourceBrowseButton.addListener(SWT.Selection, this);
-        sourceBrowseButton.setLayoutData(new GridData(
-                GridData.HORIZONTAL_ALIGN_FILL));
-        sourceBrowseButton.setFont(parent.getFont());
-        setButtonLayoutData(sourceBrowseButton);
-    }
-
-    /**
-     * Update the receiver from the source name field.
-     */
-
-    private void updateFromSourceField() {
-
-        setSourceName(sourceNameField.getText());
-        //Update enablements when this is selected
-        updateWidgetEnablements();
-    }
-
-    /**
-     * Creates and returns a <code>FileSystemElement</code> if the specified
-     * file system object merits one.  The criteria for this are:
-     * Also create the children.
-     */
-    protected MinimizedFileSystemElement createRootElement(
-            Object fileSystemObject, IImportStructureProvider provider) {
-        boolean isContainer = provider.isFolder(fileSystemObject);
-        String elementLabel = provider.getLabel(fileSystemObject);
-
-        // Use an empty label so that display of the element's full name
-        // doesn't include a confusing label
-        MinimizedFileSystemElement dummyParent = new MinimizedFileSystemElement(
-                "", null, true);//$NON-NLS-1$
-        dummyParent.setPopulated();
-        MinimizedFileSystemElement result = new MinimizedFileSystemElement(
-                elementLabel, dummyParent, isContainer);
-        result.setFileSystemObject(fileSystemObject);
-
-        //Get the files for the element so as to build the first level
-        result.getFiles(provider);
-
-        return dummyParent;
-    }
-
-    /**
-     *	Create the import source specification widgets
-     */
-    protected void createSourceGroup(Composite parent) {
-
-        createRootDirectoryGroup(parent);
-        createFileSelectionGroup(parent);
-        createButtonsGroup(parent);
-    }
-
-    /**
-     * Enable or disable the button group.
-     */
-    protected void enableButtonGroup(boolean enable) {
-        selectTypesButton.setEnabled(enable);
-        selectAllButton.setEnabled(enable);
-        deselectAllButton.setEnabled(enable);
-    }
-
-    /**
-     *	Answer a boolean indicating whether the specified source currently exists
-     *	and is valid
-     */
-    protected boolean ensureSourceIsValid() {
-        if (new File(getSourceDirectoryName()).isDirectory())
-            return true;
-
-        displayErrorDialog(DataTransferMessages
-                .getString("FileImport.invalidSource")); //$NON-NLS-1$
-        sourceNameField.setFocus();
-        return false;
-    }
-
-    /**
-     *	Execute the passed import operation.  Answer a boolean indicating success.
-     */
-    protected boolean executeImportOperation(ImportOperation op) {
-        initializeOperation(op);
-
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            displayErrorDialog(e.getTargetException());
-            return false;
-        }
-
-        IStatus status = op.getStatus();
-        if (!status.isOK()) {
-            ErrorDialog
-                    .openError(getContainer().getShell(), DataTransferMessages
-                            .getString("FileImport.importProblems"), //$NON-NLS-1$
-                            null, // no special message
-                            status);
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     *	The Finish button was pressed.  Try to do the required work now and answer
-     *	a boolean indicating success.  If false is returned then the wizard will
-     *	not close.
-     *
-     * @return boolean
-     */
-    public boolean finish() {
-        if (!ensureSourceIsValid())
-            return false;
-
-        saveWidgetValues();
-
-        Iterator resourcesEnum = getSelectedResources().iterator();
-        List fileSystemObjects = new ArrayList();
-        while (resourcesEnum.hasNext()) {
-            fileSystemObjects.add(((FileSystemElement) resourcesEnum.next())
-                    .getFileSystemObject());
-        }
-
-        if (fileSystemObjects.size() > 0)
-            return importResources(fileSystemObjects);
-
-        MessageDialog.openInformation(getContainer().getShell(),
-                DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-                DataTransferMessages.getString("FileImport.noneSelected")); //$NON-NLS-1$
-
-        return false;
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only files as children.
-     */
-    protected ITreeContentProvider getFileProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    return element.getFiles(
-                            FileSystemStructureProvider.INSTANCE).getChildren(
-                            element);
-                }
-                return new Object[0];
-            }
-        };
-    }
-
-    /**
-     *	Answer the root FileSystemElement that represents the contents of
-     *	the currently-specified source.  If this FileSystemElement is not
-     *	currently defined then create and return it.
-     */
-    protected MinimizedFileSystemElement getFileSystemTree() {
-
-        File sourceDirectory = getSourceDirectory();
-        if (sourceDirectory == null)
-            return null;
-
-        return selectFiles(sourceDirectory,
-                FileSystemStructureProvider.INSTANCE);
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only folders as children.
-     */
-    protected ITreeContentProvider getFolderProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    return element.getFolders(
-                            FileSystemStructureProvider.INSTANCE).getChildren(
-                            element);
-                }
-                return new Object[0];
-            }
-
-            public boolean hasChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    if (element.isPopulated())
-                        return getChildren(element).length > 0;
-
-                    //If we have not populated then wait until asked
-                    return true;
-                }
-                return false;
-            }
-        };
-    }
-
-    /**
-     * Returns a File object representing the currently-named source directory iff
-     * it exists as a valid directory, or <code>null</code> otherwise.
-     */
-    protected File getSourceDirectory() {
-        return getSourceDirectory(this.sourceNameField.getText());
-    }
-
-    /**
-     * Returns a File object representing the currently-named source directory iff
-     * it exists as a valid directory, or <code>null</code> otherwise.
-     *
-     * @param path a String not yet formatted for java.io.File compatability
-     */
-    private File getSourceDirectory(String path) {
-        File sourceDirectory = new File(getSourceDirectoryName(path));
-        if (!sourceDirectory.exists() || !sourceDirectory.isDirectory()) {
-            return null;
-        }
-
-        return sourceDirectory;
-    }
-
-    /**
-     *	Answer the directory name specified as being the import source.
-     *	Note that if it ends with a separator then the separator is first
-     *	removed so that java treats it as a proper directory
-     */
-    private String getSourceDirectoryName() {
-        return getSourceDirectoryName(this.sourceNameField.getText());
-    }
-
-    /**
-     *	Answer the directory name specified as being the import source.
-     *	Note that if it ends with a separator then the separator is first
-     *	removed so that java treats it as a proper directory
-     */
-    private String getSourceDirectoryName(String sourceName) {
-        IPath result = new Path(sourceName.trim());
-
-        if (result.getDevice() != null && result.segmentCount() == 0) // something like "c:"
-            result = result.addTrailingSeparator();
-        else
-            result = result.removeTrailingSeparator();
-
-        return result.toOSString();
-    }
-
-    /**
-     *	Answer the string to display as the label for the source specification field
-     */
-    protected String getSourceLabel() {
-        return DataTransferMessages.getString("FileImport.fromDirectory"); //$NON-NLS-1$
-    }
-
-    /**
-     *	Handle all events and enablements for widgets in this dialog
-     *
-     * @param event Event
-     */
-    public void handleEvent(Event event) {
-        if (event.widget == sourceBrowseButton)
-            handleSourceBrowseButtonPressed();
-
-        super.handleEvent(event);
-    }
-
-    /**
-     *	Open an appropriate source browser so that the user can specify a source
-     *	to import from
-     */
-    protected void handleSourceBrowseButtonPressed() {
-
-        String currentSource = this.sourceNameField.getText();
-        DirectoryDialog dialog = new DirectoryDialog(
-                sourceNameField.getShell(), SWT.SAVE);
-        dialog.setText(SELECT_SOURCE_TITLE);
-        dialog.setMessage(SELECT_SOURCE_MESSAGE);
-        dialog.setFilterPath(getSourceDirectoryName(currentSource));
-
-        String selectedDirectory = dialog.open();
-        if (selectedDirectory != null) {
-            //Just quit if the directory is not valid
-            if ((getSourceDirectory(selectedDirectory) == null)
-                    || selectedDirectory.equals(currentSource))
-                return;
-            //If it is valid then proceed to populate
-            setErrorMessage(null);
-            setSourceName(selectedDirectory);
-            selectionGroup.setFocus();
-        }
-    }
-
-    /**
-     * Open a registered type selection dialog and note the selections
-     * in the receivers types-to-export field.,
-     * Added here so that inner classes can have access
-     */
-    protected void handleTypesEditButtonPressed() {
-
-        super.handleTypesEditButtonPressed();
-    }
-
-    /**
-     *  Import the resources with extensions as specified by the user
-     */
-    protected boolean importResources(List fileSystemObjects) {
-        ImportOperation operation = new ImportOperation(getContainerFullPath(),
-                getSourceDirectory(), FileSystemStructureProvider.INSTANCE,
-                this, fileSystemObjects);
-
-        operation.setContext(getShell());
-        return executeImportOperation(operation);
-    }
-
-    /**
-     * Initializes the specified operation appropriately.
-     */
-    protected void initializeOperation(ImportOperation op) {
-        op.setCreateContainerStructure(createContainerStructureButton
-                .getSelection());
-        op.setOverwriteResources(overwriteExistingResourcesCheckbox
-                .getSelection());
-    }
-
-    /**
-     * Returns whether the extension provided is an extension that
-     * has been specified for export by the user.
-     *
-     * @param extension the resource name
-     * @return <code>true</code> if the resource name is suitable for export based 
-     *   upon its extension
-     */
-    protected boolean isExportableExtension(String extension) {
-        if (selectedTypes == null) // ie.- all extensions are acceptable
-            return true;
-
-        Iterator itr = selectedTypes.iterator();
-        while (itr.hasNext()) {
-            if (extension.equalsIgnoreCase((String) itr.next()))
-                return true;
-        }
-
-        return false;
-    }
-
-    /**
-     *	Repopulate the view based on the currently entered directory.
-     */
-    protected void resetSelection() {
-
-        MinimizedFileSystemElement currentRoot = getFileSystemTree();
-        this.selectionGroup.setRoot(currentRoot);
-
-    }
-
-    /**
-     *	Use the dialog store to restore widget values to the values that they held
-     *	last time this wizard was used to completion
-     */
-    protected void restoreWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-            if (sourceNames == null)
-                return; // ie.- no values stored, so stop
-
-            // set filenames history
-            for (int i = 0; i < sourceNames.length; i++)
-                sourceNameField.add(sourceNames[i]);
-
-            // radio buttons and checkboxes	
-            overwriteExistingResourcesCheckbox.setSelection(settings
-                    .getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-
-            boolean createStructure = settings
-                    .getBoolean(STORE_CREATE_CONTAINER_STRUCTURE_ID);
-            createContainerStructureButton.setSelection(createStructure);
-            createOnlySelectedButton.setSelection(!createStructure);
-
-        }
-    }
-
-    /**
-     * 	Since Finish was pressed, write widget values to the dialog store so that they
-     *	will persist into the next invocation of this wizard page
-     */
-    protected void saveWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            // update source names history
-            String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-            if (sourceNames == null)
-                sourceNames = new String[0];
-
-            sourceNames = addToHistory(sourceNames, getSourceDirectoryName());
-            settings.put(STORE_SOURCE_NAMES_ID, sourceNames);
-
-            // radio buttons and checkboxes	
-            settings.put(STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-                    overwriteExistingResourcesCheckbox.getSelection());
-
-            settings.put(STORE_CREATE_CONTAINER_STRUCTURE_ID,
-                    createContainerStructureButton.getSelection());
-
-        }
-    }
-
-    /**
-     * Invokes a file selection operation using the specified file system and
-     * structure provider.  If the user specifies files to be imported then
-     * this selection is cached for later retrieval and is returned.
-     */
-    protected MinimizedFileSystemElement selectFiles(
-            final Object rootFileSystemObject,
-            final IImportStructureProvider structureProvider) {
-
-        final MinimizedFileSystemElement[] results = new MinimizedFileSystemElement[1];
-
-        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-            public void run() {
-                //Create the root element from the supplied file system object
-                results[0] = createRootElement(rootFileSystemObject,
-                        structureProvider);
-            }
-        });
-
-        return results[0];
-    }
-
-    /**
-     * Set all of the selections in the selection group to value. Implemented here
-     * to provide access for inner classes.
-     * @param value boolean
-     */
-    protected void setAllSelections(boolean value) {
-        super.setAllSelections(value);
-    }
-
-    /**
-     * Sets the source name of the import to be the supplied path.
-     * Adds the name of the path to the list of items in the
-     * source combo and selects it.
-     *
-     * @param path the path to be added
-     */
-    protected void setSourceName(String path) {
-
-        if (path.length() > 0) {
-
-            String[] currentItems = this.sourceNameField.getItems();
-            int selectionIndex = -1;
-            for (int i = 0; i < currentItems.length; i++) {
-                if (currentItems[i].equals(path))
-                    selectionIndex = i;
-            }
-            if (selectionIndex < 0) {
-                int oldLength = currentItems.length;
-                String[] newItems = new String[oldLength + 1];
-                System.arraycopy(currentItems, 0, newItems, 0, oldLength);
-                newItems[oldLength] = path;
-                this.sourceNameField.setItems(newItems);
-                selectionIndex = oldLength;
-            }
-            this.sourceNameField.select(selectionIndex);
-
-            resetSelection();
-        }
-    }
-
-    /**
-     * Update the tree to only select those elements that match the selected types
-     */
-    protected void setupSelectionsBasedOnSelectedTypes() {
-        ProgressMonitorDialog dialog = new ProgressMonitorJobsDialog(
-                getContainer().getShell());
-        final Map selectionMap = new Hashtable();
-
-        final IElementFilter filter = new IElementFilter() {
-
-            public void filterElements(Collection files,
-                    IProgressMonitor monitor) throws InterruptedException {
-                if (files == null) {
-                    throw new InterruptedException();
-                }
-                Iterator filesList = files.iterator();
-                while (filesList.hasNext()) {
-                    if (monitor.isCanceled())
-                        throw new InterruptedException();
-                    checkFile(filesList.next());
-                }
-            }
-
-            public void filterElements(Object[] files, IProgressMonitor monitor)
-                    throws InterruptedException {
-                if (files == null) {
-                    throw new InterruptedException();
-                }
-                for (int i = 0; i < files.length; i++) {
-                    if (monitor.isCanceled())
-                        throw new InterruptedException();
-                    checkFile(files[i]);
-                }
-            }
-
-            private void checkFile(Object fileElement) {
-                MinimizedFileSystemElement file = (MinimizedFileSystemElement) fileElement;
-                if (isExportableExtension(file.getFileNameExtension())) {
-                    List elements = new ArrayList();
-                    FileSystemElement parent = file.getParent();
-                    if (selectionMap.containsKey(parent))
-                        elements = (List) selectionMap.get(parent);
-                    elements.add(file);
-                    selectionMap.put(parent, elements);
-                }
-            }
-
-        };
-
-        IRunnableWithProgress runnable = new IRunnableWithProgress() {
-            public void run(final IProgressMonitor monitor)
-                    throws InterruptedException {
-                monitor
-                        .beginTask(
-                                DataTransferMessages
-                                        .getString("ImportPage.filterSelections"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-                getSelectedResources(filter, monitor);
-            }
-        };
-
-        try {
-            dialog.run(true, true, runnable);
-        } catch (InvocationTargetException exception) {
-            //Couldn't start. Do nothing.
-            return;
-        } catch (InterruptedException exception) {
-            //Got interrupted. Do nothing.
-            return;
-        }
-        // make sure that all paint operations caused by closing the progress 
-        // dialog get flushed, otherwise extra pixels will remain on the screen until 
-        // updateSelections is completed
-        getShell().update();
-        // The updateSelections method accesses SWT widgets so cannot be executed
-        // as part of the above progress dialog operation since the operation forks
-        // a new process.	
-        if (selectionMap != null) {
-            updateSelections(selectionMap);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IDialogPage. Set the selection up when it becomes visible.
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        resetSelection();
-        if (visible)
-            this.sourceNameField.setFocus();
-    }
-
-    /**
-     * Update the selections with those in map . Implemented here to give inner class
-     * visibility
-     * @param map Map - key tree elements, values Lists of list elements
-     */
-    protected void updateSelections(Map map) {
-        super.updateSelections(map);
-    }
-
-    /**
-     * Check if widgets are enabled or disabled by a change in the dialog.
-     * Provided here to give access to inner classes.
-     */
-    protected void updateWidgetEnablements() {
-
-        super.updateWidgetEnablements();
-    }
-
-    /**
-     *	Answer a boolean indicating whether self's source specification
-     *	widgets currently all contain valid values.
-     */
-    protected boolean validateSourceGroup() {
-        File sourceDirectory = getSourceDirectory();
-        if (sourceDirectory == null) {
-            setMessage(SOURCE_EMPTY_MESSAGE);
-            enableButtonGroup(false);
-            return false;
-        }
-
-        if (sourceConflictsWithDestination(new Path(sourceDirectory.getPath()))) {
-            setErrorMessage(getSourceConflictMessage()); //$NON-NLS-1$
-            enableButtonGroup(false);
-            return false;
-        }
-
-        enableButtonGroup(true);
-        return true;
-    }
-
-    /**
-     * Returns whether the source location conflicts
-     * with the destination resource. This will occur if
-     * the source is already under the destination.
-     * 
-     * @param sourcePath the path to check
-     * @return <code>true</code> if there is a conflict, <code>false</code> if not
-     */
-    protected boolean sourceConflictsWithDestination(IPath sourcePath) {
-
-        IContainer container = getSpecifiedContainer();
-        if (container == null)
-            return false;
-        
-        IPath destinationLocation = getSpecifiedContainer().getLocation();
-        if (destinationLocation != null) {
-            return destinationLocation.isPrefixOf(sourcePath);
-        }
-        // null destination location is handled in 
-        // WizardResourceImportPage 
-        return false;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
deleted file mode 100644
index 7617592..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
+++ /dev/null
@@ -1,585 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-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.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * The WizardProjectsImportPage is the page that allows the user to import
- * projects from a particular location.
- * 
- */
-public class WizardProjectsImportPage extends WizardPage {
-
-	private class ProjectRecord {
-		File projectFile;
-
-		String projectName;
-
-		IProjectDescription description;
-
-		/**
-		 * Create a record for a project based on the info in the file.
-		 * 
-		 * @param file
-		 */
-		ProjectRecord(File file) {
-			projectFile = file;
-			setProjectName();
-		}
-
-		/**
-		 * Set the name of the project based on the projectFile.
-		 */
-		private void setProjectName() {
-
-			IPath path = new Path(projectFile.getPath());
-
-			IProjectDescription newDescription = null;
-
-			try {
-				newDescription = IDEWorkbenchPlugin.getPluginWorkspace()
-						.loadProjectDescription(path);
-			} catch (CoreException exception) {
-				// no good couldn't get the name
-			}
-
-			if (newDescription == null) {
-				this.description = null;
-				projectName = ""; //$NON-NLS-1$
-			} else {
-				this.description = newDescription;
-				projectName = this.description.getName();
-			}
-		}
-
-		/**
-		 * Get the name of the project
-		 * 
-		 * @return String
-		 */
-		public String getProjectName() {
-			return projectName;
-		}
-	}
-
-	private Text locationPathField;
-
-	private CheckboxTreeViewer projectsList;
-
-	private ProjectRecord[] selectedProjects = new ProjectRecord[0];
-
-	// Keep track of the directory that we browsed to last time
-	// the wizard was invoked.
-	private static String previouslyBrowsedDirectory = ""; //$NON-NLS-1$
-
-	/**
-	 * Creates a new project creation wizard page.
-	 * 
-	 */
-	public WizardProjectsImportPage() {
-		this("wizardExternalProjectsPage"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Create a new instance of the receiver.
-	 * 
-	 * @param pageName
-	 */
-	public WizardProjectsImportPage(String pageName) {
-		super(pageName);
-		setPageComplete(false);
-		setTitle(DataTransferMessages
-				.getString("WizardProjectsImportPage.ImportProjectsTitle")); //$NON-NLS-1$
-		setDescription(DataTransferMessages
-				.getString("WizardProjectsImportPage.ImportProjectsDescription")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Create a new instance of the receiver.
-	 * 
-	 * @param pageName
-	 * @param title
-	 * @param titleImage
-	 */
-	public WizardProjectsImportPage(String pageName, String title,
-			ImageDescriptor titleImage) {
-		super(pageName, title, titleImage);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-
-		initializeDialogUnits(parent);
-
-		Composite workArea = new Composite(parent, SWT.NONE);
-		setControl(workArea);
-
-		workArea.setLayout(new GridLayout());
-		workArea.setLayoutData(new GridData(GridData.FILL_BOTH
-				| GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL));
-
-		createProjectsRoot(workArea);
-		createProjectsList(workArea);
-		Dialog.applyDialogFont(workArea);
-
-	}
-
-	/**
-	 * Create the checkbox list for the found projects.
-	 * 
-	 * @param workArea
-	 */
-	private void createProjectsList(Composite workArea) {
-
-		Label title = new Label(workArea, SWT.NONE);
-		title.setText(DataTransferMessages
-				.getString("WizardProjectsImportPage.ProjectsListTitle")); //$NON-NLS-1$
-
-		Composite listComposite = new Composite(workArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		layout.makeColumnsEqualWidth = false;
-		listComposite.setLayout(layout);
-
-		listComposite.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.GRAB_VERTICAL | GridData.FILL_BOTH));
-
-		projectsList = new CheckboxTreeViewer(listComposite, SWT.BORDER);
-		GridData listData = new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.GRAB_VERTICAL | GridData.FILL_BOTH);
-		projectsList.getControl().setLayoutData(listData);
-
-		projectsList.setContentProvider(new ITreeContentProvider() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-			 */
-			public Object[] getChildren(Object parentElement) {
-				return null;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-			 */
-			public Object[] getElements(Object inputElement) {
-				return selectedProjects;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-			 */
-			public boolean hasChildren(Object element) {
-				return false;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-			 */
-			public Object getParent(Object element) {
-				return null;
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-			 */
-			public void dispose() {
-
-			}
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-			 *      java.lang.Object, java.lang.Object)
-			 */
-			public void inputChanged(Viewer viewer, Object oldInput,
-					Object newInput) {
-			}
-
-		});
-
-		projectsList.setLabelProvider(new LabelProvider() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
-			 */
-			public String getText(Object element) {
-				return ((ProjectRecord) element).getProjectName();
-			}
-		});
-
-		projectsList.setInput(this);
-		createSelectionButtons(listComposite);
-
-	}
-
-	/**
-	 * Create the selection buttons in the listComposite.
-	 * 
-	 * @param listComposite
-	 */
-	private void createSelectionButtons(Composite listComposite) {
-		Composite buttonsComposite = new Composite(listComposite, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		buttonsComposite.setLayout(layout);
-
-		buttonsComposite.setLayoutData(new GridData(
-				GridData.VERTICAL_ALIGN_BEGINNING));
-
-		Button selectAll = new Button(buttonsComposite, SWT.PUSH);
-		selectAll.setText(DataTransferMessages
-				.getString("DataTransfer.selectAll")); //$NON-NLS-1$
-		selectAll.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				projectsList.setCheckedElements(selectedProjects);
-			}
-		});
-
-		setButtonLayoutData(selectAll);
-
-		Button deselectAll = new Button(buttonsComposite, SWT.PUSH);
-		deselectAll.setText(DataTransferMessages
-				.getString("DataTransfer.deselectAll")); //$NON-NLS-1$
-		deselectAll.addSelectionListener(new SelectionAdapter() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetSelected(SelectionEvent e) {
-
-				projectsList.setCheckedElements(new Object[0]);
-
-			}
-		});
-
-		setButtonLayoutData(deselectAll);
-
-	}
-
-	/**
-	 * Create the area where you select the root directory for the projects.
-	 * 
-	 * @param workArea
-	 *            Composite
-	 */
-	private void createProjectsRoot(Composite workArea) {
-
-		// project specification group
-		Composite projectGroup = new Composite(workArea, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.makeColumnsEqualWidth = false;
-		layout.marginWidth = 0;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// new project label
-		Label projectContentsLabel = new Label(projectGroup, SWT.NONE);
-		projectContentsLabel.setText(DataTransferMessages
-				.getString("WizardProjectsImportPage.RootSelectTitle")); //$NON-NLS-1$
-
-		// project location entry field
-		this.locationPathField = new Text(projectGroup, SWT.BORDER);
-
-		this.locationPathField.setLayoutData(new GridData(
-				GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
-		// browse button
-		Button browseButton = new Button(projectGroup, SWT.PUSH);
-		browseButton.setText(DataTransferMessages
-				.getString("DataTransfer.browse")); //$NON-NLS-1$
-		setButtonLayoutData(browseButton);
-
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				handleLocationBrowseButtonPressed();
-			}
-
-		});
-
-		locationPathField.addModifyListener(new ModifyListener() {
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
-			 */
-			public void modifyText(ModifyEvent e) {
-				updateProjectsList(locationPathField.getText().trim());
-			}
-		});
-
-	}
-
-	/**
-	 * Update the list of projects based on path
-	 * 
-	 * @param path
-	 */
-	protected void updateProjectsList(final String path) {
-
-		try {
-			getContainer().run(true, true, new IRunnableWithProgress() {
-
-				/* (non-Javadoc)
-				 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-				 */
-				public void run(IProgressMonitor monitor) {
-
-					monitor
-							.beginTask(
-									DataTransferMessages
-											.getString("WizardProjectsImportPage.SearchingMessage"), 100); //$NON-NLS-1$
-					File directory = new File(path);
-					selectedProjects = new ProjectRecord[0];
-					monitor.worked(10);
-					if (directory.isDirectory()) {
-						
-						Collection files = new ArrayList();
-						if (!collectProjectFiles(files, directory, monitor))
-							return;
-						Iterator filesIterator = files.iterator();
-						selectedProjects = new ProjectRecord[files.size()];
-						int index = 0;
-						monitor.worked(50);
-						monitor
-								.subTask(DataTransferMessages
-										.getString("WizardProjectsImportPage.ProcessingMessage")); //$NON-NLS-1$
-						while (filesIterator.hasNext()) {
-							File file = (File) filesIterator.next();
-							selectedProjects[index] = new ProjectRecord(file);
-							index++;
-						}
-					} else
-						monitor.worked(60);
-					monitor.done();
-				}
-
-			});
-		} catch (InvocationTargetException e) {
-			IDEWorkbenchPlugin.log(e.getMessage(), e);
-		} catch (InterruptedException e) {
-			// Nothing to do if the user interrupts.
-		}
-
-		projectsList.refresh(true);
-		projectsList.setCheckedElements(selectedProjects);
-		setPageComplete(selectedProjects.length > 0);
-	}
-
-	/**
-	 * Collect the list of .project files that are under directory into files.
-	 * 
-	 * @param files
-	 * @param directory
-	 * @param monitor
-	 *            The monitor to report to
-	 * @return boolean <code>true</code> if the operation was completed.
-	 */
-	private boolean collectProjectFiles(Collection files, File directory,
-			IProgressMonitor monitor) {
-
-		if (monitor.isCanceled())
-			return false;
-		monitor
-				.subTask(DataTransferMessages
-						.format(
-								"WizardProjectsImportPage.CheckingMessage", new Object[] { directory //$NON-NLS-1$
-										.getPath() }));
-		File[] contents = directory.listFiles();
-		for (int i = 0; i < contents.length; i++) {
-			File file = contents[i];
-			if (file.isDirectory())
-				collectProjectFiles(files, file, monitor);
-			else {
-				if (file.getName().equals(
-						IProjectDescription.DESCRIPTION_FILE_NAME))
-					files.add(file);
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * The browse button has been selected. Select the location.
-	 */
-	protected void handleLocationBrowseButtonPressed() {
-
-		DirectoryDialog dialog = new DirectoryDialog(locationPathField
-				.getShell());
-		dialog.setMessage(DataTransferMessages
-				.getString("WizardProjectsImportPage.SelectDialogTitle")); //$NON-NLS-1$
-
-		String dirName = locationPathField.getText().trim();
-		if (dirName.length() == 0)
-			dirName = previouslyBrowsedDirectory;
-
-		if (dirName.length() == 0)
-			dialog.setFilterPath(IDEWorkbenchPlugin.getPluginWorkspace()
-					.getRoot().getLocation().toOSString());
-		else {
-			File path = new File(dirName);
-			if (path.exists())
-				dialog.setFilterPath(new Path(dirName).toOSString());
-		}
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null) {
-			previouslyBrowsedDirectory = selectedDirectory;
-			locationPathField.setText(previouslyBrowsedDirectory);
-		}
-
-	}
-
-	/**
-	 * Create the selected projects
-	 * 
-	 * @return boolean <code>true</code> if all project creations were
-	 *         successful.
-	 */
-	public boolean createProjects() {
-		Object[] selected = projectsList.getCheckedElements();
-		for (int i = 0; i < selected.length; i++) {
-			ProjectRecord record = (ProjectRecord) selected[i];
-			if (!createExistingProject(record))
-				return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Create the project described in record. If it is successful return true.
-	 * 
-	 * @param record
-	 * @return boolean <code>true</code> of successult
-	 */
-	private boolean createExistingProject(final ProjectRecord record) {
-
-		String projectName = record.getProjectName();
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IProject project = workspace.getRoot().getProject(projectName);
-		if (record.description == null) {
-			record.description = workspace.newProjectDescription(projectName);
-			IPath locationPath = new Path(record.projectFile.getAbsolutePath());
-			// If it is under the root use the default location
-			if (Platform.getLocation().isPrefixOf(locationPath))
-				record.description.setLocation(null);
-			else
-				record.description.setLocation(locationPath);
-		} else
-			record.description.setName(projectName);
-
-		// create the new project operation
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor)
-					throws CoreException {
-				monitor.beginTask("", 2000); //$NON-NLS-1$
-				project.create(record.description, new SubProgressMonitor(
-						monitor, 1000));
-				if (monitor.isCanceled())
-					throw new OperationCanceledException();
-				project.open(IResource.BACKGROUND_REFRESH,
-						new SubProgressMonitor(monitor, 1000));
-
-			}
-		};
-
-		// run the new project creation operation
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			// ie.- one of the steps resulted in a core exception
-			Throwable t = e.getTargetException();
-			if (t instanceof CoreException) {
-				if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-					MessageDialog.openError(getShell(), "", //$NON-NLS-1$
-							"" //$NON-NLS-1$
-					);
-				} else {
-					ErrorDialog.openError(getShell(), "", //$NON-NLS-1$
-							null, ((CoreException) t).getStatus());
-				}
-			}
-			return false;
-		}
-
-		return true;
-
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceExportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceExportPage1.java
deleted file mode 100644
index ca74439..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceExportPage1.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.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-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.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- *	Page 1 of the base resource export-to-zip Wizard
- */
-public class WizardZipFileResourceExportPage1 extends
-        WizardFileSystemResourceExportPage1 {
-
-    // widgets
-    protected Button compressContentsCheckbox;
-
-    // dialog store id constants
-    private final static String STORE_DESTINATION_NAMES_ID = "WizardZipFileResourceExportPage1.STORE_DESTINATION_NAMES_ID"; //$NON-NLS-1$
-
-    private final static String STORE_CREATE_STRUCTURE_ID = "WizardZipFileResourceExportPage1.STORE_CREATE_STRUCTURE_ID"; //$NON-NLS-1$
-
-    private final static String STORE_COMPRESS_CONTENTS_ID = "WizardZipFileResourceExportPage1.STORE_COMPRESS_CONTENTS_ID"; //$NON-NLS-1$
-
-    /**
-     *	Create an instance of this class. 
-     *
-     *	@param name java.lang.String
-     */
-    protected WizardZipFileResourceExportPage1(String name,
-            IStructuredSelection selection) {
-        super(name, selection);
-    }
-
-    /**
-     * Create an instance of this class.
-     * 
-     * @param selection the selection
-     */
-    public WizardZipFileResourceExportPage1(IStructuredSelection selection) {
-        this("zipFileExportPage1", selection); //$NON-NLS-1$
-        setTitle(DataTransferMessages.getString("ZipExport.exportTitle")); //$NON-NLS-1$
-        setDescription(DataTransferMessages.getString("ZipExport.description")); //$NON-NLS-1$
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IDataTransferHelpContextIds.ZIP_FILE_EXPORT_WIZARD_PAGE);
-    }
-
-    /**
-     *	Create the export options specification widgets.
-     *
-     */
-    protected void createOptionsGroupButtons(Group optionsGroup) {
-
-        Font font = optionsGroup.getFont();
-        // compress... checkbox
-        compressContentsCheckbox = new Button(optionsGroup, SWT.CHECK
-                | SWT.LEFT);
-        compressContentsCheckbox.setText(DataTransferMessages
-                .getString("ZipExport.compressContents")); //$NON-NLS-1$
-        compressContentsCheckbox.setFont(font);
-
-        createDirectoryStructureOptions(optionsGroup, font);
-
-        // initial setup
-        createDirectoryStructureButton.setSelection(true);
-        createSelectionOnlyButton.setSelection(false);
-        compressContentsCheckbox.setSelection(true);
-    }
-
-    /**
-     * Returns a boolean indicating whether the directory portion of the
-     * passed pathname is valid and available for use.
-     */
-    protected boolean ensureTargetDirectoryIsValid(String fullPathname) {
-        int separatorIndex = fullPathname.lastIndexOf(File.separator);
-
-        if (separatorIndex == -1) // ie.- default dir, which is fine
-            return true;
-
-        return ensureTargetIsValid(new File(fullPathname.substring(0,
-                separatorIndex)));
-    }
-
-    /**
-     * Returns a boolean indicating whether the passed File handle is
-     * is valid and available for use.
-     */
-    protected boolean ensureTargetFileIsValid(File targetFile) {
-        if (targetFile.exists() && targetFile.isDirectory()) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipExport.mustBeFile")); //$NON-NLS-1$
-            giveFocusToDestination();
-            return false;
-        }
-
-        if (targetFile.exists()) {
-            if (targetFile.canWrite()) {
-                if (!queryYesNoQuestion(DataTransferMessages
-                        .getString("ZipExport.alreadyExists"))) //$NON-NLS-1$
-                    return false;
-            } else {
-                displayErrorDialog(DataTransferMessages
-                        .getString("ZipExport.alreadyExistsError")); //$NON-NLS-1$
-                giveFocusToDestination();
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Ensures that the target output file and its containing directory are
-     * both valid and able to be used.  Answer a boolean indicating validity.
-     */
-    protected boolean ensureTargetIsValid() {
-        String targetPath = getDestinationValue();
-
-        if (!ensureTargetDirectoryIsValid(targetPath))
-            return false;
-
-        if (!ensureTargetFileIsValid(new File(targetPath)))
-            return false;
-
-        return true;
-    }
-
-    /**
-     *  Export the passed resource and recursively export all of its child resources
-     *  (iff it's a container).  Answer a boolean indicating success.
-     */
-    protected boolean executeExportOperation(ArchiveFileExportOperation op) {
-        op.setCreateLeadupStructure(createDirectoryStructureButton
-                .getSelection());
-        op.setUseCompression(compressContentsCheckbox.getSelection());
-
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            displayErrorDialog(e.getTargetException());
-            return false;
-        }
-
-        IStatus status = op.getStatus();
-        if (!status.isOK()) {
-            ErrorDialog.openError(getContainer().getShell(),
-                    DataTransferMessages
-                            .getString("DataTransfer.exportProblems"), //$NON-NLS-1$
-                    null, // no special message
-                    status);
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * The Finish button was pressed.  Try to do the required work now and answer
-     * a boolean indicating success.  If false is returned then the wizard will
-     * not close.
-     * @returns boolean
-     */
-    public boolean finish() {
-        if (!ensureTargetIsValid())
-            return false;
-
-        List resourcesToExport = getWhiteCheckedResources();
-
-        //Save dirty editors if possible but do not stop if not all are saved
-        saveDirtyEditors();
-        // about to invoke the operation so save our state
-        saveWidgetValues();
-
-        if (resourcesToExport.size() > 0)
-            return executeExportOperation(new ArchiveFileExportOperation(null,
-                    resourcesToExport, getDestinationValue()));
-
-        MessageDialog.openInformation(getContainer().getShell(),
-                DataTransferMessages.getString("DataTransfer.information"), //$NON-NLS-1$
-                DataTransferMessages.getString("FileExport.noneSelected")); //$NON-NLS-1$
-
-        return false;
-    }
-
-    /**
-     *	Answer the string to display in the receiver as the destination type
-     */
-    protected String getDestinationLabel() {
-        return DataTransferMessages.getString("ZipExport.destinationLabel"); //$NON-NLS-1$
-    }
-
-    /**
-     *	Answer the contents of self's destination specification widget.  If this
-     *	value does not have a suffix then add it first.
-     */
-    protected String getDestinationValue() {
-        String idealSuffix = getOutputSuffix();
-        String destinationText = super.getDestinationValue();
-
-        // only append a suffix if the destination doesn't already have a . in 
-        // its last path segment.  
-        // Also prevent the user from selecting a directory.  Allowing this will 
-        // create a ".zip" file in the directory
-        if (destinationText.length() != 0
-                && !destinationText.endsWith(File.separator)) {
-            int dotIndex = destinationText.lastIndexOf('.');
-            if (dotIndex != -1) {
-                // the last path seperator index
-                int pathSepIndex = destinationText.lastIndexOf(File.separator);
-                if (pathSepIndex != -1 && dotIndex < pathSepIndex) {
-                    destinationText += idealSuffix;
-                }
-            } else {
-                destinationText += idealSuffix;
-            }
-        }
-
-        return destinationText;
-    }
-
-    /**
-     *	Answer the suffix that files exported from this wizard should have.
-     *	If this suffix is a file extension (which is typically the case)
-     *	then it must include the leading period character.
-     *
-     */
-    protected String getOutputSuffix() {
-        return ".zip"; //$NON-NLS-1$
-    }
-
-    /**
-     *	Open an appropriate destination browser so that the user can specify a source
-     *	to import from
-     */
-    protected void handleDestinationBrowseButtonPressed() {
-        FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.SAVE);
-        dialog.setFilterExtensions(new String[] { "*.zip", "*.*" }); //$NON-NLS-1$ //$NON-NLS-2$
-        dialog.setText(DataTransferMessages
-                .getString("ZipExport.selectDestinationTitle")); //$NON-NLS-1$
-        String currentSourceString = getDestinationValue();
-        int lastSeparatorIndex = currentSourceString
-                .lastIndexOf(File.separator);
-        if (lastSeparatorIndex != -1)
-            dialog.setFilterPath(currentSourceString.substring(0,
-                    lastSeparatorIndex));
-        String selectedFileName = dialog.open();
-
-        if (selectedFileName != null) {
-            setErrorMessage(null);
-            setDestinationValue(selectedFileName);
-        }
-    }
-
-    /**
-     *	Hook method for saving widget values for restoration by the next instance
-     *	of this class.
-     */
-    protected void internalSaveWidgetValues() {
-        // update directory names history
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] directoryNames = settings
-                    .getArray(STORE_DESTINATION_NAMES_ID);
-            if (directoryNames == null)
-                directoryNames = new String[0];
-
-            directoryNames = addToHistory(directoryNames, getDestinationValue());
-            settings.put(STORE_DESTINATION_NAMES_ID, directoryNames);
-
-            settings.put(STORE_CREATE_STRUCTURE_ID,
-                    createDirectoryStructureButton.getSelection());
-
-            settings.put(STORE_COMPRESS_CONTENTS_ID, compressContentsCheckbox
-                    .getSelection());
-        }
-    }
-
-    /**
-     *	Hook method for restoring widget values to the values that they held
-     *	last time this wizard was used to completion.
-     */
-    protected void restoreWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] directoryNames = settings
-                    .getArray(STORE_DESTINATION_NAMES_ID);
-            if (directoryNames == null || directoryNames.length == 0)
-                return; // ie.- no settings stored
-
-            // destination
-            setDestinationValue(directoryNames[0]);
-            for (int i = 0; i < directoryNames.length; i++)
-                addDestinationItem(directoryNames[i]);
-
-            boolean setStructure = settings
-                    .getBoolean(STORE_CREATE_STRUCTURE_ID);
-
-            createDirectoryStructureButton.setSelection(setStructure);
-            createSelectionOnlyButton.setSelection(!setStructure);
-
-            compressContentsCheckbox.setSelection(settings
-                    .getBoolean(STORE_COMPRESS_CONTENTS_ID));
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.wizards.datatransfer.WizardFileSystemResourceExportPage1#destinationEmptyMessage()
-     */
-    protected String destinationEmptyMessage() {
-        return DataTransferMessages.getString("ZipExport.destinationEmpty"); //$NON-NLS-1$
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceImportPage1.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceImportPage1.java
deleted file mode 100644
index 63924b5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardZipFileResourceImportPage1.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.wizards.datatransfer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-
-/**
- *	Page 1 of the base resource import-from-zip Wizard.
- *
- *	Note that importing from .jar is identical to importing from .zip, so
- *	all references to .zip in this class are equally applicable to .jar
- *	references.
- */
-public class WizardZipFileResourceImportPage1 extends
-        WizardFileSystemResourceImportPage1 implements Listener {
-    private ZipFileStructureProvider providerCache;
-
-    ZipFileStructureProvider currentProvider;
-
-    // constants
-    private static final String[] FILE_IMPORT_MASK = { "*.jar;*.zip", "*.*" }; //$NON-NLS-1$ //$NON-NLS-2$
-
-    // dialog store id constants
-    private final static String STORE_SOURCE_NAMES_ID = "WizardZipFileResourceImportPage1.STORE_SOURCE_NAMES_ID"; //$NON-NLS-1$
-
-    private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID = "WizardZipFileResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID"; //$NON-NLS-1$
-
-    private final static String STORE_SELECTED_TYPES_ID = "WizardZipFileResourceImportPage1.STORE_SELECTED_TYPES_ID"; //$NON-NLS-1$
-
-    /**
-     *	Creates an instance of this class
-     * @param aWorkbench IWorkbench
-     * @param selection IStructuredSelection
-     */
-    public WizardZipFileResourceImportPage1(IWorkbench aWorkbench,
-            IStructuredSelection selection) {
-        super("zipFileImportPage1", aWorkbench, selection); //$NON-NLS-1$
-        setTitle(DataTransferMessages.getString("ZipExport.exportTitle")); //$NON-NLS-1$
-        setDescription(DataTransferMessages.getString("ZipImport.description")); //$NON-NLS-1$
-    }
-
-    /**
-     * Called when the user presses the Cancel button. Return a boolean
-     * indicating permission to close the wizard.
-     *
-     * @return boolean
-     */
-    public boolean cancel() {
-        clearProviderCache();
-        return true;
-    }
-
-    /**
-     * Clears the cached structure provider after first finalizing
-     * it properly.
-     */
-    protected void clearProviderCache() {
-        if (providerCache != null) {
-            closeZipFile(providerCache.getZipFile());
-            providerCache = null;
-        }
-    }
-
-    /**
-     * Attempts to close the passed zip file, and answers a boolean indicating success.
-     */
-    protected boolean closeZipFile(ZipFile file) {
-        try {
-            file.close();
-        } catch (IOException e) {
-            displayErrorDialog(DataTransferMessages.format(
-                    "ZipImport.couldNotClose", new Object[] { file.getName() })); //$NON-NLS-1$
-            return false;
-        }
-
-        return true;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-                IDataTransferHelpContextIds.ZIP_FILE_IMPORT_WIZARD_PAGE);
-    }
-
-    /**
-     *	Create the options specification widgets. There is only one
-     * in this case so create no group.
-     *
-     *	@param parent org.eclipse.swt.widgets.Composite
-     */
-    protected void createOptionsGroup(Composite parent) {
-
-        // overwrite... checkbox
-        overwriteExistingResourcesCheckbox = new Button(parent, SWT.CHECK);
-        overwriteExistingResourcesCheckbox.setText(DataTransferMessages
-                .getString("FileImport.overwriteExisting")); //$NON-NLS-1$
-        overwriteExistingResourcesCheckbox.setFont(parent.getFont());
-    }
-
-    /**
-     *	Answer a boolean indicating whether the specified source currently exists
-     *	and is valid (ie.- proper format)
-     */
-    protected boolean ensureSourceIsValid() {
-        ZipFile specifiedFile = getSpecifiedSourceFile();
-
-        if (specifiedFile == null)
-            return false;
-
-        return closeZipFile(specifiedFile);
-    }
-
-    /**
-     * The Finish button was pressed.  Try to do the required work now and answer
-     * a boolean indicating success.  If <code>false</code> is returned then the
-     * wizard will not close.
-     *
-     * @return boolean
-     */
-    public boolean finish() {
-        if (!super.finish())
-            return false;
-
-        clearProviderCache();
-        return true;
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only files as children.
-     */
-    protected ITreeContentProvider getFileProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    return element.getFiles(currentProvider).getChildren(
-                            element);
-                }
-                return new Object[0];
-            }
-        };
-    }
-
-    /**
-     *	Answer the root FileSystemElement that represents the contents of the
-     *	currently-specified .zip file.  If this FileSystemElement is not
-     *	currently defined then create and return it.
-     */
-    protected MinimizedFileSystemElement getFileSystemTree() {
-
-        ZipFile sourceFile = getSpecifiedSourceFile();
-        if (sourceFile == null) {
-            //Clear out the provider as well
-            this.currentProvider = null;
-            return null;
-        }
-
-        ZipFileStructureProvider provider = getStructureProvider(sourceFile);
-        this.currentProvider = provider;
-        return selectFiles(provider.getRoot(), provider);
-    }
-
-    /**
-     * Returns a content provider for <code>FileSystemElement</code>s that returns 
-     * only folders as children.
-     */
-    protected ITreeContentProvider getFolderProvider() {
-        return new WorkbenchContentProvider() {
-            public Object[] getChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    return element.getFolders(currentProvider).getChildren(
-                            element);
-                }
-                return new Object[0];
-            }
-
-            public boolean hasChildren(Object o) {
-                if (o instanceof MinimizedFileSystemElement) {
-                    MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-                    if (element.isPopulated())
-                        return getChildren(element).length > 0;
-                    else {
-                        //If we have not populated then wait until asked
-                        return true;
-                    }
-                }
-                return false;
-            }
-        };
-    }
-
-    /**
-     *	Answer the string to display as the label for the source specification field
-     */
-    protected String getSourceLabel() {
-        return DataTransferMessages.getString("ZipImport.fromFile"); //$NON-NLS-1$
-    }
-
-    /**
-     *	Answer a handle to the zip file currently specified as being the source.
-     *	Return null if this file does not exist or is not of valid format.
-     */
-    protected ZipFile getSpecifiedSourceFile() {
-        return getSpecifiedSourceFile(sourceNameField.getText());
-    }
-
-    /**
-     *	Answer a handle to the zip file currently specified as being the source.
-     *	Return null if this file does not exist or is not of valid format.
-     */
-    private ZipFile getSpecifiedSourceFile(String fileName) {
-        if (fileName.length() == 0)
-            return null;
-
-        try {
-            return new ZipFile(fileName);
-        } catch (ZipException e) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipImport.badFormat")); //$NON-NLS-1$
-        } catch (IOException e) {
-            displayErrorDialog(DataTransferMessages
-                    .getString("ZipImport.couldNotRead")); //$NON-NLS-1$
-        }
-
-        sourceNameField.setFocus();
-        return null;
-    }
-
-    /**
-     * Returns a structure provider for the specified zip file.
-     */
-    protected ZipFileStructureProvider getStructureProvider(ZipFile targetZip) {
-        if (providerCache == null)
-            providerCache = new ZipFileStructureProvider(targetZip);
-        else if (!providerCache.getZipFile().getName().equals(
-                targetZip.getName())) {
-            clearProviderCache();
-            // ie.- new value, so finalize&remove old value
-            providerCache = new ZipFileStructureProvider(targetZip);
-        } else if (!providerCache.getZipFile().equals(targetZip))
-            closeZipFile(targetZip); // ie.- duplicate handle to same .zip
-
-        return providerCache;
-    }
-
-    /**
-     *	Open a FileDialog so that the user can specify the source
-     *	file to import from
-     */
-    protected void handleSourceBrowseButtonPressed() {
-        String selectedFile = queryZipFileToImport();
-
-        if (selectedFile != null) {
-            if (!selectedFile.equals(sourceNameField.getText())) {
-                //Be sure it is valid before we go setting any names
-                ZipFile sourceFile = getSpecifiedSourceFile(selectedFile);
-                if (sourceFile != null) {
-                    closeZipFile(sourceFile);
-                    setSourceName(selectedFile);
-                    selectionGroup.setFocus();
-                }
-            }
-        }
-    }
-
-    /**
-     *  Import the resources with extensions as specified by the user
-     */
-    protected boolean importResources(List fileSystemObjects) {
-        ZipFile zipFile = getSpecifiedSourceFile();
-        ZipFileStructureProvider structureProvider = getStructureProvider(zipFile);
-        ImportOperation operation = new ImportOperation(getContainerFullPath(),
-                structureProvider.getRoot(), structureProvider, this,
-                fileSystemObjects);
-
-        operation.setContext(getShell());
-        boolean result = executeImportOperation(operation);
-
-        closeZipFile(zipFile);
-
-        return result;
-    }
-
-    /**
-     * Initializes the specified operation appropriately.
-     */
-    protected void initializeOperation(ImportOperation op) {
-        op.setOverwriteResources(overwriteExistingResourcesCheckbox
-                .getSelection());
-    }
-
-    /**
-     * Opens a file selection dialog and returns a string representing the
-     * selected file, or <code>null</code> if the dialog was canceled.
-     */
-    protected String queryZipFileToImport() {
-        FileDialog dialog = new FileDialog(sourceNameField.getShell(), SWT.OPEN);
-        dialog.setFilterExtensions(FILE_IMPORT_MASK);
-        dialog.setText(DataTransferMessages.getString("ZipImportSource.title")); //$NON-NLS-1$
-
-        String currentSourceString = sourceNameField.getText();
-        int lastSeparatorIndex = currentSourceString
-                .lastIndexOf(File.separator);
-        if (lastSeparatorIndex != -1)
-            dialog.setFilterPath(currentSourceString.substring(0,
-                    lastSeparatorIndex));
-
-        return dialog.open();
-    }
-
-    /**
-     *	Repopulate the view based on the currently entered directory.
-     */
-    protected void resetSelection() {
-
-        super.resetSelection();
-        setAllSelections(true);
-    }
-
-    /**
-     *	Use the dialog store to restore widget values to the values that they held
-     *	last time this wizard was used to completion
-     */
-    protected void restoreWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-            if (sourceNames == null)
-                return; // ie.- no settings stored
-
-            // set filenames history
-            for (int i = 0; i < sourceNames.length; i++)
-                sourceNameField.add(sourceNames[i]);
-
-            // radio buttons and checkboxes	
-            overwriteExistingResourcesCheckbox.setSelection(settings
-                    .getBoolean(STORE_OVERWRITE_EXISTING_RESOURCES_ID));
-        }
-    }
-
-    /**
-     * 	Since Finish was pressed, write widget values to the dialog store so that they
-     *	will persist into the next invocation of this wizard page.
-     *
-     *	Note that this method is identical to the one that appears in the superclass.
-     *	This is necessary because proper overriding of instance variables is not occurring.
-     */
-    protected void saveWidgetValues() {
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            // update source names history
-            String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-            if (sourceNames == null)
-                sourceNames = new String[0];
-
-            sourceNames = addToHistory(sourceNames, sourceNameField.getText());
-            settings.put(STORE_SOURCE_NAMES_ID, sourceNames);
-
-            // update specific types to import history
-            String[] selectedTypesNames = settings
-                    .getArray(STORE_SELECTED_TYPES_ID);
-            if (selectedTypesNames == null)
-                selectedTypesNames = new String[0];
-
-            settings.put(STORE_OVERWRITE_EXISTING_RESOURCES_ID,
-                    overwriteExistingResourcesCheckbox.getSelection());
-        }
-    }
-
-    /**
-     *	Answer a boolean indicating whether self's source specification
-     *	widgets currently all contain valid values.
-     */
-    protected boolean validateSourceGroup() {
-
-        //If there is nothing being provided to the input then there is a problem
-        if (this.currentProvider == null) {
-            setMessage(SOURCE_EMPTY_MESSAGE);
-            enableButtonGroup(false);
-            return false;
-        } else {
-            enableButtonGroup(true);
-            return true;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ZipFileExporter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ZipFileExporter.java
deleted file mode 100644
index 6d7b683..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/ZipFileExporter.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.ui.internal.wizards.datatransfer;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- *	Exports resources to a .zip file
- */
-public class ZipFileExporter implements IFileExporter {
-    private ZipOutputStream outputStream;
-
-    private boolean useCompression = true;
-
-    /**
-     *	Create an instance of this class.
-     *
-     *	@param filename java.lang.String
-     *	@param compress boolean
-     *	@exception java.io.IOException
-     */
-    public ZipFileExporter(String filename, boolean compress) throws IOException {
-        outputStream = new ZipOutputStream(new FileOutputStream(filename));
-        useCompression = compress;
-    }
-
-    /**
-     *	Do all required cleanup now that we're finished with the
-     *	currently-open .zip
-     *
-     *	@exception java.io.IOException
-     */
-    public void finished() throws IOException {
-        outputStream.close();
-    }
-
-    /**
-     *	Write the contents of the file to the tar archive.
-     *
-     *	@param entry
-     *	@param contents
-     *  @exception java.io.IOException
-     *  @exception org.eclipse.core.runtime.CoreException
-     */
-    private void write(ZipEntry entry, IFile contents) throws IOException, CoreException {
-        byte[] readBuffer = new byte[4096];
-
-        // If the contents are being compressed then we get the below for free.
-        if (!useCompression) {
-            entry.setMethod(ZipEntry.STORED);
-        	InputStream contentStream = contents.getContents(false);
-        	int length = 0;
-            CRC32 checksumCalculator = new CRC32();
-            try {
-                int n;
-                while ((n = contentStream.read(readBuffer)) > 0) {
-                    checksumCalculator.update(readBuffer, 0, n);
-                    length += n;
-                }
-            } finally {
-                if (contentStream != null)
-                    contentStream.close();
-            }
-
-            entry.setSize(length);
-            entry.setCrc(checksumCalculator.getValue());
-        }
-
-        outputStream.putNextEntry(entry);
-    	InputStream contentStream = contents.getContents(false);
-        try {
-            int n;
-            while ((n = contentStream.read(readBuffer)) > 0) {
-                outputStream.write(readBuffer, 0, n);
-            }
-        } finally {
-            if (contentStream != null)
-                contentStream.close();
-        }
-        outputStream.closeEntry();
-    }
-
-    /**
-     *  Write the passed resource to the current archive.
-     *
-     *  @param resource org.eclipse.core.resources.IFile
-     *  @param destinationPath java.lang.String
-     *  @exception java.io.IOException
-     *  @exception org.eclipse.core.runtime.CoreException
-     */
-    public void write(IFile resource, String destinationPath)
-            throws IOException, CoreException {
-        ZipEntry newEntry = new ZipEntry(destinationPath);
-        write(newEntry, resource);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties
deleted file mode 100644
index 3507d0e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties
+++ /dev/null
@@ -1,155 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.wizards.datatransfer
-
-
-# ==============================================================================
-# Data Transfer Wizards
-# ==============================================================================
-DataTransfer.fileSystemTitle = File system
-ZipExport.exportTitle = Zip file
-ArchiveExport.exportTitle = Archive file
-
-DataTransfer.browse = B&rowse...
-DataTransfer.selectTypes = Filter &Types...
-DataTransfer.selectAll = &Select All
-DataTransfer.deselectAll = &Deselect All
-
-DataTransfer.typeDelimiter = ,
-DataTransfer.allFiles = All files matching this criteria
-DataTransfer.oneSelected = 1 file selected
-DataTransfer.details = Details...
-DataTransfer.allTypes = All types
-
-DataTransfer.cannotOverwrite = Cannot overwrite file: {0}
-DataTransfer.emptyString = 
-DataTransfer.scanningChildren = Scanning for children...
-DataTransfer.scanningMatching = Scanning for matching files...
-DataTransfer.information = Information
-
-# --- Import Wizards ---
-DataTransfer.importTitle = Import
-
-DataTransfer.importTask = Importing:
-ImportOperation.creatingFolder = Creating folder:
-ImportOperation.cannotCopy = Cannot copy root file system.
-ImportOperation.importProblems = Problems were encountered during import:
-ImportOperation.openStreamError = Error opening input stream for {0}
-ImportOperation.closeStreamError = Could not close input stream for {0}
-ImportOperation.coreImportError = Unable to import {0}.  Reason: {1}
-ImportOperation.targetSameAsSourceError = Unable to import {0}. The file cannot be copied onto itself
-ImportPage.oneSelected = 1 entry selected
-ImportPage.filterSelections = Filtering selection
-
-FileImport.selectSource = Select a directory to import from.
-FileImport.selectSourceTitle = Import from directory
-FileImport.sourceTitle = Directory:
-FileImport.fromDirectory = From director&y:
-FileImport.selectResources = Select the resources to import.
-FileImport.importFileSystem = Import resources from the local file system.
-FileImport.overwriteExisting = &Overwrite existing resources without warning
-FileImport.createComplete = &Create complete folder structure
-FileImport.createSelectedFolders = Create s&elected folders only
-FileImport.selectTypes = Select the types to import.
-FileImport.typeSelectionTitle = Type Selection
-FileImport.noneSelected = There are no resources currently selected for import.
-FileImport.filesofType = Files of type:
-FileImport.edit = Edit...
-FileImport.filesSelected = {0} files selected
-FileImport.invalidSource = Source directory is not valid or has not been specified.
-FileImport.sourceEmpty = Source must not be empty.
-FileImport.importProblems = Import Problems
-FileImport.whichTypesImport = What types of files do you wish to import?
-
-ZipImport.description = Import the contents of a Zip file from the local file system.
-ZipImport.entriesSelected = {0} entries selected
-ZipImport.couldNotClose = Could not close file {0}
-ZipImport.badFormat = Source file is not a valid Zip file.
-ZipImport.couldNotRead = Source file could not be read.
-ZipImport.fromFile = From &zip file:
-ZipImportSource.title = Import From Zip File
-
-ArchiveImport.description = Import the contents of an archive file in zip or tar format from the local file system.
-ArchiveImport.fromFile = From &archive file:
-ArchiveImportSource.title = Import From Archive File
-TarImport.badFormat = Source file is not a valid tar file.
-
-WizardExternalProjectImportPage.locationError = Invalid project contents directory
-WizardExternalProjectImportPage.projectNameEmpty = A valid project name must be specified in the .project file at the Project contents location.
-WizardExternalProjectImportPage.projectLocationEmpty = Project contents directory must be specified
-WizardExternalProjectImportPage.projectExistsMessage = Project already exists.
-WizardExternalProjectImportPage.projectContentsLabel = Project &contents:
-WizardExternalProjectImportPage.nameLabel = &Project name:
-WizardProjectsImportPage.RootSelectTitle=Select roo&t directory:
-WizardExternalProjectImportPage.title = Import Project From File System
-WizardProjectsImportPage.BrowseTitle=&Browse
-WizardExternalProjectImportPage.description = Create a new Project from an Eclipse project in the file system. This does not copy the project to the workspace.
-WizardExternalProjectImportPage.notAProject = {0} does not have a .project file.
-WizardProjectsImportPage.ProjectsListTitle=&Projects:
-WizardProjectsImportPage.ProcessingMessage=Processing results
-WizardProjectsImportPage.SelectDialogTitle=Select root directory of the projects to import
-WizardProjectsImportPage.SearchingMessage=Searching for projects
-WizardExternalProjectImportPage.errorMessage = Creation Problems
-WizardProjectsImportPage.ImportProjectsTitle=Import Projects
-WizardExternalProjectImportPage.internalError = Internal error: {0}
-WizardExternalProjectImportPage.caseVariantExistsError = The project contents directory specified is being used by another project. Please enter a new project contents directory.
-WizardExternalProjectImportPage.directoryLabel = Select the Project location.
-WizardExternalProjectImportPage.defaultLocationError = Projects under the workspace root must have a matching name and location
-WizardProjectsImportPage.ImportProjectsDescription=Select a directory to search for existing Eclipse projects.
-WizardProjectsImportPage.CheckingMessage= Checking: {0}
-
-# --- Export Wizards ---
-DataTransfer.export = Export
-
-DataTransfer.exportingTitle = Exporting:
-DataTransfer.selectDestination = Select the destination directory.
-DataTransfer.directory = Director&y:
-DataTransfer.createTargetDirectory = Target directory does not exist.  Would you like to create it?
-DataTransfer.directoryCreationError = Target directory could not be created.
-DataTransfer.errorExporting = Error exporting {0}: {1}
-DataTransfer.exportProblems = Export Problems
-
-ExportFile.overwriteExisting = &Overwrite existing files without warning
-ExportFile.createDirectoriesForSelected = Create directories for selected folders
-ExportFile.createDirectoryStructure = &Create directory structure
-
-FileExport.selectDestinationTitle= Export To Directory
-FileExport.selectDestinationMessage=Select a directory to export to.
-FileExport.exportLocalFileSystem = Export resources to the local file system.
-FileExport.destinationEmpty = Please enter a destination directory.
-FileExport.createDirectoryStructure = &Create directory structure for files
-FileExport.createSelectedDirectories = Create on&ly selected directories
-FileExport.noneSelected = There are no resources currently selected for export.
-FileExport.directoryExists = Target directory already exists as a file.
-FileExport.conflictingContainer = Destination directory conflicts with location of {0}.
-FileExport.rootName = workspace root
-FileSystemExportOperation.problemsExporting = Problems were encountered during export:
-FileExport.toDirectory = To director&y:
-
-ZipExport.overwriteFile = &Overwrite existing file without warning
-ZipExport.compressContents = Co&mpress the contents of the file
-ZipExport.description = Export resources to a Zip file on the local file system.
-ZipExport.destinationLabel = To &zip file:
-ZipExport.mustBeFile = Export destination must be a file, not a directory.
-ZipExport.alreadyExists = Target file already exists.  Would you like to overwrite it?
-ZipExport.alreadyExistsError = Export destination already exists and cannot be overwritten.
-ZipExport.cannotOpen = Unable to open destination file: {0}
-ZipExport.cannotClose = Unable to close destination file: {0}
-ZipExport.selectDestinationTitle = Export To Zip File
-ZipExport.destinationEmpty = Please enter a destination zip file.
-
-ArchiveExport.description = Export resources to an archive file on the local file system.
-ArchiveExport.destinationLabel = To &archive file:
-ArchiveExport.selectDestinationTitle = Export To Archive File
-ArchiveExport.destinationEmpty = Please enter a destination archive file.
-ArchiveExport.saveInZipFormat = Save in zip format
-ArchiveExport.saveInTarFormat = Save in tar format
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/package.html
deleted file mode 100644
index ffec71c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<meta name="Author" content="IBM">
-<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Package-level Javadoc</title>
-</head>
-
-<body>
-Internal implementation of the data transfer support of the Eclipse Platform User 
-Interface. 
-<h2>Package Specification</h2>
-This package does not contain any API.
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java
deleted file mode 100644
index 756cdcb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * An abstract class for all bookmark view actions.
- */
-abstract class BookmarkAction extends SelectionProviderAction {
-    private BookmarkNavigator view;
-
-    /**
-     * Creates a bookmark action.
-     */
-    protected BookmarkAction(BookmarkNavigator view, String label) {
-        super(view.getViewer(), label);
-        this.view = view;
-    }
-
-    /**
-     * Returns the bookmarks view.
-     */
-    public BookmarkNavigator getView() {
-        return view;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.java
deleted file mode 100644
index 4b2cc56..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkContentProvider.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.ui.views.bookmarkexplorer;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Provides content for the bookmark navigator
- */
-class BookmarkContentProvider implements IStructuredContentProvider,
-        IResourceChangeListener, IBasicPropertyConstants {
-
-    private IResource input;
-
-    private Viewer viewer;
-
-    /**
-     * The constructor.
-     */
-    public BookmarkContentProvider(BookmarkNavigator bookmarksView) {
-        super();
-    }
-
-    /**
-     * The visual part that is using this content provider is about
-     * to be disposed. Deallocate all allocated SWT resources.
-     */
-    public void dispose() {
-        IResource resource = (IResource) viewer.getInput();
-        if (resource != null) {
-            resource.getWorkspace().removeResourceChangeListener(this);
-        }
-    }
-
-    /**
-     * Returns all the bookmarks that should be shown for
-     * the current settings.
-     */
-    Object[] getBookmarks(IResource resource) {
-        try {
-            return resource.findMarkers(IMarker.BOOKMARK, true,
-                    IResource.DEPTH_INFINITE);
-        } catch (CoreException e) {
-            return new Object[0];
-        }
-    }
-
-    public Object[] getChildren(Object element) {
-        // If the input element is a workbench return a list
-        // of the existing bookmarks.  Otherwise, return an empty list.
-        if (element instanceof IResource)
-            return getBookmarks((IResource) element);
-        else
-            return new Object[0];
-    }
-
-    public Object[] getElements(Object element) {
-        return getChildren(element);
-    }
-
-    /**
-     * Recursively walks over the resource delta and gathers all marker deltas.  Marker
-     * deltas are placed into one of the three given vectors depending on
-     * the type of delta (add, remove, or change).
-     */
-    void getMarkerDeltas(IResourceDelta delta, List additions, List removals,
-            List changes) {
-        IMarkerDelta[] markerDeltas = delta.getMarkerDeltas();
-        for (int i = 0; i < markerDeltas.length; i++) {
-            IMarkerDelta markerDelta = markerDeltas[i];
-            IMarker marker = markerDelta.getMarker();
-            switch (markerDelta.getKind()) {
-            case IResourceDelta.ADDED:
-                if (markerDelta.isSubtypeOf(IMarker.BOOKMARK)) {
-                    additions.add(marker);
-                }
-                break;
-            case IResourceDelta.REMOVED:
-                if (markerDelta.isSubtypeOf(IMarker.BOOKMARK)) {
-                    removals.add(marker);
-                }
-                break;
-            case IResourceDelta.CHANGED:
-                if (markerDelta.isSubtypeOf(IMarker.BOOKMARK)) {
-                    changes.add(marker);
-                }
-                break;
-            }
-        }
-
-        //recurse on child deltas
-        IResourceDelta[] children = delta.getAffectedChildren();
-        for (int i = 0; i < children.length; i++) {
-            getMarkerDeltas(children[i], additions, removals, changes);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ITreeContentProvider,
-     */
-    public Object getParent(Object element) {
-        return input;
-    }
-
-    /**
-     * hasChildren method comment.
-     */
-    public boolean hasChildren(Object element) {
-        if (element instanceof IWorkspace)
-            return true;
-        else
-            return false;
-    }
-
-    public void inputChanged(Viewer newViewer, Object oldInput, Object newInput) {
-        if (oldInput == null) {
-            IResource resource = (IResource) newInput;
-            resource.getWorkspace().addResourceChangeListener(this);
-        }
-        this.viewer = newViewer;
-        this.input = (IResource) newInput;
-    }
-
-    /**
-     * The workbench has changed.  Process the delta and provide updates to the viewer,
-     * inside the UI thread.
-     *
-     * @see IResourceChangeListener#resourceChanged
-     */
-    public void resourceChanged(final IResourceChangeEvent event) {
-
-        // gather all marker changes from the delta.
-        // be sure to do this in the calling thread, 
-        // as the delta is destroyed when this method returns
-        final List additions = new ArrayList();
-        final List removals = new ArrayList();
-        final List changes = new ArrayList();
-
-        IResourceDelta delta = event.getDelta();
-        if (delta == null)
-            return;
-        getMarkerDeltas(delta, additions, removals, changes);
-
-        // update the viewer based on the marker changes, in the UI thread
-        if (additions.size() + removals.size() + changes.size() > 0) {
-            viewer.getControl().getDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    // This method runs inside an asyncExec.  The widget may have been destroyed
-                    // by the time this is run.  Check for this and do nothing if so.
-                    Control ctrl = viewer.getControl();
-                    if (ctrl == null || ctrl.isDisposed())
-                        return;
-
-                    viewer.refresh();
-                }
-            });
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
deleted file mode 100644
index e2e5fc5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkLabelProvider.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Provides labels for the bookmark navigator table
- */
-class BookmarkLabelProvider extends LabelProvider implements
-        ITableLabelProvider {
-
-    private Image image;
-    private ImageDescriptor desc;
-
-    final static int COLUMN_ICON = 0;
-
-    final static int COLUMN_DESCRIPTION = 1;
-
-    final static int COLUMN_RESOURCE = 2;
-
-    final static int COLUMN_FOLDER = 3;
-
-    final static int COLUMN_LOCATION = 4;
-
-    public BookmarkLabelProvider(BookmarkNavigator view) {
-        desc = view.getImageDescriptor("obj16/bkmrk_tsk.gif"); //$NON-NLS-1$
-        image = JFaceResources.getResources().createImageWithDefault(desc);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on LabelProvider.
-     */
-    public void dispose() {
-        if (image != null) {
-            JFaceResources.getResources().destroyImage(desc);
-            image = null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on LabelProvider.
-     */
-    public Image getImage(Object element) {
-        return image;
-    }
-
-    public String getColumnText(Object element, int columnIndex) {
-        if (!(element instanceof IMarker))
-            return ""; //$NON-NLS-1$
-        IMarker marker = (IMarker) element;
-
-        switch (columnIndex) {
-        case COLUMN_DESCRIPTION:
-            return marker.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
-        case COLUMN_RESOURCE:
-            return marker.getResource().getName();
-        case COLUMN_FOLDER:
-            return getContainerName(marker);
-        case COLUMN_LOCATION: {
-            int line = marker.getAttribute(IMarker.LINE_NUMBER, -1);
-            if (line == -1)
-                return ""; //$NON-NLS-1$
-            return BookmarkMessages
-                    .format(
-                            "LineIndicator.text", new String[] { String.valueOf(line) });//$NON-NLS-1$
-        }
-        }
-        return ""; //$NON-NLS-1$ 
-    }
-
-    public Image getColumnImage(Object element, int index) {
-        if (index == COLUMN_ICON)
-            return image;
-        return null;
-    }
-
-    /**
-     * Returns the container name if it is defined, or empty string if not.
-     */
-    public static String getContainerName(IMarker marker) {
-        IPath path = marker.getResource().getFullPath();
-        int n = path.segmentCount() - 1;
-        // n is the number of segments in container, not path
-        if (n <= 0)
-            return ""; //$NON-NLS-1$
-        int len = 0;
-        for (int i = 0; i < n; ++i)
-            len += path.segment(i).length();
-        // account for /'s
-        if (n > 1)
-            len += n - 1;
-        StringBuffer sb = new StringBuffer(len);
-        for (int i = 0; i < n; ++i) {
-            if (i != 0)
-                sb.append('/');
-            sb.append(path.segment(i));
-        }
-        return sb.toString();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java
deleted file mode 100644
index ac76ffe..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkMessages.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-class BookmarkMessages {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.bookmarkexplorer.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private BookmarkMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java
deleted file mode 100644
index 5e1a0a0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkNavigator.java
+++ /dev/null
@@ -1,761 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-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.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.navigator.ShowInNavigatorAction;
-
-/**
- * Main class for the bookmark navigator for displaying bookmarks on
- * resources and opening an editor on the bookmarked resource when the user
- * commands.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.BookmarkNavigator"</code>.
- * </p>
- * <p>
- * The workbench will automatically instantiate this class when a bookmark
- * navigator is needed for a workbench window. This class is not intended
- * to be instantiated or subclassed by clients.
- * </p>
- */
-public class BookmarkNavigator extends ViewPart {
-    private Table table;
-
-    private TableViewer viewer;
-
-    private OpenBookmarkAction openAction;
-
-    private CopyBookmarkAction copyAction;
-
-    private PasteBookmarkAction pasteAction;
-
-    private RemoveBookmarkAction removeAction;
-
-    private EditBookmarkAction editAction;
-
-    private SelectAllAction selectAllAction;
-
-    private ShowInNavigatorAction showInNavigatorAction;
-
-    private SortByAction sortByDescriptionAction;
-
-    private SortByAction sortByResourceAction;
-
-    private SortByAction sortByFolderAction;
-
-    private SortByAction sortByLineAction;
-
-    private SortByAction sortByCreationTime;
-
-    private ChangeSortDirectionAction sortAscendingAction;
-
-    private ChangeSortDirectionAction sortDescendingAction;
-
-    private IMemento memento;
-
-    private BookmarkSorter sorter;
-
-    private Clipboard clipboard;
-
-    private final String columnHeaders[] = {
-            BookmarkMessages.getString("ColumnIcon.header"),//$NON-NLS-1$
-            BookmarkMessages.getString("ColumnDescription.header"),//$NON-NLS-1$
-            BookmarkMessages.getString("ColumnResource.header"),//$NON-NLS-1$
-            BookmarkMessages.getString("ColumnFolder.header"),//$NON-NLS-1$
-            BookmarkMessages.getString("ColumnLocation.header") };//$NON-NLS-1$
-
-    private ColumnLayoutData columnLayouts[] = {
-            new ColumnPixelData(19, false), new ColumnWeightData(200),
-            new ColumnWeightData(75), new ColumnWeightData(150),
-            new ColumnWeightData(60) };
-
-    // Persistance tags.
-    private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-
-    private static final String TAG_ID = "id";//$NON-NLS-1$
-
-    private static final String TAG_MARKER = "marker";//$NON-NLS-1$
-
-    private static final String TAG_RESOURCE = "resource";//$NON-NLS-1$
-
-    private static final String TAG_VERTICAL_POSITION = "verticalPosition";//$NON-NLS-1$
-
-    private static final String TAG_HORIZONTAL_POSITION = "horizontalPosition";//$NON-NLS-1$
-
-    class SortByAction extends Action {
-
-        private int column;
-
-        /**
-         * @param column
-         */
-        public SortByAction(int column) {
-            this.column = column;
-        }
-
-        public void run() {
-            sorter.setTopPriority(column);
-            updateSortState();
-            viewer.refresh();
-            IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-            IDialogSettings settings = workbenchSettings
-                    .getSection("BookmarkSortState");//$NON-NLS-1$
-            if (settings == null)
-                settings = workbenchSettings.addNewSection("BookmarkSortState");//$NON-NLS-1$
-            sorter.saveState(settings);
-        }
-    }
-
-    class ChangeSortDirectionAction extends Action {
-
-        private int direction;
-
-        /**
-         * @param direction
-         */
-        public ChangeSortDirectionAction(int direction) {
-            this.direction = direction;
-        }
-
-        public void run() {
-            sorter.setTopPriorityDirection(direction);
-            updateSortState();
-            viewer.refresh();
-            IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-            IDialogSettings settings = workbenchSettings
-                    .getSection("BookmarkSortState");//$NON-NLS-1$
-            if (settings == null)
-                settings = workbenchSettings.addNewSection("BookmarkSortState");//$NON-NLS-1$
-            sorter.saveState(settings);
-        }
-    }
-
-    /**
-     * Creates the bookmarks view.
-     */
-    public BookmarkNavigator() {
-        super();
-    }
-
-    /**
-     * Adds this views contributions to the workbench.
-     */
-    void addContributions() {
-        ISharedImages sharedImages = PlatformUI.getWorkbench()
-                .getSharedImages();
-
-        // Create the actions.
-        openAction = new OpenBookmarkAction(this);
-        openAction
-                .setImageDescriptor(getImageDescriptor("elcl16/gotoobj_tsk.gif"));//$NON-NLS-1$
-
-        copyAction = new CopyBookmarkAction(this);
-        copyAction.setImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-
-        pasteAction = new PasteBookmarkAction(this);
-        pasteAction.setImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-
-        removeAction = new RemoveBookmarkAction(this);
-        removeAction.setImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-        removeAction.setDisabledImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-
-        editAction = new EditBookmarkAction(this);
-
-        selectAllAction = new SelectAllAction(this);
-        showInNavigatorAction = new ShowInNavigatorAction(getViewSite()
-                .getPage(), viewer);
-
-        // initializes action enabled state
-        handleSelectionChanged(StructuredSelection.EMPTY);
-
-        // Create dynamic menu mgr.  Dynamic is currently required to
-        // support action contributions.
-        MenuManager mgr = new MenuManager();
-        mgr.setRemoveAllWhenShown(true);
-        mgr.addMenuListener(new IMenuListener() {
-            public void menuAboutToShow(IMenuManager mgr) {
-                fillContextMenu(mgr);
-            }
-        });
-        Menu menu = mgr.createContextMenu(viewer.getControl());
-        viewer.getControl().setMenu(menu);
-        getSite().registerContextMenu(mgr, viewer);
-
-        // Add actions to the local tool bar
-        IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager();
-        tbm.add(removeAction);
-        tbm.add(openAction);
-        tbm.update(false);
-
-        // Register with action service.
-        IActionBars actionBars = getViewSite().getActionBars();
-        actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(),
-                copyAction);
-        actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(),
-                pasteAction);
-        actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(),
-                removeAction);
-        actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(),
-                selectAllAction);
-
-        // Set the double click action.
-        viewer.addOpenListener(new IOpenListener() {
-            public void open(OpenEvent event) {
-                openAction.run();
-            }
-        });
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                handleSelectionChanged((IStructuredSelection) event
-                        .getSelection());
-            }
-        });
-        viewer.getControl().addKeyListener(new KeyAdapter() {
-            public void keyPressed(KeyEvent e) {
-                handleKeyPressed(e);
-            }
-        });
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void createPartControl(Composite parent) {
-        clipboard = new Clipboard(parent.getDisplay());
-        createTable(parent);
-        viewer = new TableViewer(table);
-        createColumns();
-
-        sorter = new BookmarkSorter();
-        viewer.setContentProvider(new BookmarkContentProvider(this));
-        viewer.setLabelProvider(new BookmarkLabelProvider(this));
-        viewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-        viewer.setSorter(sorter);
-
-        IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-        IDialogSettings settings = workbenchSettings
-                .getSection("BookmarkSortState");//$NON-NLS-1$
-        sorter.restoreState(settings);
-
-        addContributions();
-        initDragAndDrop();
-        createSortActions();
-        fillActionBars();
-        updateSortState();
-        updatePasteEnablement();
-
-        getSite().setSelectionProvider(viewer);
-
-        if (memento != null)
-            restoreState(memento);
-        memento = null;
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
-                IBookmarkHelpContextIds.BOOKMARK_VIEW);
-    }
-
-    public void dispose() {
-        if (clipboard != null)
-            clipboard.dispose();
-    }
-
-    /**
-     * Notifies this listener that the menu is about to be shown by
-     * the given menu manager.
-     *
-     * @param manager the menu manager
-     */
-    void fillContextMenu(IMenuManager manager) {
-        manager.add(openAction);
-        manager.add(copyAction);
-        updatePasteEnablement();
-        manager.add(pasteAction);
-        manager.add(removeAction);
-        manager.add(selectAllAction);
-        manager.add(showInNavigatorAction);
-        manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        manager.add(new Separator());
-        manager.add(editAction);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IShowInSource.class) {
-            return new IShowInSource() {
-                public ShowInContext getShowInContext() {
-                    return new ShowInContext(null, getViewer().getSelection());
-                }
-            };
-        }
-        if (adapter == IShowInTargetList.class) {
-            return new IShowInTargetList() {
-                public String[] getShowInTargetIds() {
-                    return new String[] { IPageLayout.ID_RES_NAV };
-                }
-
-            };
-        }
-        return super.getAdapter(adapter);
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            URL installURL = getPlugin().getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            Assert.isTrue(false);
-            return null;
-        }
-    }
-
-    /**
-     * Returns the UI plugin for the bookmarks view.
-     */
-    static AbstractUIPlugin getPlugin() {
-        return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-    }
-
-    /**
-     * Returns the shell.
-     */
-    Shell getShell() {
-        return getViewSite().getShell();
-    }
-
-    /**
-     * Returns the viewer used to display bookmarks.
-     *
-     * @return the viewer, or <code>null</code> if this view's controls
-     *  have not been created yet
-     */
-    StructuredViewer getViewer() {
-        return viewer;
-    }
-
-    /**
-     * Returns the workspace.
-     */
-    IWorkspace getWorkspace() {
-        return ResourcesPlugin.getWorkspace();
-    }
-
-    /**
-     * Handles key events in viewer.
-     */
-    void handleKeyPressed(KeyEvent event) {
-        if (event.character == SWT.DEL && event.stateMask == 0
-                && removeAction.isEnabled())
-            removeAction.run();
-    }
-
-    /**
-     * Handles a selection change.
-     *
-     * @param selection the new selection
-     */
-    void handleSelectionChanged(IStructuredSelection selection) {
-        //update the actions
-        openAction.selectionChanged(selection);
-        removeAction.selectionChanged(selection);
-        editAction.selectionChanged(selection);
-        selectAllAction.selectionChanged(selection);
-        showInNavigatorAction.selectionChanged(selection);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     */
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        this.memento = memento;
-    }
-
-    /**
-     * Adds drag and drop support to the bookmark navigator.
-     */
-    protected void initDragAndDrop() {
-        int operations = DND.DROP_COPY;
-        Transfer[] transferTypes = new Transfer[] {
-                MarkerTransfer.getInstance(), TextTransfer.getInstance() };
-        DragSourceListener listener = new DragSourceAdapter() {
-            public void dragSetData(DragSourceEvent event) {
-                performDragSetData(event);
-            }
-
-            public void dragFinished(DragSourceEvent event) {
-            }
-        };
-        viewer.addDragSupport(operations, transferTypes, listener);
-    }
-
-    /**
-     * The user is attempting to drag marker data.  Add the appropriate
-     * data to the event depending on the transfer type.
-     */
-    void performDragSetData(DragSourceEvent event) {
-        if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-            event.data = ((IStructuredSelection) viewer.getSelection())
-                    .toArray();
-            return;
-        }
-        if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-            Object[] markers = ((IStructuredSelection) viewer.getSelection())
-                    .toArray();
-            if (markers != null) {
-                StringBuffer buffer = new StringBuffer();
-                ILabelProvider provider = (ILabelProvider) getViewer()
-                        .getLabelProvider();
-                for (int i = 0; i < markers.length; i++) {
-                    if (i > 0)
-                        buffer.append(System.getProperty("line.separator")); //$NON-NLS-1$
-                    String text = provider.getText(markers[i]);
-                    if(text != null)
-                    	buffer.append(text);
-                }
-                event.data = buffer.toString();
-            }
-            return;
-        }
-    }
-
-    void restoreState(IMemento memento) {
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IMemento selectionMem = memento.getChild(TAG_SELECTION);
-        if (selectionMem != null) {
-            ArrayList selectionList = new ArrayList();
-            IMemento markerMems[] = selectionMem.getChildren(TAG_MARKER);
-            for (int i = 0; i < markerMems.length; i++) {
-                try {
-                    long id = new Long(markerMems[i].getString(TAG_ID))
-                            .longValue();
-                    IResource resource = root.findMember(markerMems[i]
-                            .getString(TAG_RESOURCE));
-                    if (resource != null) {
-                        IMarker marker = resource.findMarker(id);
-                        if (marker != null)
-                            selectionList.add(marker);
-                    }
-                } catch (CoreException e) {
-                }
-            }
-            viewer.setSelection(new StructuredSelection(selectionList));
-        }
-
-        Scrollable scrollable = (Scrollable) viewer.getControl();
-        //save vertical position
-        ScrollBar bar = scrollable.getVerticalBar();
-        if (bar != null) {
-            try {
-                String posStr = memento.getString(TAG_VERTICAL_POSITION);
-                int position;
-                position = new Integer(posStr).intValue();
-                bar.setSelection(position);
-            } catch (NumberFormatException e) {
-            }
-        }
-        bar = scrollable.getHorizontalBar();
-        if (bar != null) {
-            try {
-                String posStr = memento.getString(TAG_HORIZONTAL_POSITION);
-                int position;
-                position = new Integer(posStr).intValue();
-                bar.setSelection(position);
-            } catch (NumberFormatException e) {
-            }
-        }
-
-        updateSortState();
-        viewer.refresh();
-    }
-
-    public void saveState(IMemento memento) {
-        if (viewer == null) {
-            if (this.memento != null) //Keep the old state;
-                memento.putMemento(this.memento);
-            return;
-        }
-
-        Scrollable scrollable = (Scrollable) viewer.getControl();
-        Object markers[] = ((IStructuredSelection) viewer.getSelection())
-                .toArray();
-        if (markers.length > 0) {
-            IMemento selectionMem = memento.createChild(TAG_SELECTION);
-            for (int i = 0; i < markers.length; i++) {
-                IMemento elementMem = selectionMem.createChild(TAG_MARKER);
-                IMarker marker = (IMarker) markers[i];
-                elementMem.putString(TAG_RESOURCE, marker.getResource()
-                        .getFullPath().toString());
-                elementMem.putString(TAG_ID, String.valueOf(marker.getId()));
-            }
-        }
-
-        //save vertical position
-        ScrollBar bar = scrollable.getVerticalBar();
-        int position = bar != null ? bar.getSelection() : 0;
-        memento.putString(TAG_VERTICAL_POSITION, String.valueOf(position));
-        //save horizontal position
-        bar = scrollable.getHorizontalBar();
-        position = bar != null ? bar.getSelection() : 0;
-        memento.putString(TAG_HORIZONTAL_POSITION, String.valueOf(position));
-
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void setFocus() {
-        if (viewer != null)
-            viewer.getControl().setFocus();
-    }
-
-    void createColumns() {
-        SelectionListener headerListener = new SelectionAdapter() {
-            /**
-             * Handles the case of user selecting the
-             * header area.
-             * <p>If the column has not been selected previously,
-             * it will set the sorter of that column to be
-             * the current tasklist sorter. Repeated
-             * presses on the same column header will
-             * toggle sorting order (ascending/descending).
-             */
-            public void widgetSelected(SelectionEvent e) {
-                // column selected - first column doesn't count
-                int column = table.indexOf((TableColumn) e.widget) - 1;
-                if (column == sorter.getTopPriority())
-                    sorter.reverseTopPriority();
-                else {
-                    sorter.setTopPriority(column);
-                }
-                updateSortState();
-                viewer.refresh();
-                IDialogSettings workbenchSettings = getPlugin()
-                        .getDialogSettings();
-                IDialogSettings settings = workbenchSettings
-                        .getSection("BookmarkSortState");//$NON-NLS-1$
-                if (settings == null)
-                    settings = workbenchSettings
-                            .addNewSection("BookmarkSortState");//$NON-NLS-1$
-                sorter.saveState(settings);
-            }
-        };
-
-        TableLayout layout = new TableLayout();
-        table.setLayout(layout);
-        table.setHeaderVisible(true);
-        for (int i = 0; i < columnHeaders.length; i++) {
-            layout.addColumnData(columnLayouts[i]);
-            TableColumn tc = new TableColumn(table, SWT.NONE, i);
-            tc.setResizable(columnLayouts[i].resizable);
-            tc.setText(columnHeaders[i]);
-            if (i > 0)
-                tc.addSelectionListener(headerListener);
-        }
-    }
-
-    /**
-     * Creates the table control.
-     */
-    void createTable(Composite parent) {
-        table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI
-                | SWT.FULL_SELECTION);
-        table.setLinesVisible(true);
-        //table.setLayout(new TableLayout());
-    }
-
-    /**
-     * Fills the local tool bar and menu manager with actions.
-     */
-    void fillActionBars() {
-        IActionBars actionBars = getViewSite().getActionBars();
-        IMenuManager menu = actionBars.getMenuManager();
-        IMenuManager submenu = new MenuManager(BookmarkMessages
-                .getString("SortMenuGroup.text")); //$NON-NLS-1$
-        menu.add(submenu);
-        submenu.add(sortByDescriptionAction);
-        submenu.add(sortByResourceAction);
-        submenu.add(sortByFolderAction);
-        submenu.add(sortByLineAction);
-        submenu.add(sortByCreationTime);
-        submenu.add(new Separator());
-        submenu.add(sortAscendingAction);
-        submenu.add(sortDescendingAction);
-    }
-
-    void createSortActions() {
-        sortByDescriptionAction = new SortByAction(BookmarkSorter.DESCRIPTION);
-        sortByDescriptionAction.setText(BookmarkMessages
-                .getString("ColumnDescription.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				sortByDescriptionAction,
-				IBookmarkHelpContextIds.SORT_DESCRIPTION_ACTION);
-
-        sortByResourceAction = new SortByAction(BookmarkSorter.RESOURCE);
-        sortByResourceAction.setText(BookmarkMessages
-                .getString("ColumnResource.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByResourceAction,
-                IBookmarkHelpContextIds.SORT_RESOURCE_ACTION);
-
-        sortByFolderAction = new SortByAction(BookmarkSorter.FOLDER);
-        sortByFolderAction.setText(BookmarkMessages
-                .getString("ColumnFolder.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByFolderAction,
-                IBookmarkHelpContextIds.SORT_FOLDER_ACTION);
-
-        sortByLineAction = new SortByAction(BookmarkSorter.LOCATION);
-        sortByLineAction.setText(BookmarkMessages
-                .getString("ColumnLocation.text"));//$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByLineAction,
-                IBookmarkHelpContextIds.SORT_LOCATION_ACTION);
-
-        sortByCreationTime = new SortByAction(BookmarkSorter.CREATION_TIME);
-        sortByCreationTime.setText(BookmarkMessages
-                .getString("ColumnCreationTime.text"));//$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByCreationTime,
-                IBookmarkHelpContextIds.SORT_CREATION_TIME_ACTION);
-
-        sortAscendingAction = new ChangeSortDirectionAction(
-                BookmarkSorter.ASCENDING);
-        sortAscendingAction.setText(BookmarkMessages
-                .getString("SortDirectionAscending.text"));//$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortAscendingAction,
-                IBookmarkHelpContextIds.SORT_ASCENDING_ACTION);
-
-        sortDescendingAction = new ChangeSortDirectionAction(
-                BookmarkSorter.DESCENDING);
-        sortDescendingAction.setText(BookmarkMessages
-                .getString("SortDirectionDescending.text"));//$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortDescendingAction,
-                IBookmarkHelpContextIds.SORT_DESCENDING_ACTION);
-    }
-
-    void updateSortState() {
-        int column = sorter.getTopPriority();
-        sortByDescriptionAction
-                .setChecked(column == BookmarkSorter.DESCRIPTION);
-        sortByResourceAction.setChecked(column == BookmarkSorter.RESOURCE);
-        sortByFolderAction.setChecked(column == BookmarkSorter.FOLDER);
-        sortByLineAction.setChecked(column == BookmarkSorter.LOCATION);
-        sortByCreationTime.setChecked(column == BookmarkSorter.CREATION_TIME);
-
-        int direction = sorter.getTopPriorityDirection();
-        sortAscendingAction.setChecked(direction == BookmarkSorter.ASCENDING);
-        sortDescendingAction.setChecked(direction == BookmarkSorter.DESCENDING);
-    }
-
-    /**
-     * Updates the enablement of the paste action
-     */
-    void updatePasteEnablement() {
-        // Paste if clipboard contains tasks
-        MarkerTransfer transfer = MarkerTransfer.getInstance();
-        IMarker[] markerData = (IMarker[]) getClipboard().getContents(transfer);
-        boolean canPaste = false;
-        if (markerData != null) {
-            for (int i = 0; i < markerData.length; i++) {
-                try {
-                    if (markerData[i].getType().equals(IMarker.BOOKMARK)) {
-                        canPaste = true;
-                        break;
-                    }
-                } catch (CoreException e) {
-                    canPaste = false;
-                }
-            }
-        }
-        pasteAction.setEnabled(canPaste);
-    }
-
-    Clipboard getClipboard() {
-        return clipboard;
-    }
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java
deleted file mode 100644
index bbbb3d1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkPropertiesDialog.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Shows the properties of a new or existing bookmark
- */
-class BookmarkPropertiesDialog extends Dialog {
-
-    /**
-     * The bookmark being shown, or <code>null</code> for a new bookmark
-     */
-    private IMarker marker = null;
-
-    /**
-     * The resource on which to create a new bookmark
-     */
-    private IResource resource = null;
-
-    /**
-     * The initial attributes to use when creating a new bookmark
-     */
-    private Map initialAttributes = null;
-
-    /**
-     * The text control for the Description field.
-     */
-    private Text descriptionText;
-
-    /**
-     * The control for the Creation Time field.
-     */
-    private Label creationTime;
-
-    /**
-     * The text control for the Resource field.
-     */
-    private Text resourceText;
-
-    /**
-     * The text control for the Folder field.
-     */
-    private Text folderText;
-
-    /**
-     * The text control for the Location field.
-     */
-    private Text locationText;
-
-    /**
-     * Dirty flag.  True if any changes have been made.
-     */
-    private boolean dirty;
-
-    private String title;
-
-    /**
-     * Creates the dialog.  By default this dialog creates a new bookmark.
-     * To set the resource and initial attributes for the new bookmark, 
-     * use <code>setResource</code> and <code>setInitialAttributes</code>.
-     * To show or modify an existing bookmark, use <code>setMarker</code>.
-     * 
-     * @param shell the parent shell
-     */
-    public BookmarkPropertiesDialog(Shell parentShell) {
-        super(parentShell);
-    }
-
-    public BookmarkPropertiesDialog(Shell parentShell, String title) {
-        super(parentShell);
-        this.title = title;
-    }
-
-    public void create() {
-        super.create();
-    }
-
-    /**
-     * Sets the marker to show or modify.
-     * 
-     * @param marker the marker, or <code>null</code> to create a new marker
-     */
-    public void setMarker(IMarker marker) {
-        this.marker = marker;
-    }
-
-    /**
-     * Returns the marker being created or modified.
-     * For a new marker, this returns <code>null</code> until
-     * the dialog returns, but is non-null after.
-     */
-    public IMarker getMarker() {
-        return marker;
-    }
-
-    /**
-     * Sets the resource to use when creating a new bookmark.
-     * If not set, the new bookmark is created on the workspace root.
-     */
-    public void setResource(IResource resource) {
-        this.resource = resource;
-    }
-
-    /**
-     * Returns the resource to use when creating a new bookmark,
-     * or <code>null</code> if none has been set.
-     * If not set, the new bookmark is created on the workspace root.
-     */
-    public IResource getResource() {
-        return resource;
-    }
-
-    /**
-     * Sets initial attributes to use when creating a new bookmark.
-     * If not set, the new bookmark is created with default attributes.
-     */
-    public void setInitialAttributes(Map initialAttributes) {
-        this.initialAttributes = initialAttributes;
-    }
-
-    /**
-     * Returns the initial attributes to use when creating a new bookmark,
-     * or <code>null</code> if not set.
-     * If not set, the new bookmark is created with default attributes.
-     */
-    public Map getInitialAttributes() {
-        return initialAttributes;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        if (title == null)
-            newShell.setText(BookmarkMessages
-                    .getString("PropertiesDialogTitle.text")); //$NON-NLS-1$
-        else
-            newShell.setText(title);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        //initialize resources/properties
-        if (marker != null) {
-            resource = marker.getResource();
-            try {
-                initialAttributes = marker.getAttributes();
-            } catch (CoreException e) {
-            }
-        } else if (initialAttributes == null && resource == null) {
-            resource = (IResource) ResourcesPlugin.getWorkspace().getRoot();
-        }
-
-        Composite composite = (Composite) super.createDialogArea(parent);
-        initializeDialogUnits(composite);
-        createDescriptionArea(composite);
-        if (marker != null)
-            createCreationTimeArea(composite);
-        if (resource != null && resource.getType() != IResource.ROOT)
-            createResourceArea(composite);
-        updateDialogFromMarker();
-        return composite;
-    }
-
-    /**
-     * Method createCreationTimeArea.
-     * @param composite
-     */
-    private void createCreationTimeArea(Composite parent) {
-        String creation = BookmarkMessages.getString("MarkerCreationTime.text");//$NON-NLS-1$
-
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(creation);
-        label.setFont(font);
-
-        creationTime = new Label(composite, SWT.NONE);
-        creationTime.setFont(font);
-    }
-
-    /**
-     * Creates the OK and Cancel buttons.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-                true);
-        createButton(parent, IDialogConstants.CANCEL_ID,
-                IDialogConstants.CANCEL_LABEL, false);
-    }
-
-    /**
-     * Creates the area for the Description field.
-     */
-    private void createDescriptionArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(BookmarkMessages
-                .getString("ColumnDescription.dialogText")); //$NON-NLS-1$
-        label.setFont(font);
-        int style = SWT.SINGLE | SWT.BORDER;
-        descriptionText = new Text(composite, style);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        gridData.widthHint = convertHorizontalDLUsToPixels(400);
-        descriptionText.setLayoutData(gridData);
-        descriptionText.setFont(font);
-
-        descriptionText.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                markDirty();
-            }
-        });
-    }
-
-    /**
-     * Creates the area for the Resource field.
-     */
-    private void createResourceArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        composite.setLayoutData(gridData);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label resourceLabel = new Label(composite, SWT.NONE);
-        resourceLabel.setText(BookmarkMessages
-                .getString("ColumnResource.dialogText")); //$NON-NLS-1$
-        resourceLabel.setFont(font);
-        resourceText = new Text(composite, SWT.SINGLE | SWT.WRAP
-                | SWT.READ_ONLY | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        resourceText.setLayoutData(gridData);
-        resourceText.setFont(font);
-
-        Label folderLabel = new Label(composite, SWT.NONE);
-        folderLabel.setText(BookmarkMessages
-                .getString("ColumnFolder.dialogText")); //$NON-NLS-1$
-        folderLabel.setFont(font);
-        folderText = new Text(composite, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY
-                | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        folderText.setLayoutData(gridData);
-        folderText.setFont(font);
-
-        Label locationLabel = new Label(composite, SWT.NONE);
-        locationLabel.setText(BookmarkMessages
-                .getString("ColumnLocation.dialogText")); //$NON-NLS-1$
-        locationLabel.setFont(font);
-        locationText = new Text(composite, SWT.SINGLE | SWT.WRAP
-                | SWT.READ_ONLY | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        locationText.setLayoutData(gridData);
-        locationText.setFont(font);
-    }
-
-    /**
-     * Updates the dialog from the marker state.
-     */
-    private void updateDialogFromMarker() {
-        if (marker == null) {
-            updateDialogForNewMarker();
-            return;
-        }
-        descriptionText.setText(MarkerUtil.getMessage(marker));
-        if (creationTime != null)
-            creationTime.setText(MarkerUtil.getCreationTime(marker));
-        if (resourceText != null)
-            resourceText.setText(MarkerUtil.getResourceName(marker));
-        if (folderText != null)
-            folderText.setText(MarkerUtil.getContainerName(marker));
-        if (locationText != null) {
-            int line = MarkerUtil.getLineNumber(marker);
-            if (line < 0)
-                locationText.setText(""); //$NON-NLS-1$
-            else
-                locationText
-                        .setText(BookmarkMessages
-                                .format(
-                                        "LineIndicator.text", new String[] { String.valueOf(line) })); //$NON-NLS-1$
-        }
-
-        descriptionText.selectAll();
-    }
-
-    void updateDialogForNewMarker() {
-        if (resource != null) {
-            resourceText.setText(resource.getName());
-
-            IPath path = resource.getFullPath();
-            int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-            if (n > 0) {
-                int len = 0;
-                for (int i = 0; i < n; ++i)
-                    len += path.segment(i).length();
-                // account for /'s
-                if (n > 1)
-                    len += n - 1;
-                StringBuffer sb = new StringBuffer(len);
-                for (int i = 0; i < n; ++i) {
-                    if (i != 0)
-                        sb.append('/');
-                    sb.append(path.segment(i));
-                }
-                folderText.setText(sb.toString());
-            }
-        }
-
-        if (initialAttributes != null) {
-            Object description = initialAttributes.get(IMarker.MESSAGE);
-            if (description != null && description instanceof String)
-                descriptionText.setText((String) description);
-            descriptionText.selectAll();
-
-            Object line = initialAttributes.get(IMarker.LINE_NUMBER);
-            if (line != null && line instanceof Integer)
-                locationText
-                        .setText(BookmarkMessages
-                                .format(
-                                        "LineIndicator.text", new String[] { line.toString() })); //$NON-NLS-1$
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog
-     */
-    protected void okPressed() {
-        saveChanges();
-        super.okPressed();
-    }
-
-    private void markDirty() {
-        dirty = true;
-    }
-
-    private boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Saves the changes made in the dialog if needed.
-     * Creates a new bookmark if needed.
-     * Updates the existing bookmark only if there have been changes.
-     */
-    private void saveChanges() {
-        try {
-            ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    if (marker == null)
-                        createMarker();
-                    else if (isDirty())
-                        updateMarker();
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog.openError(getShell(), BookmarkMessages
-                    .getString("Error"), null, e.getStatus()); //$NON-NLS-1$
-            return;
-        }
-    }
-
-    /**
-     * Creates or updates the marker.  Must be called within a workspace runnable.
-     */
-    private void updateMarker() throws CoreException {
-        // Set the marker attributes from the current dialog field values.
-        // Do not use setAttributes(Map) as that overwrites any attributes
-        // not covered by the dialog.
-        Map attrs = getMarkerAttributesFromDialog();
-        for (Iterator i = attrs.keySet().iterator(); i.hasNext();) {
-            String key = (String) i.next();
-            Object val = attrs.get(key);
-            marker.setAttribute(key, val);
-        }
-    }
-
-    /**
-     * Returns the marker attributes to save back to the marker, 
-     * based on the current dialog fields.
-     */
-    private Map getMarkerAttributesFromDialog() {
-        Map attribs = new HashMap();
-        attribs.put(IMarker.MESSAGE, descriptionText.getText());
-        return attribs;
-    }
-
-    private void createMarker() {
-        if (resource == null || !(resource instanceof IFile))
-            return;
-
-        IFile file = (IFile) resource;
-        try {
-            IMarker newMarker = file.createMarker(IMarker.BOOKMARK);
-            if (initialAttributes != null)
-                newMarker.setAttributes(initialAttributes);
-            String message = descriptionText.getText();
-            newMarker.setAttribute(IMarker.MESSAGE, message);
-        } catch (CoreException e) {
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java
deleted file mode 100644
index f4b5506..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/BookmarkSorter.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-class BookmarkSorter extends ViewerSorter {
-
-    private int[] directions;
-
-    private int[] priorities;
-
-    final static int ASCENDING = 1;
-
-    final static int DESCENDING = -1;
-
-    final static int DESCRIPTION = 0;
-
-    final static int RESOURCE = 1;
-
-    final static int FOLDER = 2;
-
-    final static int LOCATION = 3;
-
-    final static int CREATION_TIME = 4;
-
-    final static int[] DEFAULT_PRIORITIES = { FOLDER, RESOURCE, LOCATION,
-            DESCRIPTION, CREATION_TIME };
-
-    final static int[] DEFAULT_DIRECTIONS = { ASCENDING, //description
-            ASCENDING, //resource
-            ASCENDING, //folder
-            ASCENDING, //location
-            ASCENDING, }; //creation time
-
-    public BookmarkSorter() {
-        resetState();
-    }
-
-    public void reverseTopPriority() {
-        directions[priorities[0]] *= -1;
-    }
-
-    public void setTopPriority(int priority) {
-        if (priority < 0 || priority >= priorities.length)
-            return;
-
-        int index = -1;
-        for (int i = 0; i < priorities.length; i++) {
-            if (priorities[i] == priority)
-                index = i;
-        }
-
-        if (index == -1) {
-            resetState();
-            return;
-        }
-
-        //shift the array
-        for (int i = index; i > 0; i--) {
-            priorities[i] = priorities[i - 1];
-        }
-        priorities[0] = priority;
-        directions[priority] = DEFAULT_DIRECTIONS[priority];
-    }
-
-    public void setTopPriorityDirection(int direction) {
-        if (direction == ASCENDING || direction == DESCENDING)
-            directions[priorities[0]] = direction;
-    }
-
-    public int getTopPriorityDirection() {
-        return directions[priorities[0]];
-    }
-
-    public int getTopPriority() {
-        return priorities[0];
-    }
-
-    public int[] getPriorities() {
-        return priorities;
-    }
-
-    public void resetState() {
-        priorities = new int[DEFAULT_PRIORITIES.length];
-        System.arraycopy(DEFAULT_PRIORITIES, 0, priorities, 0,
-                priorities.length);
-        directions = new int[DEFAULT_DIRECTIONS.length];
-        System.arraycopy(DEFAULT_DIRECTIONS, 0, directions, 0,
-                directions.length);
-    }
-
-    private int compare(IMarker marker1, IMarker marker2, int depth) {
-        if (depth >= priorities.length)
-            return 0;
-
-        int column = priorities[depth];
-        switch (column) {
-        case DESCRIPTION: {
-            String desc1 = marker1.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-            String desc2 = marker2.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-            int result = collator.compare(desc1, desc2);
-            if (result == 0)
-                return compare(marker1, marker2, depth + 1);
-            return result * directions[column];
-        }
-        case RESOURCE: {
-            String res1 = marker1.getResource().getName();
-            String res2 = marker2.getResource().getName();
-            int result = collator.compare(res1, res2);
-            if (result == 0)
-                return compare(marker1, marker2, depth + 1);
-            return result * directions[column];
-        }
-        case FOLDER: {
-            String folder1 = BookmarkLabelProvider.getContainerName(marker1);
-            String folder2 = BookmarkLabelProvider.getContainerName(marker2);
-            int result = collator.compare(folder1, folder2);
-            if (result == 0)
-                return compare(marker1, marker2, depth + 1);
-            return result * directions[column];
-        }
-        case LOCATION: {
-            int line1 = marker1.getAttribute(IMarker.LINE_NUMBER, -1);
-            int line2 = marker2.getAttribute(IMarker.LINE_NUMBER, -1);
-            int result = line1 - line2;
-            if (result == 0)
-                return compare(marker1, marker2, depth + 1);
-            return result * directions[column];
-        }
-        case CREATION_TIME: {
-            long result;
-            try {
-                result = marker1.getCreationTime() - marker2.getCreationTime();
-            } catch (CoreException e) {
-                result = 0;
-            }
-            if (result == 0)
-                return compare(marker1, marker2, depth + 1);
-            return ((int) result) * directions[column];
-        }
-        }
-
-        return 0;
-    }
-
-    public int compare(Viewer viewer, Object e1, Object e2) {
-        IMarker marker1 = (IMarker) e1;
-        IMarker marker2 = (IMarker) e2;
-
-        return compare(marker1, marker2, 0);
-    }
-
-    public void saveState(IDialogSettings settings) {
-        if (settings == null)
-            return;
-
-        for (int i = 0; i < priorities.length; i++) {
-            settings.put("priority" + i, priorities[i]);//$NON-NLS-1$
-            settings.put("direction" + i, directions[i]);//$NON-NLS-1$
-        }
-    }
-
-    public void restoreState(IDialogSettings settings) {
-        if (settings == null)
-            return;
-
-        try {
-            for (int i = 0; i < priorities.length; i++) {
-                priorities[i] = settings.getInt("priority" + i);//$NON-NLS-1$
-                directions[i] = settings.getInt("direction" + i);//$NON-NLS-1$
-            }
-        } catch (NumberFormatException e) {
-            resetState();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java
deleted file mode 100644
index 7b21f32..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/CopyBookmarkAction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Copies one or more bookmark(s) to the clipboard.
- */
-class CopyBookmarkAction extends BookmarkAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param bookmarkNavigator the view
-     */
-    public CopyBookmarkAction(BookmarkNavigator bookmarkNavigator) {
-        super(bookmarkNavigator, BookmarkMessages
-                .getString("CopyBookmark.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IBookmarkHelpContextIds.COPY_BOOKMARK_ACTION);
-        setEnabled(false);
-    }
-
-    /**
-     * Performs this action.
-     */
-    public void run() {
-        // Get the selected markers
-        BookmarkNavigator bookmarkNavigator = getView();
-        StructuredViewer viewer = bookmarkNavigator.getViewer();
-        IStructuredSelection selection = (IStructuredSelection) viewer
-                .getSelection();
-        if (selection.isEmpty()) {
-            return;
-        }
-        List list = selection.toList();
-        IMarker[] markers = new IMarker[list.size()];
-        list.toArray(markers);
-
-        setClipboard(markers, createBookmarkReport(markers));
-    }
-
-    /** 
-     * Updates enablement based on the current selection
-     */
-    public void selectionChanged(IStructuredSelection sel) {
-        setEnabled(!sel.isEmpty());
-    }
-
-    private void setClipboard(IMarker[] markers, String markerReport) {
-        try {
-            // Place the markers on the clipboard
-            Object[] data = new Object[] { markers, markerReport };
-            Transfer[] transferTypes = new Transfer[] {
-                    MarkerTransfer.getInstance(), TextTransfer.getInstance() };
-
-            // set the clipboard contents
-            getView().getClipboard().setContents(data, transferTypes);
-        } catch (SWTError e) {
-            if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-                throw e;
-            if (MessageDialog
-                    .openQuestion(
-                            getView().getShell(),
-                            BookmarkMessages
-                                    .getString("CopyToClipboardProblemDialog.title"), BookmarkMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-                setClipboard(markers, markerReport);
-        }
-    }
-
-    private String createBookmarkReport(IMarker[] markers) {
-        String report = ""; //$NON-NLS-1$
-
-        //write header
-        report += BookmarkMessages.getString("ColumnDescription.header") + '\t'; //$NON-NLS-1$
-        report += BookmarkMessages.getString("ColumnResource.header") + '\t'; //$NON-NLS-1$
-        report += BookmarkMessages.getString("ColumnFolder.header") + '\t'; //$NON-NLS-1$
-        report += BookmarkMessages.getString("ColumnLocation.header"); //$NON-NLS-1$
-        report += System.getProperty("line.separator"); //$NON-NLS-1$
-
-        //write markers
-        for (int i = 0; i < markers.length; i++) {
-            report += MarkerUtil.getMessage(markers[i]) + '\t';
-            report += MarkerUtil.getResourceName(markers[i]) + '\t';
-            report += MarkerUtil.getContainerName(markers[i]) + '\t';
-            int line = MarkerUtil.getLineNumber(markers[i]);
-            report += BookmarkMessages
-                    .format(
-                            "LineIndicator.text", new String[] { String.valueOf(line) });//$NON-NLS-1$
-            report += System.getProperty("line.separator"); //$NON-NLS-1$
-        }
-
-        return report;
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.java
deleted file mode 100644
index b431397..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/EditBookmarkAction.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.ui.views.bookmarkexplorer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Opens a properties dialog allowing the user to edit the bookmark's description. 
- */
-class EditBookmarkAction extends BookmarkAction {
-
-    protected EditBookmarkAction(BookmarkNavigator view) {
-        super(view, BookmarkMessages.getString("Properties.text")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IBookmarkHelpContextIds.BOOKMARK_PROPERTIES_ACTION);
-        setEnabled(false);
-    }
-
-    private IMarker marker;
-
-    public void run() {
-        if (marker != null)
-            editBookmark();
-    }
-
-    /**
-     * Sets marker to the current selection if the selection is an instance of 
-     * <code>org.eclipse.core.resources.IMarker<code> and the selected marker's 
-     * resource is an instance of <code>org.eclipse.core.resources.IFile<code>.
-     * Otherwise sets marker to null.
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        marker = null;
-        setEnabled(false);
-
-        if (selection.size() != 1)
-            return;
-
-        Object o = selection.getFirstElement();
-        if (!(o instanceof IMarker))
-            return;
-
-        IMarker selectedMarker = (IMarker) o;
-        IResource resource = selectedMarker.getResource();
-        if (resource instanceof IFile) {
-            marker = selectedMarker;
-            setEnabled(true);
-        }
-    }
-
-    private void editBookmark() {
-        IFile file = (IFile) marker.getResource();
-
-        try {
-            file.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    BookmarkPropertiesDialog dialog = new BookmarkPropertiesDialog(
-                            getView().getSite().getShell());
-                    dialog.setMarker(marker);
-                    dialog.open();
-                }
-            }, null);
-        } catch (CoreException e) {
-            IDEWorkbenchPlugin.log(null, e.getStatus()); // We don't care
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.java
deleted file mode 100644
index dbd83a9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/IBookmarkHelpContextIds.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.ui.views.bookmarkexplorer;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the bookmark view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-interface IBookmarkHelpContextIds {
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    // Actions
-    public static final String COPY_BOOKMARK_ACTION = PREFIX
-            + "copy_bookmark_action_context"; //$NON-NLS-1$
-
-    public static final String PASTE_BOOKMARK_ACTION = PREFIX
-            + "paste_bookmark_action_context"; //$NON-NLS-1$
-
-    public static final String REMOVE_BOOKMARK_ACTION = PREFIX
-            + "remove_bookmark_action_context"; //$NON-NLS-1$
-
-    public static final String OPEN_BOOKMARK_ACTION = PREFIX
-            + "open_bookmark_action_context"; //$NON-NLS-1$
-
-    public static final String SELECT_ALL_BOOKMARK_ACTION = PREFIX
-            + "select_all_bookmark_action_context"; //$NON-NLS-1$
-
-    public static final String BOOKMARK_PROPERTIES_ACTION = PREFIX
-            + "bookmark_properties_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_ASCENDING_ACTION = PREFIX
-            + "bookmark_sort_ascending_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_DESCENDING_ACTION = PREFIX
-            + "bookmark_sort_descending_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_DESCRIPTION_ACTION = PREFIX
-            + "bookmark_sort_description_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_RESOURCE_ACTION = PREFIX
-            + "bookmark_sort_resource_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_FOLDER_ACTION = PREFIX
-            + "bookmark_sort_folder_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_LOCATION_ACTION = PREFIX
-            + "bookmark_sort_location_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_CREATION_TIME_ACTION = PREFIX
-            + "bookmark_sort_creation_time_action_context"; //$NON-NLS-1$
-
-    // Views
-    public static final String BOOKMARK_VIEW = PREFIX + "bookmark_view_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java
deleted file mode 100644
index f722f73..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/MarkerUtil.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Utility class for accessing marker attributes.
- */
-class MarkerUtil {
-
-    /**
-     * Don't allow instantiation.
-     */
-    private MarkerUtil() {
-    }
-
-    /**
-     * Returns the ending character offset of the given marker.
-     */
-    static int getCharEnd(IMarker marker) {
-        return marker.getAttribute(IMarker.CHAR_END, -1);
-    }
-
-    /**
-     * Returns the starting character offset of the given marker.
-     */
-    static int getCharStart(IMarker marker) {
-        return marker.getAttribute(IMarker.CHAR_START, -1);
-    }
-
-    /**
-     * Returns the container name if it is defined, or empty string if not.
-     */
-    static String getContainerName(IMarker marker) {
-        IPath path = marker.getResource().getFullPath();
-        int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-        if (n <= 0)
-            return ""; //$NON-NLS-1$
-        int len = 0;
-        for (int i = 0; i < n; ++i)
-            len += path.segment(i).length();
-        // account for /'s
-        if (n > 1)
-            len += n - 1;
-        StringBuffer sb = new StringBuffer(len);
-        for (int i = 0; i < n; ++i) {
-            if (i != 0)
-                sb.append('/');
-            sb.append(path.segment(i));
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Returns the line number of the given marker.
-     */
-    static int getLineNumber(IMarker marker) {
-        return marker.getAttribute(IMarker.LINE_NUMBER, -1);
-    }
-
-    /**
-     * Returns the text for the location field.
-     */
-    static String getLocation(IMarker marker) {
-        return marker.getAttribute(IMarker.LOCATION, "");//$NON-NLS-1$
-    }
-
-    /**
-     * Returns the message attribute of the given marker,
-     * or the empty string if the message attribute is not defined.
-     */
-    static String getMessage(IMarker marker) {
-        return marker.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-    }
-
-    /**
-     * Returns the numeric value of the given string, which is assumed to represent a numeric value.
-     *
-     * @return <code>true</code> if numeric, <code>false</code> if not
-     */
-    static int getNumericValue(String value) {
-        boolean negative = false;
-        int i = 0;
-        int len = value.length();
-
-        // skip any leading '#'
-        // workaround for 1GCE69U: ITPJCORE:ALL - Java problems should not have '#' in location.
-        if (i < len && value.charAt(i) == '#')
-            ++i;
-
-        if (i < len && value.charAt(i) == '-') {
-            negative = true;
-            ++i;
-        }
-
-        int result = 0;
-        while (i < len) {
-            int digit = Character.digit(value.charAt(i++), 10);
-            if (digit < 0) {
-                return result;
-            }
-            result = result * 10 + digit;
-        }
-        if (negative) {
-            result = -result;
-        }
-        return result;
-    }
-
-    /**
-     * Implements IProvider interface by supporting a number of
-     * properties required for visual representation of markers
-     * in the tasklist.
-     */
-
-    /**
-     * Returns name if it is defined, or
-     * blank string if not.
-     */
-    static String getResourceName(IMarker marker) {
-        return marker.getResource().getName();
-    }
-
-    /**
-     * Returns the creation time of the marker as a string.
-     */
-    static String getCreationTime(IMarker marker) {
-        try {
-            return DateFormat.getDateTimeInstance(DateFormat.LONG,
-                    DateFormat.MEDIUM).format(
-                    new Date(marker.getCreationTime()));
-        } catch (CoreException e) {
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.java
deleted file mode 100644
index 1cdffcf..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/OpenBookmarkAction.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.ui.views.bookmarkexplorer;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Action to open an editor on the selected bookmarks.
- */
-class OpenBookmarkAction extends BookmarkAction {
-
-    /**
-     * Create a new instance of this class.
-     * 
-     * @param view the view
-     */
-    public OpenBookmarkAction(BookmarkNavigator view) {
-        super(view, BookmarkMessages.getString("OpenBookmark.text")); //$NON-NLS-1$
-        setToolTipText(BookmarkMessages.getString("OpenBookmark.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IBookmarkHelpContextIds.OPEN_BOOKMARK_ACTION);
-        setEnabled(false);
-    }
-
-    public void run() {
-        IWorkbenchPage page = getView().getSite().getPage();
-        for (Iterator i = getStructuredSelection().iterator(); i.hasNext();) {
-            IMarker marker = (IMarker) i.next();
-            try {
-                IDE.openEditor(page, marker, OpenStrategy.activateOnOpen());
-            } catch (PartInitException e) {
-                // Open an error style dialog for PartInitException by
-                // including any extra information from the nested
-                // CoreException if present.
-
-                // Check for a nested CoreException
-                CoreException nestedException = null;
-                IStatus status = e.getStatus();
-                if (status != null
-                        && status.getException() instanceof CoreException)
-                    nestedException = (CoreException) status.getException();
-
-                if (nestedException != null) {
-                    // Open an error dialog and include the extra
-                    // status information from the nested CoreException
-                    ErrorDialog.openError(getView().getShell(),
-                            BookmarkMessages
-                                    .getString("OpenBookmark.errorTitle"), //$NON-NLS-1$
-                            e.getMessage(), nestedException.getStatus());
-                } else {
-                    // Open a regular error dialog since there is no
-                    // extra information to display
-                    MessageDialog.openError(getView().getShell(),
-                            BookmarkMessages
-                                    .getString("OpenBookmark.errorTitle"), //$NON-NLS-1$
-                            e.getMessage());
-                }
-            }
-        }
-    }
-
-    public void selectionChanged(IStructuredSelection sel) {
-        setEnabled(!sel.isEmpty());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.java
deleted file mode 100644
index de81930..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/PasteBookmarkAction.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.ui.views.bookmarkexplorer;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Pastes one or more bookmark(s) from the clipboard into the bookmark navigator.
- */
-class PasteBookmarkAction extends BookmarkAction {
-
-    private BookmarkNavigator view;
-
-    /**
-     * The constructor.
-     * 
-     * @param view the view
-     */
-    public PasteBookmarkAction(BookmarkNavigator view) {
-        super(view, BookmarkMessages.getString("PasteBookmark.text"));//$NON-NLS-1$
-        this.view = view;
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IBookmarkHelpContextIds.PASTE_BOOKMARK_ACTION);
-        setEnabled(false);
-    }
-
-    /**
-     * Copies the marker(s) from the clipboard to the bookmark navigator view.
-     */
-    public void run() {
-        // Get the markers from the clipboard
-        MarkerTransfer transfer = MarkerTransfer.getInstance();
-        final IMarker[] markerData = (IMarker[]) view.getClipboard()
-                .getContents(transfer);
-
-        if (markerData == null)
-            return;
-
-        final ArrayList newMarkers = new ArrayList();
-
-        try {
-            view.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    for (int i = 0; i < markerData.length; i++) {
-                        // Only paste tasks (not problems)
-                        if (!markerData[i].getType().equals(IMarker.BOOKMARK))
-                            continue;
-
-                        // Paste to the same resource as the original
-                        IResource resource = markerData[i].getResource();
-                        Map attributes = markerData[i].getAttributes();
-                        IMarker marker = resource
-                                .createMarker(IMarker.BOOKMARK);
-                        marker.setAttributes(attributes);
-                        newMarkers.add(marker);
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog.openError(view.getShell(), BookmarkMessages
-                    .getString("PasteBookmark.errorTitle"), //$NON-NLS-1$
-                    null, e.getStatus());
-            return;
-        }
-
-        // Need to do this in an asyncExec, even though we're in the UI thread here,
-        // since the bookmark navigator updates itself with the addition in an asyncExec,
-        // which hasn't been processed yet.
-        // Must be done outside IWorkspaceRunnable above since notification for add is
-        // sent after IWorkspaceRunnable is run.
-        if (newMarkers.size() > 0) {
-            view.getShell().getDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    view.getViewer().setSelection(
-                            new StructuredSelection(newMarkers));
-                    view.updatePasteEnablement();
-                }
-            });
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java
deleted file mode 100644
index a8fc19d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/RemoveBookmarkAction.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.bookmarkexplorer;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Action to remove the selected bookmarks.
- */
-class RemoveBookmarkAction extends BookmarkAction {
-
-    /**
-     * Create a new instance of this class.
-     * 
-     * @param view the view
-     */
-    public RemoveBookmarkAction(BookmarkNavigator view) {
-        super(view, BookmarkMessages.getString("RemoveBookmark.text")); //$NON-NLS-1$
-        setToolTipText(BookmarkMessages.getString("RemoveBookmark.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IBookmarkHelpContextIds.REMOVE_BOOKMARK_ACTION);
-        setEnabled(false);
-    }
-
-    /**
-     * Delete the marker selection.
-     */
-    public void run() {
-        final IStructuredSelection sel = getStructuredSelection();
-        if (sel.isEmpty())
-            return;
-        try {
-            getView().getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    for (Iterator iter = sel.iterator(); iter.hasNext();) {
-                        Object o = iter.next();
-                        if (o instanceof IMarker) {
-                            IMarker marker = (IMarker) o;
-                            marker.delete();
-                        }
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog
-                    .openError(
-                            getView().getShell(),
-                            BookmarkMessages
-                                    .getString("RemoveBookmark.errorTitle"), null, e.getStatus()); //$NON-NLS-1$
-        }
-    }
-
-    public void selectionChanged(IStructuredSelection sel) {
-        setEnabled(!sel.isEmpty());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.java
deleted file mode 100644
index b48facc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/SelectAllAction.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.ui.views.bookmarkexplorer;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Action to select all bookmarks.
- */
-class SelectAllAction extends BookmarkAction {
-
-    /**
-     * Create a new instance of this class.
-     * 
-     * @param view the view
-     */
-    public SelectAllAction(BookmarkNavigator view) {
-        super(view, BookmarkMessages.getString("SelectAll.text")); //$NON-NLS-1$
-        setToolTipText(BookmarkMessages.getString("SelectAll.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IBookmarkHelpContextIds.SELECT_ALL_BOOKMARK_ACTION);
-        setEnabled(true);
-    }
-
-    public void run() {
-        Viewer viewer = getView().getViewer();
-        Control control = viewer.getControl();
-        if (control instanceof Table) {
-            ((Table) control).selectAll();
-            viewer.setSelection(viewer.getSelection(), false);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties
deleted file mode 100644
index 6c8323a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/messages.properties
+++ /dev/null
@@ -1,73 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.bookmarkexplorer
-
-
-# ==============================================================================
-# Bookmarks View
-# ==============================================================================
-BookmarkLabel.textHasContainer = {0} (on {1} in {2})
-BookmarkLabel.textNoContainer = {0} (on {1})
-
-CopyBookmark.text = &Copy
-
-PasteBookmark.text = &Paste
-PasteBookmark.errorTitle = Error pasting bookmark(s)
-
-OpenBookmark.text = &Go To
-OpenBookmark.toolTip = Go To
-OpenBookmark.errorTitle = Problems Opening Editor
-
-RemoveBookmark.text = &Delete
-RemoveBookmark.toolTip = Delete
-RemoveBookmark.errorTitle = Error deleting bookmarks
-
-SelectAll.text = Select A&ll
-SelectAll.toolTip = Select All
-
-Properties.text = P&roperties
-
-ColumnIcon.text = 
-ColumnDescription.text = by &Description
-ColumnResource.text = by &Resource
-ColumnFolder.text = by &Folder
-ColumnLocation.text = by &Location
-ColumnCreationTime.text = by &Creation Time
-
-LineIndicator.text = line {0} 
-
-ColumnIcon.header = 
-ColumnDescription.header = Description
-ColumnResource.header = Resource
-ColumnFolder.header = In Folder
-ColumnLocation.header = Location
-
-ColumnIcon.dialogText = 
-ColumnDescription.dialogText = Description:
-ColumnResource.dialogText = Resource:
-ColumnFolder.dialogText = In Folder:
-ColumnLocation.dialogText = Location:
-
-SortMenuGroup.text = &Sort
-SortDirectionAscending.text = &Ascending
-SortDirectionDescending.text = D&escending
-
-PropertiesDialogTitle.text = Bookmark Properties
-NewBookmarkDialogTitle.text = New Bookmark
-
-MarkerCreationTime.text = &Creation Time:
-
-Error.text = &Error
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html
deleted file mode 100644
index 9d24b87..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/bookmarkexplorer/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Bookmarks view which displays
-bookmarks on resources.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java
deleted file mode 100644
index 53e1738..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/BackAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Generic "Back" action which goes back one frame,
- */
-public class BackAction extends FrameAction {
-
-    /**
-     * Constructs a new action for the specified frame list.
-     * 
-     * @param frameList the frame list
-     */
-    public BackAction(FrameList frameList) {
-        super(frameList);
-        setText(FrameListMessages.getString("Back.text")); //$NON-NLS-1$
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
-        setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_BACK_DISABLED));
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IFrameListHelpContextIds.BACK_ACTION);
-        update();
-    }
-
-    private Frame getPreviousFrame() {
-        FrameList list = getFrameList();
-        return list.getFrame(list.getCurrentIndex() - 1);
-    }
-
-    private String getToolTipText(Frame previousFrame) {
-        if (previousFrame != null) {
-            String text = previousFrame.getToolTipText();
-            if (text != null && text.length() > 0) {
-                return FrameListMessages.format(
-                        "Back.toolTipOneArg", new Object[] { text }); //$NON-NLS-1$
-            }
-        }
-        return FrameListMessages.getString("Back.toolTip"); //$NON-NLS-1$
-    }
-
-    /**
-     * Calls <code>back()</code> on the frame list.
-     */
-    public void run() {
-        getFrameList().back();
-    }
-
-    /**
-     * Updates this action's enabled state and tool tip text.
-     * This action is enabled only when there is a previous frame in the frame list.
-     * The tool tip text is "Back to " plus the tool tip text for the previous frame.
-     */
-    public void update() {
-        super.update();
-        Frame previousFrame = getPreviousFrame();
-        setEnabled(previousFrame != null);
-        setToolTipText(getToolTipText(previousFrame));
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.java
deleted file mode 100644
index eb4ef5f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/ForwardAction.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.ui.views.framelist;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Generic "Forward" action which goes forward one frame.
- */
-public class ForwardAction extends FrameAction {
-
-    /**
-     * Constructs a new action for the specified frame list.
-     * 
-     * @param frameList the frame list
-     */
-    public ForwardAction(FrameList frameList) {
-        super(frameList);
-        setText(FrameListMessages.getString("Forward.text")); //$NON-NLS-1$
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD));
-        setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD_DISABLED));
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IFrameListHelpContextIds.FORWARD_ACTION);
-        update();
-    }
-
-    private Frame getNextFrame() {
-        FrameList list = getFrameList();
-        return list.getFrame(list.getCurrentIndex() + 1);
-    }
-
-    private String getToolTipText(Frame nextFrame) {
-        if (nextFrame != null) {
-            String text = nextFrame.getToolTipText();
-            if (text != null && text.length() > 0) {
-                return FrameListMessages.format(
-                        "Forward.toolTipOneArg", new Object[] { text }); //$NON-NLS-1$
-            }
-        }
-        return FrameListMessages.getString("Forward.toolTip"); //$NON-NLS-1$
-    }
-
-    /**
-     * Calls <code>forward()</code> on the frame list.
-     */
-    public void run() {
-        getFrameList().forward();
-    }
-
-    /**
-     * Updates this action's enabled state and tool tip text.
-     * This action is enabled only when there is a next frame in the frame list.
-     * The tool tip text is "Forward to " plus the tool tip text for the next
-     * frame.
-     */
-    public void update() {
-        super.update();
-        Frame nextFrame = getNextFrame();
-        setEnabled(nextFrame != null);
-        setToolTipText(getToolTipText(nextFrame));
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java
deleted file mode 100644
index 5fecc74..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/Frame.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-/**
- * Generic frame, which captures the state for one frame in the frame list.
- * Clients may subclass this frame to add their own state.
- */
-public class Frame {
-
-    private int index = -1;
-
-    private FrameList parent;
-
-    private String name = ""; //$NON-NLS-1$
-
-    private String toolTipText;
-
-    /**
-     * Constructs a new frame. <p>
-     * 
-     * This implementation does nothing.
-     */
-    public Frame() {
-    }
-
-    /**
-     * Returns the index of the frame in the frame list.
-     * Only valid once the frame has been added to the frame list.
-     * 
-     * @return the index of the frame in the frame list.
-     */
-    public int getIndex() {
-        return index;
-    }
-
-    /**
-     * Returns the displayable name for the frame.
-     *
-     * @return the displayable name for the frame.
-     */
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * Returns the frame list.
-     * 
-     * @return the frame list
-     */
-    public FrameList getParent() {
-        return parent;
-    }
-
-    /**
-     * Returns the tool tip text to show for the frame.
-     * This can form part of the tool tip for actions like the back and forward
-     * actions.
-     * 
-     * @return the tool tip text to show for the frame
-     */
-    public String getToolTipText() {
-        return toolTipText;
-    }
-
-    /**
-     * Sets the index of the frame in the frame list.
-     * Should only be called by the frame list.
-     * 
-     * @param index the index of the frame in the frame list
-     */
-    public void setIndex(int index) {
-        this.index = index;
-    }
-
-    /**
-     * Sets the displayable name for the frame.
-     * 
-     * @param name the displayable name
-     */
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    /**
-     * Sets the frame list.
-     * 
-     * @param parent the frame list
-     */
-    public void setParent(FrameList parent) {
-        this.parent = parent;
-    }
-
-    /**
-     * Sets the tool tip text to show for the frame.
-     * This can form part of the tool tip for actions like the back and forward
-     * actions.
-     * 
-     * @param toolTipText the tool tip text to show for the frame.
-     */
-    public void setToolTipText(String toolTipText) {
-        this.toolTipText = toolTipText;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java
deleted file mode 100644
index 74d9c33..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Abstract superclass for actions dealing with frames or a frame list.
- * This listens for changes to the frame list and updates itself
- * accordingly.
- */
-public abstract class FrameAction extends Action {
-    private FrameList frameList;
-
-    private IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
-        public void propertyChange(PropertyChangeEvent event) {
-            FrameAction.this.handlePropertyChange(event);
-        }
-    };
-
-    /**
-     * Constructs a new action for the specified frame list.
-     * and adds a property change listener on it.
-     * 
-     * @param frameList the frame list
-     */
-    protected FrameAction(FrameList frameList) {
-        this.frameList = frameList;
-        frameList.addPropertyChangeListener(propertyChangeListener);
-    }
-
-    /**
-     * Disposes this frame action.
-     * This implementation removes the property change listener from the frame list.
-     */
-    public void dispose() {
-        frameList.removePropertyChangeListener(propertyChangeListener);
-    }
-
-    /**
-     * Returns the frame list.
-     */
-    public FrameList getFrameList() {
-        return frameList;
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    static ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/"; //$NON-NLS-1$
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // should not happen
-            return ImageDescriptor.getMissingImageDescriptor();
-        }
-    }
-
-    /**
-     * Handles a property change event from the frame list.
-     * This implementation calls <code>update()</code>.
-     */
-    protected void handlePropertyChange(PropertyChangeEvent event) {
-        update();
-    }
-
-    /**
-     * Updates this action.  This implementation does nothing.
-     * Most implementations will override this method.
-     */
-    public void update() {
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java
deleted file mode 100644
index 40b3758..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameList.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * Supports a web-browser style of navigation by maintaining a list
- * of frames.  Each frame holds a snapshot of a view at some point 
- * in time.
- * <p>
- * The frame list obtains a snapshot of the current frame from a frame source
- * on creation, and whenever switching to a different frame.
- * </p>
- * <p>
- * A property change notification is sent whenever the current page changes.
- * </p>
- */
-public class FrameList {
-
-    /** Property name constant for the current frame. */
-    public static final String P_CURRENT_FRAME = "currentFrame"; //$NON-NLS-1$
-
-    private IFrameSource source;
-
-    private List frames;
-
-    private int current;
-
-    private ListenerList propertyListeners = new ListenerList();
-
-    /**
-     * Creates a new frame list with the given source.
-     *
-     * @param source the frame source
-     */
-    public FrameList(IFrameSource source) {
-        this.source = source;
-        Frame frame = source.getFrame(IFrameSource.CURRENT_FRAME, 0);
-        frame.setParent(this);
-        frame.setIndex(0);
-        frames = new ArrayList();
-        frames.add(frame);
-        current = 0;
-    }
-
-    /**
-     * Adds a property change listener.
-     * Has no effect if an identical listener is already registered.
-     *
-     * @param listener a property change listener
-     */
-    public void addPropertyChangeListener(IPropertyChangeListener listener) {
-        propertyListeners.add(listener);
-    }
-
-    /**
-     * Moves the frame pointer back by one.
-     * Has no effect if there is no frame before the current one.
-     * Fires a <code>P_CURRENT_FRAME</code> property change event.
-     */
-    public void back() {
-        if (current > 0) {
-            setCurrent(current - 1);
-        }
-    }
-
-    /**
-     * Notifies any property change listeners that a property has changed.
-     * Only listeners registered at the time this method is called are notified.
-     *
-     * @param event the property change event
-     *
-     * @see IPropertyChangeListener#propertyChange
-     */
-    protected void firePropertyChange(PropertyChangeEvent event) {
-        Object[] listeners = propertyListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            ((IPropertyChangeListener) listeners[i]).propertyChange(event);
-        }
-    }
-
-    /**
-     * Moves the frame pointer forward by one.
-     * Has no effect if there is no frame after the current one.
-     * Fires a <code>P_CURRENT_FRAME</code> property change event.
-     */
-    public void forward() {
-        if (current < frames.size() - 1) {
-            setCurrent(current + 1);
-        }
-    }
-
-    /**
-     * Returns the current frame.
-     * Returns <code>null</code> if there is no current frame.
-     *
-     * @return the current frame, or <code>null</code>
-     */
-    public Frame getCurrentFrame() {
-        return getFrame(current);
-    }
-
-    /**
-     * Returns the index of the current frame.
-     *
-     * @return the index of the current frame
-     */
-    public int getCurrentIndex() {
-        return current;
-    }
-
-    /**
-     * Returns the frame at the given index, or <code>null</code>
-     * if the index is &le; 0 or &ge; <code>size()</code>.
-     *
-     * @param index the index of the requested frame
-     * @return the frame at the given index or <code>null</code>
-     */
-    public Frame getFrame(int index) {
-        if (index < 0 || index >= frames.size())
-            return null;
-        return (Frame) frames.get(index);
-    }
-
-    /**
-     * Returns the frame source.
-     */
-    public IFrameSource getSource() {
-        return source;
-    }
-
-    /**
-     * Adds the given frame after the current frame,
-     * and advances the pointer to the new frame.
-     * Before doing so, updates the current frame, and removes any frames following the current frame.
-     * Fires a <code>P_CURRENT_FRAME</code> property change event.
-     *
-     * @param frame the frame to add
-     */
-    public void gotoFrame(Frame frame) {
-        for (int i = frames.size(); --i > current;) {
-            frames.remove(i);
-        }
-        frame.setParent(this);
-        int index = frames.size();
-        frame.setIndex(index);
-        frames.add(frame);
-        setCurrent(index);
-    }
-
-    /**
-     * Removes a property change listener.
-     * Has no effect if an identical listener is not registered.
-     *
-     * @param listener a property change listener
-     */
-    public void removePropertyChangeListener(IPropertyChangeListener listener) {
-        propertyListeners.remove(listener);
-    }
-
-    /**
-     * Sets the current frame to the one with the given index.
-     * Updates the old current frame, and fires a <code>P_CURRENT_FRAME</code> property change event
-     * if the current frame changes.
-     *
-     * @param newCurrent the index of the frame
-     */
-    void setCurrent(int newCurrent) {
-        Assert.isTrue(newCurrent >= 0 && newCurrent < frames.size());
-        int oldCurrent = this.current;
-        if (oldCurrent != newCurrent) {
-            updateCurrentFrame();
-            this.current = newCurrent;
-            firePropertyChange(new PropertyChangeEvent(this, P_CURRENT_FRAME,
-                    getFrame(oldCurrent), getFrame(newCurrent)));
-        }
-    }
-
-    /**
-     * Sets the current frame to the frame with the given index.
-     * Fires a <code>P_CURRENT_FRAME</code> property change event
-     * if the current frame changes.
-     */
-    public void setCurrentIndex(int index) {
-        if (index != -1 && index != current)
-            setCurrent(index);
-    }
-
-    /**
-     * Returns the number of frames in the frame list.
-     */
-    public int size() {
-        return frames.size();
-    }
-
-    /**
-     * Replaces the current frame in this list with the current frame 
-     * from the frame source.  No event is fired.
-     */
-    public void updateCurrentFrame() {
-        Assert.isTrue(current >= 0);
-        Frame frame = source.getFrame(IFrameSource.CURRENT_FRAME,
-                IFrameSource.FULL_CONTEXT);
-        frame.setParent(this);
-        frame.setIndex(current);
-        frames.set(current, frame);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.java
deleted file mode 100644
index f16910c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/FrameListMessages.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.ui.views.framelist;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps with managing messages.
- */
-class FrameListMessages {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.framelist.messages"; //$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private FrameListMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java
deleted file mode 100644
index 731b0217..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/GoIntoAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Generic "Go Into" action which goes to the frame for the current selection. 
- */
-public class GoIntoAction extends FrameAction {
-
-    /**
-     * Constructs a new action for the specified frame list.
-     * 
-     * @param frameList the frame list
-     */
-    public GoIntoAction(FrameList frameList) {
-        super(frameList);
-        setText(FrameListMessages.getString("GoInto.text")); //$NON-NLS-1$
-        setToolTipText(FrameListMessages.getString("GoInto.toolTip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IFrameListHelpContextIds.GO_INTO_ACTION);
-        update();
-    }
-
-    private Frame getSelectionFrame(int flags) {
-        return getFrameList().getSource().getFrame(
-                IFrameSource.SELECTION_FRAME, flags);
-    }
-
-    /**
-     * Calls <code>gotoFrame</code> on the frame list with a frame
-     * representing the currently selected container.
-     */
-    public void run() {
-        Frame selectionFrame = getSelectionFrame(IFrameSource.FULL_CONTEXT);
-        if (selectionFrame != null) {
-            getFrameList().gotoFrame(selectionFrame);
-        }
-    }
-
-    /**
-     * Updates this action's enabled state.
-     * This action is enabled only when there is a frame for the current selection.
-     */
-    public void update() {
-        super.update();
-        Frame selectionFrame = getSelectionFrame(0);
-        setEnabled(selectionFrame != null);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java
deleted file mode 100644
index cf66fd8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameListHelpContextIds.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the frame list.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/interface IFrameListHelpContextIds {
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    // Actions
-    public static final String BACK_ACTION = PREFIX + "back_action_context"; //$NON-NLS-1$
-
-    public static final String FORWARD_ACTION = PREFIX
-            + "forward_action_context"; //$NON-NLS-1$
-
-    public static final String GO_INTO_ACTION = PREFIX
-            + "go_into_action_context"; //$NON-NLS-1$
-
-    public static final String UP_ACTION = PREFIX + "up_action_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.java
deleted file mode 100644
index 6a53632..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/IFrameSource.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.ui.views.framelist;
-
-/**
- * A frame source is the source of frames which appear in a frame list.
- * The frame list asks for the current frame whenever it switches
- * to another frame, so that the context can be restored when the
- * frame becomes current again.
- *
- * @see FrameList
- */
-public interface IFrameSource {
-
-    /**
-     * Frame constant indicating the current frame.
-     */
-    public static final int CURRENT_FRAME = 0x0001;
-
-    /**
-     * Frame constant indicating the frame for the selection.
-     */
-    public static final int SELECTION_FRAME = 0x0002;
-
-    /**
-     * Frame constant indicating the parent frame.
-     */
-    public static final int PARENT_FRAME = 0x0003;
-
-    /**
-     * Flag constant indicating that the full context should be captured.
-     */
-    public static final int FULL_CONTEXT = 0x0001;
-
-    /**
-     * Returns a new frame describing the state of the source.
-     * If the <code>FULL_CONTEXT</code> flag is specified, then the full
-     * context of the source should be captured by the frame.
-     * Otherwise, only the visible aspects of the frame, such as the name and tool tip text,
-     * will be used.
-     *
-     * @param whichFrame one of the frame constants defined in this interface
-     * @param flags a bit-wise OR of the flag constants defined in this interface
-     * @return a new frame describing the current state of the source
-     */
-    public Frame getFrame(int whichFrame, int flags);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java
deleted file mode 100644
index 3e506ca..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeFrame.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.framelist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Frame for tree viewers.  This capture the viewer's input element, selection,
- * and expanded elements.
- */
-public class TreeFrame extends Frame {
-    private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-
-    private static final String TAG_EXPANDED = "expanded"; //$NON-NLS-1$
-
-    private static final String TAG_ELEMENT = "element"; //$NON-NLS-1$
-
-    private static final String TAG_FRAME_INPUT = "frameInput"; //$NON-NLS-1$
-
-    private static final String TAG_FACTORY_ID = "factoryID"; //$NON-NLS-1$
-
-    private AbstractTreeViewer viewer;
-
-    private Object input;
-
-    private ISelection selection;
-
-    private Object[] expandedElements;
-
-    /**
-     * Constructs a frame for the specified tree viewer.
-     * The frame's input, name and tool tip text are not set.
-     * 
-     * @param viewer the tree viewer
-     */
-    public TreeFrame(AbstractTreeViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    /**
-     * Constructs a frame for the specified tree viewer.
-     * The frame's input element is set to the specified input element.
-     * The frame's name and tool tip text are set to the text for the input 
-     * element, as provided by the viewer's label provider.
-     * 
-     * @param viewer the tree viewer
-     * @param input the input element
-     */
-    public TreeFrame(AbstractTreeViewer viewer, Object input) {
-        this(viewer);
-        setInput(input);
-        ILabelProvider provider = (ILabelProvider) viewer.getLabelProvider();
-        String name = provider.getText(input);
-        if(name == null)
-        	name = "";//$NON-NLS-1$
-        setName(name);
-        setToolTipText(name);
-    }
-
-    /**
-     * Returns the expanded elements.
-     * 
-     * @return the expanded elements
-     */
-    public Object[] getExpandedElements() {
-        return expandedElements;
-    }
-
-    /**
-     * Returns the input element.
-     * 
-     * @return the input element
-     */
-    public Object getInput() {
-        return input;
-    }
-
-    /**
-     * Returns the selection.
-     * 
-     * @return the selection
-     */
-    public ISelection getSelection() {
-        return selection;
-    }
-
-    /**
-     * Returns the tree viewer.
-     * 
-     * @return the tree viewer
-     */
-    public AbstractTreeViewer getViewer() {
-        return viewer;
-    }
-
-    /**
-     * Restore IPersistableElements from the specified memento.
-     * 
-     * @param memento memento to restore elements from
-     * @return list of restored elements. May be empty.
-     */
-    private List restoreElements(IMemento memento) {
-        IMemento[] elementMem = memento.getChildren(TAG_ELEMENT);
-        List elements = new ArrayList(elementMem.length);
-
-        for (int i = 0; i < elementMem.length; i++) {
-            String factoryID = elementMem[i].getString(TAG_FACTORY_ID);
-            if (factoryID != null) {
-                IElementFactory factory = PlatformUI.getWorkbench()
-                        .getElementFactory(factoryID);
-                if (factory != null)
-                    elements.add(factory.createElement(elementMem[i]));
-            }
-        }
-        return elements;
-    }
-
-    /**
-     * Restore the frame from the specified memento.
-     * 
-     * @param memento memento to restore frame from
-     */
-    public void restoreState(IMemento memento) {
-        IMemento childMem = memento.getChild(TAG_FRAME_INPUT);
-
-        if (childMem == null)
-            return;
-
-        String factoryID = childMem.getString(TAG_FACTORY_ID);
-        IAdaptable frameInput = null;
-        if (factoryID != null) {
-            IElementFactory factory = PlatformUI.getWorkbench()
-                    .getElementFactory(factoryID);
-            if (factory != null)
-                frameInput = factory.createElement(childMem);
-        }
-        if (frameInput != null) {
-            input = frameInput;
-        }
-        IMemento expandedMem = memento.getChild(TAG_EXPANDED);
-        if (expandedMem != null) {
-            List elements = restoreElements(expandedMem);
-            expandedElements = (Object[]) elements.toArray(new Object[elements
-                    .size()]);
-        } else {
-            expandedElements = new Object[0];
-        }
-        IMemento selectionMem = memento.getChild(TAG_SELECTION);
-        if (selectionMem != null) {
-            List elements = restoreElements(selectionMem);
-            selection = new StructuredSelection(elements);
-        } else {
-            selection = StructuredSelection.EMPTY;
-        }
-    }
-
-    /**
-     * Save the specified elements to the given memento.
-     * The elements have to be adaptable to IPersistableElement.
-     * 
-     * @param elements elements to persist
-     * @param memento memento to persist elements in
-     */
-    private void saveElements(Object[] elements, IMemento memento) {
-        for (int i = 0; i < elements.length; i++) {
-            if (elements[i] instanceof IAdaptable) {
-                IPersistableElement persistable = (IPersistableElement) ((IAdaptable) elements[i])
-                        .getAdapter(IPersistableElement.class);
-                if (persistable != null) {
-                    IMemento elementMem = memento.createChild(TAG_ELEMENT);
-                    elementMem.putString(TAG_FACTORY_ID, persistable
-                            .getFactoryId());
-                    persistable.saveState(elementMem);
-                }
-            }
-        }
-    }
-
-    /**
-     * Save the frame state in the given memento.
-     * 
-     * @param memento memento to persist the frame state in.
-     */
-    public void saveState(IMemento memento) {
-        if (!(input instanceof IAdaptable))
-            return;
-
-        IPersistableElement persistable = (IPersistableElement) ((IAdaptable) input)
-                .getAdapter(IPersistableElement.class);
-        if (persistable != null) {
-            IMemento frameMemento = memento.createChild(TAG_FRAME_INPUT);
-
-            frameMemento.putString(TAG_FACTORY_ID, persistable.getFactoryId());
-            persistable.saveState(frameMemento);
-
-            if (expandedElements.length > 0) {
-                IMemento expandedMem = memento.createChild(TAG_EXPANDED);
-                saveElements(expandedElements, expandedMem);
-            }
-            // always IStructuredSelection since we only deal with tree viewers
-            if (selection instanceof IStructuredSelection) {
-                Object[] elements = ((IStructuredSelection) selection)
-                        .toArray();
-                if (elements.length > 0) {
-                    IMemento selectionMem = memento.createChild(TAG_SELECTION);
-                    saveElements(elements, selectionMem);
-                }
-            }
-        }
-    }
-
-    /**
-     * Sets the input element.
-     * 
-     * @param input the input element
-     */
-    public void setInput(Object input) {
-        this.input = input;
-    }
-
-    /**
-     * Sets the expanded elements.
-     * 
-     * @param expandedElements the expanded elements
-     */
-    public void setExpandedElements(Object[] expandedElements) {
-        this.expandedElements = expandedElements;
-    }
-
-    /**
-     * Sets the selection.
-     * 
-     * @param selection the selection
-     */
-    public void setSelection(ISelection selection) {
-        this.selection = selection;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.java
deleted file mode 100644
index b47d26e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/TreeViewerFrameSource.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.ui.views.framelist;
-
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-
-/** 
- * Frame source for tree viewers, which uses <code>TreeFrame</code> to capture
- * the state of the tree viewer.
- * 
- * @see TreeFrame
- */
-public class TreeViewerFrameSource implements IFrameSource {
-
-    private AbstractTreeViewer viewer;
-
-    /**
-     * Constructs a new tree viewer frame source for the specified tree viewer.
-     * 
-     * @param viewer the tree viewer
-     */
-    public TreeViewerFrameSource(AbstractTreeViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    /**
-     * Connects this source as a listener on the frame list,
-     * so that when the current frame changes, the viewer is updated.
-     */
-    public void connectTo(FrameList frameList) {
-        frameList.addPropertyChangeListener(new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-                TreeViewerFrameSource.this.handlePropertyChange(event);
-            }
-        });
-    }
-
-    /**
-     * Returns a new tree frame capturing the specified input element.
-     * 
-     * @param input the input element
-     * @return the tree frame
-     */
-    protected TreeFrame createFrame(Object input) {
-        return new TreeFrame(viewer, input);
-    }
-
-    /**
-     * Updates the viewer in response to the current frame changing.
-     * 
-     * @param frame the new value for the current frame
-     */
-    protected void frameChanged(TreeFrame frame) {
-        viewer.getControl().setRedraw(false);
-        viewer.setInput(frame.getInput());
-        viewer.setExpandedElements(frame.getExpandedElements());
-        viewer.setSelection(frame.getSelection(), true);
-        viewer.getControl().setRedraw(true);
-    }
-
-    /**
-     * Returns the current frame.
-     * 
-     * @param flags a bit-wise OR of the frame source flag constants
-     * @return the current frame
-     */
-    protected Frame getCurrentFrame(int flags) {
-        Object input = viewer.getInput();
-        TreeFrame frame = createFrame(input);
-        if ((flags & IFrameSource.FULL_CONTEXT) != 0) {
-            frame.setSelection(viewer.getSelection());
-            frame.setExpandedElements(viewer.getExpandedElements());
-        }
-        return frame;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IFrameSource.
-     */
-    public Frame getFrame(int whichFrame, int flags) {
-        switch (whichFrame) {
-        case IFrameSource.CURRENT_FRAME:
-            return getCurrentFrame(flags);
-        case IFrameSource.PARENT_FRAME:
-            return getParentFrame(flags);
-        case IFrameSource.SELECTION_FRAME:
-            return getSelectionFrame(flags);
-        default:
-            return null;
-        }
-    }
-
-    /**
-     * Returns the parent frame, or <code>null</code> if there is no parent frame.
-     * 
-     * @param flags a bit-wise OR of the frame source flag constants
-     * @return the parent frame, or <code>null</code>
-     */
-    protected Frame getParentFrame(int flags) {
-        Object input = viewer.getInput();
-        ITreeContentProvider provider = (ITreeContentProvider) viewer
-                .getContentProvider();
-        Object parent = provider.getParent(input);
-        if (parent == null) {
-            return null;
-        } else {
-            TreeFrame frame = createFrame(parent);
-            if ((flags & IFrameSource.FULL_CONTEXT) != 0) {
-                frame.setSelection(viewer.getSelection());
-                // include current input in expanded set
-                Object[] expanded = viewer.getExpandedElements();
-                Object[] newExpanded = new Object[expanded.length + 1];
-                System.arraycopy(expanded, 0, newExpanded, 0, expanded.length);
-                newExpanded[newExpanded.length - 1] = input;
-                frame.setExpandedElements(newExpanded);
-            }
-            return frame;
-        }
-    }
-
-    /**
-     * Returns the frame for the selection, or <code>null</code> if there is no
-     * frame for the selection.
-     * 
-     * @param flags a bit-wise OR of the frame source flag constants
-     * @return the selection frame, or <code>null</code>
-     */
-    protected Frame getSelectionFrame(int flags) {
-        IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
-        if (sel.size() == 1) {
-            Object o = sel.getFirstElement();
-            if (viewer.isExpandable(o)) {
-                TreeFrame frame = createFrame(o);
-                if ((flags & IFrameSource.FULL_CONTEXT) != 0) {
-                    frame.setSelection(viewer.getSelection());
-                    frame.setExpandedElements(viewer.getExpandedElements());
-                }
-                return frame;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Returns the tree viewer.
-     * 
-     * @return the tree viewer
-     */
-    public AbstractTreeViewer getViewer() {
-        return viewer;
-    }
-
-    /**
-     * Handles a property change event from the frame list.
-     * Calls <code>frameChanged</code> when the current frame changes.
-     */
-    protected void handlePropertyChange(PropertyChangeEvent event) {
-        if (FrameList.P_CURRENT_FRAME.equals(event.getProperty())) {
-            frameChanged((TreeFrame) event.getNewValue());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.java
deleted file mode 100644
index edf1df1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/UpAction.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.ui.views.framelist;
-
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Generic "Up" action which goes to the parent frame for the current frame.
- */
-public class UpAction extends FrameAction {
-
-    /**
-     * Constructs a new action for the specified frame list.
-     * 
-     * @param frameList the frame list
-     */
-    public UpAction(FrameList frameList) {
-        super(frameList);
-        setText(FrameListMessages.getString("Up.text")); //$NON-NLS-1$
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_UP));
-        setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_UP_DISABLED));
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IFrameListHelpContextIds.UP_ACTION);
-        update();
-    }
-
-    Frame getParentFrame(int flags) {
-        return getFrameList().getSource().getFrame(IFrameSource.PARENT_FRAME,
-                flags);
-    }
-
-    String getToolTipText(Frame parentFrame) {
-        if (parentFrame != null) {
-            String text = parentFrame.getToolTipText();
-            if (text != null && text.length() > 0) {
-                return FrameListMessages.format(
-                        "Up.toolTipOneArg", new Object[] { text }); //$NON-NLS-1$
-            }
-        }
-        return FrameListMessages.getString("Up.toolTip"); //$NON-NLS-1$
-
-    }
-
-    /**
-     * Calls <code>gotoFrame</code> on the frame list with a frame
-     * representing the parent of the current input.
-     */
-    public void run() {
-        Frame parentFrame = getParentFrame(IFrameSource.FULL_CONTEXT);
-        if (parentFrame != null) {
-            getFrameList().gotoFrame(parentFrame);
-        }
-    }
-
-    /**
-     * Updates this action's enabled state and tool tip text.
-     * This action is enabled only when there is a parent frame for the current
-     * frame in the frame list.
-     * The tool tip text is "Up to " plus the tool tip text for the parent
-     * frame.
-     */
-    public void update() {
-        super.update();
-        Frame parentFrame = getParentFrame(0);
-        setEnabled(parentFrame != null);
-        setToolTipText(getToolTipText(parentFrame));
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties
deleted file mode 100644
index 817c49f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/messages.properties
+++ /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.ui.views.framelist
-
-
-# ==============================================================================
-# FrameList
-# ==============================================================================
-Back.text = &Back
-Back.toolTip = Back
-Back.toolTipOneArg = Back to {0}
-
-Forward.text = &Forward
-Forward.toolTip = Forward
-Forward.toolTipOneArg = Forward to {0}
-
-GoInto.text = Go &Into
-GoInto.toolTip = Go Into
-
-Up.text = &Up One Level
-Up.toolTip = Up
-Up.toolTipOneArg = Up to {0}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/package.html
deleted file mode 100644
index 2ca0f96..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/framelist/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="Microsoft FrontPage 4.0">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-<p>Provides support for a web-browser style of navigation within a view by maintaining a list
-of frames.  Each frame holds a snapshot of a view at some point in time.
-Includes support for use with a tree viewer.</p>
-<p>
-<br>&nbsp;</p>
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.java
deleted file mode 100644
index b24891f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/MarkerViewUtil.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.ui.views.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.views.markers.internal.MarkerView;
-
-/**
- * Utility class for showing markers in the marker views.
- */
-public class MarkerViewUtil {
-
-    /**
-     * Returns the id of the view used to show markers of the
-     * same type as the given marker.
-     * 
-     * @param marker the marker
-     * @return the view id or <code>null</code> if no appropriate view could be determined
-     * @throws CoreException if an exception occurs testing the type of the marker
-     */
-    public static String getViewId(IMarker marker) throws CoreException {
-        if (marker.isSubtypeOf(IMarker.TASK)) {
-            return IPageLayout.ID_TASK_LIST;
-        } else if (marker.isSubtypeOf(IMarker.PROBLEM)) {
-            return IPageLayout.ID_PROBLEM_VIEW;
-        } else if (marker.isSubtypeOf(IMarker.BOOKMARK)) {
-            return IPageLayout.ID_BOOKMARKS;
-        }
-        return null;
-    }
-
-    /**
-     * Shows the given marker in the appropriate view in the given page.
-     * This must be called from the UI thread.
-     * 
-     * @param page the workbench page in which to show the marker
-     * @param marker the marker to show
-     * @param showView <code>true</code> if the view should be shown first
-     *   <code>false</code> to only show the marker if the view is already showing 
-     * @return <code>true</code> if the marker was successfully shown,
-     *   <code>false</code> if not
-     */
-    public static boolean showMarker(IWorkbenchPage page, IMarker marker,
-            boolean showView) {
-        try {
-            String viewId = getViewId(marker);
-            if (viewId != null) {
-                IViewPart view = showView ? page.showView(viewId) : page
-                        .findView(viewId);
-                if (view instanceof MarkerView) {
-                    StructuredSelection selection = new StructuredSelection(
-                            marker);
-                    MarkerView markerView = (MarkerView) view;
-                    markerView.setSelection(selection, true);
-                    return true;
-
-                    //return markerView.getSelection().equals(selection); 
-                }
-            }
-        } catch (CoreException e) {
-            // ignore
-        }
-        return false;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java
deleted file mode 100644
index 3cd0ca3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionAddGlobalTask.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ActionAddGlobalTask extends Action {
-
-    private static final String ENABLED_IMAGE_PATH = "elcl16/addtsk_tsk.gif"; //$NON-NLS-1$
-
-    private IWorkbenchPart part;
-
-    public ActionAddGlobalTask(IWorkbenchPart part) {
-        setText(Messages.getString("addGlobalTaskAction.title")); //$NON-NLS-1$
-        setImageDescriptor(ImageFactory.getImageDescriptor(ENABLED_IMAGE_PATH));
-        setToolTipText(Messages.getString("addGlobalTaskAction.tooltip")); //$NON-NLS-1$
-        this.part = part;
-    }
-
-    public void run() {
-        DialogTaskProperties dialog = new DialogTaskProperties(part.getSite()
-                .getShell(), Messages.getString("addGlobalTaskDialog.title")); //$NON-NLS-1$
-        dialog.open();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java
deleted file mode 100644
index d205d5d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionCopyMarker.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Copies one or more marker to the clipboard.
- */
-public class ActionCopyMarker extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    private Clipboard clipboard;
-
-    private IField[] properties;
-
-    /**
-     * Creates the action.
-     */
-    public ActionCopyMarker(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, Messages.getString("copyAction.title")); //$NON-NLS-1$
-        this.part = part;
-        setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
-                .getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-        setEnabled(false);
-    }
-
-    /**
-     * Sets the clipboard that the marker(s) will be copied to.
-     * @param clipboard the clipboard
-     */
-    void setClipboard(Clipboard clipboard) {
-        this.clipboard = clipboard;
-    }
-
-    /**
-     * Sets the properties to be added to the plain-text marker report that 
-     * will be copied to the clipboard.
-     * @param properties
-     */
-    void setProperties(IField[] properties) {
-        this.properties = properties;
-    }
-
-    /**
-     * Copies the selected IMarker objects to the clipboard. If properties have 
-     * been set, also copies a plain-text report of the selected markers to the
-     * clipboard.
-     */
-    public void run() {
-        IStructuredSelection selection = getStructuredSelection();
-        if (selection == null || selection.isEmpty() || clipboard == null)
-            return;
-        List list = selection.toList();
-        IMarker[] markers = new IMarker[list.size()];
-        list.toArray(markers);
-        setClipboard(markers, createMarkerReport(markers));
-    }
-
-    /** 
-     * Updates enablement based on the current selection
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(selection != null && !selection.isEmpty());
-    }
-
-    private void setClipboard(IMarker[] markers, String markerReport) {
-        try {
-            // Place the markers on the clipboard
-            Object[] data;
-            Transfer[] transferTypes;
-            if (markerReport == null) {
-                data = new Object[] { markers };
-                transferTypes = new Transfer[] { MarkerTransfer.getInstance() };
-            } else {
-                data = new Object[] { markers, markerReport };
-                transferTypes = new Transfer[] { MarkerTransfer.getInstance(),
-                        TextTransfer.getInstance() };
-            }
-
-            clipboard.setContents(data, transferTypes);
-        } catch (SWTError e) {
-            if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-                throw e;
-            if (MessageDialog
-                    .openQuestion(
-                            part.getSite().getShell(),
-                            Messages
-                                    .getString("CopyToClipboardProblemDialog.title"), Messages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-                setClipboard(markers, markerReport);
-        }
-    }
-
-    /**
-     * Creates a plain-text report of the selected markers based on predefined properties.
-     * @param markers
-     * @return the marker report
-     */
-    String createMarkerReport(IMarker[] rawMarkers) {
-        ConcreteMarker[] markers;
-        try {
-            markers = MarkerList.createMarkers(rawMarkers);
-        } catch (CoreException e) {
-            ErrorDialog.openError(part.getSite().getShell(), Messages
-                    .getString("Error"), //$NON-NLS-1$
-                    null, e.getStatus());
-            return ""; //$NON-NLS-1$
-        }
-
-        StringBuffer report = new StringBuffer();
-
-        final String NEWLINE = System.getProperty("line.separator"); //$NON-NLS-1$
-        final char DELIMITER = '\t';
-
-        if (properties == null) {
-            return null;
-        }
-
-        //create header
-        for (int i = 0; i < properties.length; i++) {
-            report.append(properties[i].getDescription());
-            if (i == properties.length - 1)
-                report.append(NEWLINE);
-            else
-                report.append(DELIMITER);
-        }
-
-        for (int i = 0; i < markers.length; i++) {
-            ConcreteMarker marker = markers[i];
-            for (int j = 0; j < properties.length; j++) {
-                report.append(properties[j].getValue(marker));
-                if (j == properties.length - 1)
-                    report.append(NEWLINE);
-                else
-                    report.append(DELIMITER);
-            }
-        }
-
-        return report.toString();
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.java
deleted file mode 100644
index 2c98a30..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionDeleteCompleted.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.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionDeleteCompleted extends SelectionProviderAction {
-
-    private TaskView part;
-
-    /**
-     * Constructs an ActionDeleteCompleted instance
-     * 
-     * @param part
-     * @param provider
-     */
-    public ActionDeleteCompleted(TaskView part, ISelectionProvider provider) {
-        super(provider, Messages.getString("deleteCompletedAction.title")); //$NON-NLS-1$
-        this.part = part;
-        setEnabled(false);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        final List completed = getCompletedTasks();
-        // Check if there is anything to do
-        if (completed.size() == 0) {
-            MessageDialog.openInformation(part.getSite().getShell(), Messages
-                    .getString("deleteCompletedTasks.dialogTitle"), //$NON-NLS-1$
-                    Messages.getString("deleteCompletedTasks.noneCompleted")); //$NON-NLS-1$
-            return;
-        }
-        String message;
-        if (completed.size() == 1) {
-            message = Messages
-                    .getString("deleteCompletedTasks.permanentSingular"); //$NON-NLS-1$
-        } else {
-            message = Messages.format("deleteCompletedTasks.permanentPlural", //$NON-NLS-1$
-                    new Object[] { new Integer(completed.size()) });
-        }
-        // Verify.
-        if (!MessageDialog.openConfirm(part.getSite().getShell(), Messages
-                .getString("deleteCompletedTasks.dialogTitle"), //$NON-NLS-1$
-                message)) {
-            return;
-        }
-        try {
-            ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) {
-                    for (int i = 0; i < completed.size(); i++) {
-                        IMarker marker = (IMarker) completed.get(i);
-                        try {
-                            marker.delete();
-                        } catch (CoreException e) {
-                        }
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog
-                    .openError(
-                            part.getSite().getShell(),
-                            Messages
-                                    .getString("deleteCompletedTasks.errorMessage"), null, e.getStatus()); //$NON-NLS-1$
-        }
-    }
-
-    private List getCompletedTasks() {
-        List completed = new ArrayList();
-
-        ISelectionProvider sel = getSelectionProvider();
-
-        MarkerList markerList = part.getVisibleMarkers();
-
-        ConcreteMarker[] markers = markerList.toArray();
-
-        for (int i = 0; i < markers.length; i++) {
-            ConcreteMarker marker = markers[i];
-            if (marker instanceof TaskMarker) {
-                TaskMarker taskMarker = (TaskMarker) marker;
-
-                if (taskMarker.getDone() == 1) {
-                    completed.add(taskMarker.getMarker());
-                }
-            }
-        }
-
-        return completed;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(!selection.isEmpty());
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java
deleted file mode 100644
index 0905381..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkCompleted.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionMarkCompleted extends SelectionProviderAction {
-
-    /**
-     * @param provider
-     */
-    public ActionMarkCompleted(ISelectionProvider provider) {
-        super(provider, Messages.getString("markCompletedAction.title")); //$NON-NLS-1$
-        setEnabled(false);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        try {
-            ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) {
-                    for (Iterator iterator = getStructuredSelection()
-                            .iterator(); iterator.hasNext();) {
-                        Object obj = iterator.next();
-                        if (obj instanceof IMarker) {
-                            IMarker marker = (IMarker) obj;
-                            try {
-                                marker.setAttribute(IMarker.DONE, true);
-                            } catch (CoreException e) {
-                            }
-                        }
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(false);
-        if (selection == null || selection.isEmpty()) {
-            return;
-        }
-        for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
-            Object obj = iterator.next();
-            if (!(obj instanceof IMarker)) {
-                return;
-            }
-            IMarker marker = (IMarker) obj;
-            if (!marker.getAttribute(IMarker.USER_EDITABLE, true)) {
-                return;
-            }
-            if (marker.getAttribute(IMarker.DONE, false)) {
-                return;
-            }
-        }
-        setEnabled(true);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.java
deleted file mode 100644
index dd0db42..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionMarkerProperties.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.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionMarkerProperties extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    public ActionMarkerProperties(IWorkbenchPart part,
-            ISelectionProvider provider) {
-        super(provider, Messages.getString("propertiesAction.title")); //$NON-NLS-1$
-        setEnabled(false);
-        this.part = part;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        if (!isEnabled()) {
-            return;
-        }
-        Object obj = getStructuredSelection().getFirstElement();
-        if (!(obj instanceof IMarker)) {
-            return;
-        }
-        IMarker marker = (IMarker) obj;
-        DialogMarkerProperties dialog = new DialogMarkerProperties(part
-                .getSite().getShell());
-        dialog.setMarker(marker);
-        dialog.open();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(selection != null && selection.size() == 1);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java
deleted file mode 100644
index d190391..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionOpenMarker.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Action to open an editor on the selected bookmarks.
- */
-public class ActionOpenMarker extends SelectionProviderAction {
-
-    private final String IMAGE_PATH = "elcl16/gotoobj_tsk.gif"; //$NON-NLS-1$
-
-    private final String DISABLED_IMAGE_PATH = "dlcl16/gotoobj_tsk.gif"; //$NON-NLS-1$
-
-    protected IWorkbenchPart part;
-
-    public ActionOpenMarker(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, Messages.getString("openAction.title")); //$NON-NLS-1$
-        this.part = part;
-        setImageDescriptor(ImageFactory.getImageDescriptor(IMAGE_PATH));
-        setDisabledImageDescriptor(ImageFactory
-                .getImageDescriptor(DISABLED_IMAGE_PATH));
-        setEnabled(false);
-    }
-
-    public void run() {
-        IStructuredSelection selection = getStructuredSelection();
-        if (selection == null || selection.size() != 1)
-            return;
-
-        Object obj = selection.getFirstElement();
-        if (!(obj instanceof IMarker))
-            return;
-
-        IMarker marker = (IMarker) obj;
-        //optimization: if the active editor has the same input as the selected marker then 
-        //RevealMarkerAction would have been run and we only need to activate the editor
-        IEditorPart editor = part.getSite().getPage().getActiveEditor();
-        if (editor != null) {
-            IEditorInput input = editor.getEditorInput();
-            if (input instanceof IFileEditorInput) {
-                IFile file = ((IFileEditorInput) input).getFile();
-                if (marker.getResource().equals(file)) {
-                    part.getSite().getPage().activate(editor);
-                }
-            }
-        }
-
-        if (marker.getResource() instanceof IFile) {
-            try {
-                IDE.openEditor(part.getSite().getPage(), marker, OpenStrategy
-                        .activateOnOpen());
-            } catch (PartInitException e) {
-                // Open an error style dialog for PartInitException by
-                // including any extra information from the nested
-                // CoreException if present.
-
-                // Check for a nested CoreException
-                CoreException nestedException = null;
-                IStatus status = e.getStatus();
-                if (status != null
-                        && status.getException() instanceof CoreException)
-                    nestedException = (CoreException) status.getException();
-
-                if (nestedException != null) {
-                    // Open an error dialog and include the extra
-                    // status information from the nested CoreException
-                    ErrorDialog.openError(part.getSite().getShell(), Messages
-                            .getString("OpenMarker.errorTitle"), //$NON-NLS-1$
-                            e.getMessage(), nestedException.getStatus());
-                } else {
-                    // Open a regular error dialog since there is no
-                    // extra information to display
-                    MessageDialog.openError(part.getSite().getShell(), Messages
-                            .getString("OpenMarker.errorTitle"), //$NON-NLS-1$
-                            e.getMessage());
-                }
-            }
-        }
-    }
-
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(selection != null && selection.size() == 1);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java
deleted file mode 100644
index 6bda3f8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionPasteMarker.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Pastes one or more bookmark(s) from the clipboard into the bookmark navigator.
- */
-public class ActionPasteMarker extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    private Clipboard clipboard;
-
-    private String[] pastableTypes;
-
-    /**
-     * Creates the action.
-     */
-    public ActionPasteMarker(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, Messages.getString("pasteAction.title")); //$NON-NLS-1$
-        this.part = part;
-        this.pastableTypes = new String[0];
-        setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
-                .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-        setEnabled(false);
-    }
-
-    void setClipboard(Clipboard clipboard) {
-        this.clipboard = clipboard;
-    }
-
-    /**
-     * Copies the marker(s) from the clipboard to the bookmark navigator view.
-     */
-    public void run() {
-        // Get the markers from the clipboard
-        MarkerTransfer transfer = MarkerTransfer.getInstance();
-        IMarker[] markerData = (IMarker[]) clipboard.getContents(transfer);
-        paste(markerData);
-    }
-
-    void paste(final IMarker[] markers) {
-        if (markers == null)
-            return;
-
-        final ArrayList newMarkers = new ArrayList();
-
-        try {
-            ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    for (int i = 0; i < markers.length; i++) {
-                        String type = markers[i].getType();
-                        // Paste to the same resource as the original
-                        IResource resource = markers[i].getResource();
-                        Map attributes = markers[i].getAttributes();
-                        IMarker marker = resource.createMarker(type);
-                        marker.setAttributes(attributes);
-                        newMarkers.add(marker);
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog.openError(part.getSite().getShell(), Messages
-                    .getString("PasteMarker.errorTitle"), //$NON-NLS-1$
-                    null, e.getStatus());
-            return;
-        }
-
-        // Need to do this in an asyncExec, even though we're in the UI thread here,
-        // since the marker view updates itself with the addition in an asyncExec,
-        // which hasn't been processed yet.
-        // Must be done outside IWorkspaceRunnable above since notification for add is
-        // sent after IWorkspaceRunnable is run.
-        if (getSelectionProvider() != null && newMarkers.size() > 0) {
-            part.getSite().getShell().getDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    getSelectionProvider().setSelection(
-                            new StructuredSelection(newMarkers));
-                }
-            });
-        }
-    }
-
-    void updateEnablement() {
-        setEnabled(false);
-        if (clipboard == null) {
-            return;
-        }
-
-        // Paste if clipboard contains pastable markers
-        MarkerTransfer transfer = MarkerTransfer.getInstance();
-        IMarker[] markerData = (IMarker[]) clipboard.getContents(transfer);
-        if (markerData == null || markerData.length < 1
-                || pastableTypes == null) {
-            return;
-        }
-        for (int i = 0; i < markerData.length; i++) {
-            try {
-                IMarker marker = markerData[i];
-                if (!marker.exists()) {
-                    break;
-                }
-                boolean pastable = false;
-                for (int j = 0; j < pastableTypes.length; j++) {
-                    if (marker.isSubtypeOf((String) pastableTypes[j])) {
-                        pastable = true;
-                        break;
-                    }
-                }
-                if (!pastable) {
-                    return;
-                }
-                if (!Util.isEditable(marker)) {
-                    return;
-                }
-            } catch (CoreException e) {
-                return;
-            }
-        }
-        setEnabled(true);
-    }
-
-    /**
-     * @param strings
-     */
-    void setPastableTypes(String[] strings) {
-        pastableTypes = strings;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.java
deleted file mode 100644
index b3234f6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionProblemProperties.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.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionProblemProperties extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    public ActionProblemProperties(IWorkbenchPart part,
-            ISelectionProvider provider) {
-        super(provider, Messages.getString("propertiesAction.title")); //$NON-NLS-1$
-        setEnabled(false);
-        this.part = part;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        if (!isEnabled()) {
-            return;
-        }
-        Object obj = getStructuredSelection().getFirstElement();
-        if (!(obj instanceof IMarker)) {
-            return;
-        }
-        IMarker marker = (IMarker) obj;
-        DialogMarkerProperties dialog = new DialogProblemProperties(part
-                .getSite().getShell());
-        dialog.setMarker(marker);
-        dialog.open();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(selection != null && selection.size() == 1);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.java
deleted file mode 100644
index b806802..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRemoveMarker.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.ui.views.markers.internal;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Action to remove the selected bookmarks.
- */
-public class ActionRemoveMarker extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    /**
-     * Creates the action.
-     */
-    public ActionRemoveMarker(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, Messages.getString("deleteAction.title")); //$NON-NLS-1$
-        this.part = part;
-        setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-        setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-        setToolTipText(Messages.getString("deleteAction.tooltip")); //$NON-NLS-1$
-        setEnabled(false);
-    }
-
-    /**
-     * Delete the marker selection.
-     */
-    public void run() {
-        if (!isEnabled()) {
-            return;
-        }
-        final IStructuredSelection selection = getStructuredSelection();
-        if (selection.isEmpty()) {
-            return;
-        }
-        try {
-            ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    for (Iterator iter = selection.iterator(); iter.hasNext();) {
-                        Object o = iter.next();
-                        if (o instanceof IMarker) {
-                            IMarker marker = (IMarker) o;
-                            marker.delete();
-                        }
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog.openError(part.getSite().getShell(), Messages
-                    .getString("RemoveMarker.errorTitle"), null, e.getStatus()); //$NON-NLS-1$
-        }
-    }
-
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(false);
-        if (selection == null || selection.isEmpty()) {
-            return;
-        }
-        for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
-            Object obj = iterator.next();
-            if (!(obj instanceof IMarker)) {
-                return;
-            }
-            IMarker marker = (IMarker) obj;
-            if (!Util.isEditable(marker)) {
-                return;
-            }
-        }
-        setEnabled(true);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java
deleted file mode 100644
index b7f22fa..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionResolveMarker.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.dialogs.MarkerResolutionSelectionDialog;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This action displays a list of resolutions for the selected marker
- * 
- * @since 2.0
- */
-public class ActionResolveMarker extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    public ActionResolveMarker(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, Messages.getString("resolveMarkerAction.title")); //$NON-NLS-1$
-        this.part = part;
-        setEnabled(false);
-    }
-
-    /**
-     * Displays a list of resolutions and performs the selection.
-     */
-    public void run() {
-        if (!isEnabled()) {
-            return;
-        }
-        IMarker marker = getMarker();
-        if (marker == null) {
-            return;
-        }
-        IMarkerResolution[] resolutions = getResolutions(marker);
-        if (resolutions.length == 0) {
-            MessageDialog
-                    .openInformation(
-                            part.getSite().getShell(),
-                            Messages
-                                    .getString("resolveMarkerAction.dialogTitle"), //$NON-NLS-1$
-                            Messages
-                                    .getString("resolveMarkerAction.noResolutionsLabel")); //$NON-NLS-1$
-            return;
-        }
-        MarkerResolutionSelectionDialog d = new MarkerResolutionSelectionDialog(
-                part.getSite().getShell(), resolutions);
-        if (d.open() != Dialog.OK)
-            return;
-        Object[] result = d.getResult();
-        if (result != null && result.length > 0)
-            ((IMarkerResolution) result[0]).run(marker);
-    }
-
-    /**
-     * Returns the resolutions for the given marker.
-     *
-     * @param the marker for which to obtain resolutions
-     * @return the resolutions for the selected marker	
-     */
-    private IMarkerResolution[] getResolutions(IMarker marker) {
-        return IDE.getMarkerHelpRegistry().getResolutions(marker);
-    }
-
-    /**
-     * Returns the selected marker (may be <code>null</code>).
-     * 
-     * @return the selected marker
-     */
-    private IMarker getMarker() {
-        IStructuredSelection selection = getStructuredSelection();
-        // only enable for single selection
-        if (selection.size() != 1)
-            return null;
-        return (IMarker) selection.getFirstElement();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(false);
-        if (selection.size() != 1) {
-            return;
-        }
-        IMarker marker = (IMarker) selection.getFirstElement();
-        if (marker == null) {
-            return;
-        }
-        setEnabled(IDE.getMarkerHelpRegistry().hasResolutions(marker));
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java
deleted file mode 100644
index 08c827b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionRevealMarker.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.ide.IDE;
-
-public class ActionRevealMarker extends SelectionProviderAction {
-
-    protected IWorkbenchPart part;
-
-    public ActionRevealMarker(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, ""); //$NON-NLS-1$
-        this.part = part;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        IStructuredSelection selection = getStructuredSelection();
-        Object obj = selection.getFirstElement();
-        if (obj == null || !(obj instanceof IMarker))
-            return;
-
-        IMarker marker = (IMarker) obj;
-        IEditorPart editor = part.getSite().getPage().getActiveEditor();
-        if (editor == null)
-            return;
-        IEditorInput input = editor.getEditorInput();
-        if (input instanceof IFileEditorInput) {
-            IFile file = ((IFileEditorInput) input).getFile();
-            if (marker.getResource().equals(file)) {
-                try {
-                    IDE.openEditor(part.getSite().getPage(), marker, false);
-                } catch (CoreException e) {
-                }
-            }
-        }
-    }
-
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(selection != null && selection.size() == 1);
-        if (isEnabled()) {
-            run();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java
deleted file mode 100644
index f4d149f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionSelectAll.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionSelectAll extends SelectionProviderAction {
-
-    /**
-     * @param provider
-     */
-    public ActionSelectAll(TableViewer provider) {
-        super(provider, Messages.getString("selectAllAction.title")); //$NON-NLS-1$
-        setEnabled(true);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        TableViewer viewer = (TableViewer) getSelectionProvider();
-
-        Object[] elements = ((IStructuredContentProvider) viewer
-                .getContentProvider()).getElements(viewer.getInput());
-
-        StructuredSelection newSelection = new StructuredSelection(elements);
-        super.getSelectionProvider().setSelection(newSelection);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(!selection.isEmpty());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java
deleted file mode 100644
index 018a812..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ActionTaskProperties.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-public class ActionTaskProperties extends SelectionProviderAction {
-
-    private IWorkbenchPart part;
-
-    public ActionTaskProperties(IWorkbenchPart part, ISelectionProvider provider) {
-        super(provider, Messages.getString("propertiesAction.title")); //$NON-NLS-1$
-        setEnabled(false);
-        this.part = part;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.Action#run()
-     */
-    public void run() {
-        if (!isEnabled()) {
-            return;
-        }
-        Object obj = getStructuredSelection().getFirstElement();
-        if (!(obj instanceof IMarker)) {
-            return;
-        }
-        IMarker marker = (IMarker) obj;
-        DialogMarkerProperties dialog = new DialogTaskProperties(part.getSite()
-                .getShell());
-        dialog.setMarker(marker);
-        dialog.open();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(selection != null && selection.size() == 1);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java
deleted file mode 100644
index 0b8af16..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkFilter.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-public class BookmarkFilter extends MarkerFilter {
-
-    private final static String TAG_CONTAINS = "contains"; //$NON-NLS-1$
-
-    private final static String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-
-    private final static String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$
-
-    final static boolean DEFAULT_CONTAINS = true;
-
-    final static String DEFAULT_DESCRIPTION = ""; //$NON-NLS-1$
-
-    private boolean contains;
-
-    private String description;
-
-    public BookmarkFilter() {
-        super(new String[] { IMarker.BOOKMARK });
-    }
-
-    /**
-     * Returns true iff the given marker is accepted by this filter
-     */
-    public boolean selectMarker(ConcreteMarker marker) {
-        return !isEnabled()
-                || (super.selectMarker(marker) && selectByDescription(marker));
-    }
-
-    private boolean selectByDescription(ConcreteMarker marker) {
-        if (description == null || description.equals("")) //$NON-NLS-1$
-            return true;
-
-        String markerDescription = marker.getDescription();
-        int index = markerDescription.indexOf(description);
-        return contains ? (index >= 0) : (index < 0);
-    }
-
-    boolean getContains() {
-        return contains;
-    }
-
-    String getDescription() {
-        return description;
-    }
-
-    void setContains(boolean contains) {
-        this.contains = contains;
-    }
-
-    void setDescription(String description) {
-        this.description = description;
-    }
-
-    void resetState() {
-        super.resetState();
-        contains = DEFAULT_CONTAINS;
-        description = DEFAULT_DESCRIPTION;
-    }
-
-    public void restoreState(IDialogSettings dialogSettings) {
-        super.restoreState(dialogSettings);
-        IDialogSettings settings = dialogSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings != null) {
-            String setting = settings.get(TAG_CONTAINS);
-
-            if (setting != null)
-                contains = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_DESCRIPTION);
-
-            if (setting != null)
-                description = new String(setting);
-        }
-    }
-
-    public void saveState(IDialogSettings dialogSettings) {
-        super.saveState(dialogSettings);
-
-        if (dialogSettings != null) {
-            IDialogSettings settings = dialogSettings
-                    .getSection(TAG_DIALOG_SECTION);
-
-            if (settings == null)
-                settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-            settings.put(TAG_CONTAINS, contains);
-            settings.put(TAG_DESCRIPTION, description);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java
deleted file mode 100644
index 369c43d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkMarker.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * Represents a marker visible in the Bookmarks view. Currently, this adds no additional
- * fields to the ConcreteMarker class. However, if additional fields were added to the
- * bookmark view that are not general to all views, these fields would be added to this
- * class.
- */
-public class BookmarkMarker extends ConcreteMarker {
-
-    /**
-     * @param toCopy
-     */
-    public BookmarkMarker(IMarker toCopy) {
-        super(toCopy);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.java
deleted file mode 100644
index d69a69e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/BookmarkView.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.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class BookmarkView extends MarkerView {
-
-    private final ColumnLayoutData[] DEFAULT_COLUMN_LAYOUTS = {
-            new ColumnWeightData(200), new ColumnWeightData(75),
-            new ColumnWeightData(150), new ColumnWeightData(60) };
-
-    private final IField[] HIDDEN_FIELDS = { new FieldCreationTime() };
-
-    private final static String[] ROOT_TYPES = { IMarker.BOOKMARK };
-
-    private final static String[] TABLE_COLUMN_PROPERTIES = { IMarker.MESSAGE,
-            "", //$NON-NLS-1$
-            "", //$NON-NLS-1$
-            "" //$NON-NLS-1$
-    };
-
-    private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.bookmark"; //$NON-NLS-1$
-
-    private final IField[] VISIBLE_FIELDS = { new FieldMessage(),
-            new FieldResource(), new FieldFolder(), new FieldLineNumber() };
-
-    private ICellModifier cellModifier = new ICellModifier() {
-        public Object getValue(Object element, String property) {
-            if (element instanceof ConcreteMarker
-                    && IMarker.MESSAGE.equals(property))
-                return ((ConcreteMarker) element).getDescription();
-            else
-                return null;
-        }
-
-        public boolean canModify(Object element, String property) {
-            return true;
-        }
-
-        public void modify(Object element, String property, Object value) {
-            if (element instanceof Item) {
-                Item item = (Item) element;
-                Object data = item.getData();
-
-                if (data instanceof ConcreteMarker) {
-                    IMarker marker = ((ConcreteMarker) data).getMarker();
-
-                    try {
-                        if (!marker.getAttribute(property).equals(value)) {
-                            if (IMarker.MESSAGE.equals(property))
-                                marker.setAttribute(IMarker.MESSAGE, value);
-                        }
-                    } catch (CoreException e) {
-                        ErrorDialog
-                                .openError(
-                                        getSite().getShell(),
-                                        Messages
-                                                .getString("errorModifyingBookmark"), null, e.getStatus()); //$NON-NLS-1$
-                    }
-                }
-            }
-        }
-    };
-
-    private CellEditorActionHandler cellEditorActionHandler;
-
-    private BookmarkFilter bookmarkFilter = new BookmarkFilter();
-
-    public void createPartControl(Composite parent) {
-        super.createPartControl(parent);
-
-        // TODO: Check for possible reliance on IMarker
-        TableViewer tableViewer = getViewer();
-        CellEditor cellEditors[] = new CellEditor[tableViewer.getTable()
-                .getColumnCount()];
-        CellEditor descriptionCellEditor = new TextCellEditor(tableViewer
-                .getTable());
-        cellEditors[0] = descriptionCellEditor;
-        tableViewer.setCellEditors(cellEditors);
-        tableViewer.setCellModifier(cellModifier);
-        tableViewer.setColumnProperties(TABLE_COLUMN_PROPERTIES);
-
-        cellEditorActionHandler = new CellEditorActionHandler(getViewSite()
-                .getActionBars());
-        cellEditorActionHandler.addCellEditor(descriptionCellEditor);
-        cellEditorActionHandler.setCopyAction(copyAction);
-        cellEditorActionHandler.setPasteAction(pasteAction);
-        cellEditorActionHandler.setDeleteAction(deleteAction);
-        cellEditorActionHandler.setSelectAllAction(selectAllAction);
-    }
-
-    public void dispose() {
-        if (cellEditorActionHandler != null)
-            cellEditorActionHandler.dispose();
-
-        super.dispose();
-    }
-
-    public void init(IViewSite viewSite, IMemento memento)
-            throws PartInitException {
-        super.init(viewSite, memento);
-        IDialogSettings dialogSettings = getDialogSettings();
-        bookmarkFilter.restoreState(dialogSettings);
-    }
-
-    public void saveState(IMemento memento) {
-        IDialogSettings dialogSettings = getDialogSettings();
-
-        bookmarkFilter.saveState(dialogSettings);
-
-        super.saveState(memento);
-    }
-
-    protected ColumnLayoutData[] getDefaultColumnLayouts() {
-        return DEFAULT_COLUMN_LAYOUTS;
-    }
-
-    protected IDialogSettings getDialogSettings() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings settings = workbenchSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings == null)
-            settings = workbenchSettings.addNewSection(TAG_DIALOG_SECTION);
-
-        return settings;
-    }
-
-    protected IField[] getHiddenFields() {
-        return HIDDEN_FIELDS;
-    }
-
-    protected String[] getRootTypes() {
-        return ROOT_TYPES;
-    }
-
-    protected Object getViewerInput() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-    protected IField[] getVisibleFields() {
-        return VISIBLE_FIELDS;
-    }
-
-    public void setSelection(IStructuredSelection structuredSelection,
-            boolean reveal) {
-        // TODO: added because nick doesn't like public API inherited from internal classes
-        super.setSelection(structuredSelection, reveal);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
-     */
-    protected String[] getMarkerTypes() {
-        return new String[] { IMarker.BOOKMARK };
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#openFiltersDialog()
-     */
-    public void openFiltersDialog() {
-        DialogBookmarkFilter dialog = new DialogBookmarkFilter(getSite()
-                .getShell(), bookmarkFilter);
-
-        if (dialog.open() == Window.OK) {
-            bookmarkFilter = (BookmarkFilter) dialog.getFilter();
-            bookmarkFilter.saveState(getDialogSettings());
-            refresh();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#getFilter()
-     */
-    protected MarkerFilter getFilter() {
-        return bookmarkFilter;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#updateFilterSelection(org.eclipse.core.resources.IResource[])
-     */
-    protected void updateFilterSelection(IResource[] resources) {
-        bookmarkFilter.setFocusResource(resources);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java
deleted file mode 100644
index 1d712b8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ConcreteMarker.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.CollationKey;
-import java.text.Collator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This is a concrete class that stores the same type of information as the IMarkers
- * used by the IDE. This class exists as an optimization. The various get* methods
- * on IMarker are extremely slow, which makes it very slow to sort markers (for example,
- * in the problems view). This marker class stores the fields in the most efficient form
- * for sorting and display, but necessarily removes some generality from IMarker.
- */
-public class ConcreteMarker {
-
-    private String description;
-
-    private String resourceName;
-
-    private String inFolder;
-
-    private CollationKey descriptionKey;
-
-    private CollationKey resourceNameKey;
-
-    private CollationKey inFolderKey;
-
-    private int line;
-
-    private long creationTime;
-
-    private String type;
-
-    private IMarker marker;
-
-    public ConcreteMarker(IMarker toCopy) {
-        marker = toCopy;
-        refresh();
-    }
-
-    /**
-     * Clears any cached information. This frees up some memory, but will slow down
-     * the next comparison operation. It is a good idea to call this on a set of markers
-     * after sorting them, in order to reduce their memory cost. 
-     */
-    public void clearCache() {
-        resourceNameKey = null;
-        descriptionKey = null;
-        inFolderKey = null;
-    }
-
-    /**
-     * Refresh the properties of this marker from the underlying IMarker instance
-     */
-    public void refresh() {
-        clearCache();
-
-        description = Util.getProperty(IMarker.MESSAGE, marker);
-        resourceName = marker.getResource().getName();
-        inFolder = Util.getContainerName(marker);
-        line = marker.getAttribute(IMarker.LINE_NUMBER, -1);
-        try {
-            creationTime = marker.getCreationTime();
-        } catch (CoreException e) {
-            creationTime = 0;
-        }
-
-        try {
-            type = marker.getType();
-        } catch (CoreException e1) {
-            type = ""; //$NON-NLS-1$
-        }
-    }
-
-    public IResource getResource() {
-        return marker.getResource();
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public CollationKey getDescriptionKey() {
-        if (descriptionKey == null) {
-            descriptionKey = Collator.getInstance()
-                    .getCollationKey(description);
-        }
-
-        return descriptionKey;
-    }
-
-    public String getResourceName() {
-        return resourceName;
-    }
-
-    public CollationKey getResourceNameKey() {
-        if (resourceNameKey == null) {
-            resourceNameKey = Collator.getInstance().getCollationKey(
-                    resourceName);
-        }
-        return resourceNameKey;
-    }
-
-    public int getLine() {
-        return line;
-    }
-
-    public String getFolder() {
-        return inFolder;
-    }
-
-    public CollationKey getFolderKey() {
-        if (inFolderKey == null) {
-            inFolderKey = Collator.getInstance().getCollationKey(inFolder);
-        }
-        return inFolderKey;
-    }
-
-    public long getCreationTime() {
-        return creationTime;
-    }
-
-    public IMarker getMarker() {
-        return marker;
-    }
-
-    public boolean equals(Object object) {
-        if (!(object instanceof ConcreteMarker)) {
-            return false;
-        }
-
-        ConcreteMarker other = (ConcreteMarker) object;
-
-        return other.getMarker().equals(getMarker());
-    }
-
-    public int hashCode() {
-        return getMarker().hashCode();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.java
deleted file mode 100644
index d91ceab..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DefaultMarkerResourceAdapter.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.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter;
-
-/**
- * The DefaultMarkerResourceAdapter is the default
- * implementation of the IMarkerResourceAdapter used by the
- * MarkerView for resource adaption.
- */
-class DefaultMarkerResourceAdapter implements ITaskListResourceAdapter {
-
-    private static ITaskListResourceAdapter singleton;
-
-    /**
-     * Constructor for DefaultMarkerResourceAdapter.
-     */
-    DefaultMarkerResourceAdapter() {
-        super();
-    }
-
-    /**
-     * Return the default instance used for MarkerView adapting.
-     */
-    static ITaskListResourceAdapter getDefault() {
-        if (singleton == null)
-            singleton = new DefaultMarkerResourceAdapter();
-        return singleton;
-    }
-
-    /**
-     * @see IMarkerResourceAdapter#getAffectedResource(IAdaptable)
-     */
-    public IResource getAffectedResource(IAdaptable adaptable) {
-        IResource resource = (IResource) adaptable.getAdapter(IResource.class);
-
-        if (resource == null)
-            return (IFile) adaptable.getAdapter(IFile.class);
-        else
-            return resource;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java
deleted file mode 100644
index f61ce04..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DeferredQueue.java
+++ /dev/null
@@ -1,609 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.widgets.Table;
-
-/**
- * Contains a queue of changes to be applied to a particular TableViewer.
- * This object is not multithread-friendly. The owning object must synchronize
- * its access to this object such that no two threads attempt to access it
- * simultaneously.
- */
-final class DeferredQueue {
-
-    private static final String SETTING_CONTENTS = Messages
-            .getString("DeferredQueue.setting_contents"); //$NON-NLS-1$
-
-    /**
-     * Maximum number of items to be added or removed from the viewer in a single update.
-     * (Will be used for an initially empty table)
-     */
-    private static final int MAX_UPDATE = 40;
-
-    /**
-     * Minimum number of items to be added or removed from the viewer in a single update
-     * (Will be used once the table size reaches (GROWTH_LIMIT)
-     */
-    private static final int MIN_UPDATE = 1;
-
-    /**
-     * Table size beyond which all updates will be approximately MIN_UPDATE
-     */
-    private static final int GROWTH_LIMIT = 20000;
-
-    // Member variables
-
-    /**
-     * Current sort order (note that this object does the sorting -- not the viewer. The
-     * view contents are sorted by controlling their insertion order and position.)
-     */
-    private Comparator sortOrder;
-
-    /**
-     * Set of items currently visible in the viewer
-     */
-    private Set visibleItems = new HashSet();
-
-    /**
-     * Set of pending insertions that will occur at the end of the table (if the
-     * viewer is sorted, this will be changed into a sorted collection). This
-     * will not contain any items currently in the visibleItems set.
-     */
-    private Set insertionsAtEnd = new HashSet();
-
-    /**
-     * Set of pending insertions that will occur in the middle of the table. This
-     * remains unsorted. Sorting will occur in the UI thread at insertion-time.
-     * This will not contain any items currently in the visibleItems set.
-     */
-    private Set insertionsInMiddle = new HashSet();
-
-    /**
-     * List of pending removals. This is a subset of visibleItems. 
-     */
-    private Set pendingRemovals = new HashSet();
-
-    /**
-     * List of pending changes. This is a subset of visibleItems.
-     */
-    private Set pendingChanges = new HashSet();
-
-    /**
-     * Pointer to the item currently at the end of the table, or null if
-     * the table is currently empty.
-     */
-    private Object lastVisible = null;
-
-    /**
-     * True iff there may be items inthe insertionsInMiddle queue
-     * that can be moved to the insertionsAtEnd queue. This is set to
-     * true when lastVisible is reduced, and set to false when 
-     * insertionsInMiddle is repartitioned.
-     */
-    private boolean lastDirty = false;
-
-    /**
-     * pointer to the viewer being populated.
-     */
-    private TableViewer viewer;
-
-    private boolean hasPendingChanges = false;
-
-    /**
-     * Constructs a new DeferredQueue.
-     * 
-     * @param viewer
-     */
-    public DeferredQueue(TableViewer viewer) {
-        this.viewer = viewer;
-    }
-
-    /**
-     * Returns the set of items currently visible in the viewer (read-only)
-     * 
-     * @return the set of processed items
-     */
-    public Object[] getVisibleItems() {
-        synchronized (visibleItems) {
-            return visibleItems.toArray();
-        }
-    }
-
-    /**
-     * Queues the given set of items to be refreshed in the viewer. If there
-     * are any items in the viewer (or its queues) that compare as equal(...)
-     * to one of these items, the new item will replace the old one. Should
-     * be run in a background thread.
-     * 
-     * @param changes set if items to be refreshed in the viewer
-     */
-    public void change(Collection changes) {
-        Iterator iter = changes.iterator();
-
-        while (iter.hasNext()) {
-            Object next = iter.next();
-            boolean isVisible = false;
-            synchronized (visibleItems) {
-                if (visibleItems.contains(next)) {
-                    visibleItems.remove(next);
-                    visibleItems.add(next);
-                    pendingChanges.add(next);
-                    isVisible = true;
-                    hasPendingChanges = true;
-                }
-            }
-
-            if (!isVisible) {
-                if (insertionsInMiddle.contains(next)) {
-                    insertionsInMiddle.remove(next);
-                    insertionsInMiddle.add(next);
-                    hasPendingChanges = true;
-                } else if (insertionsAtEnd.contains(next)) {
-                    insertionsAtEnd.remove(next);
-                    insertionsAtEnd.add(next);
-                    hasPendingChanges = true;
-                }
-            }
-        }
-    }
-
-    /**
-     * Sets the desired contents of the viewer, enqueueing any additions and removals
-     * necessary such that the final contents of the viewer will be as specified.
-     * Should be run in a background thread. If the given montor is canceled (possibly
-     * in another thread), the operation will be aborted without modifying the queue.
-     * 
-     * @param newPendingContents desired contents of the viewer
-     * @param mon progress monitor
-     */
-    public void set(Collection newPendingContents, IProgressMonitor mon) {
-        mon.beginTask(SETTING_CONTENTS, 100);
-
-        // Set of items in newPendingContents that are not currently in visibleItems
-        Set newInsertions = new HashSet();
-
-        // New pendingRemovals queue
-        Set newPendingRemovals = new HashSet();
-        // New insertionsInMiddle queue
-        Set newInsertionsInMiddle = new HashSet();
-        // New insertionsAtEnd queue
-        Set newInsertionsAtEnd = newEndSet();
-
-        addWithProgress(newInsertions, newPendingContents, mon, 5);
-        synchronized (visibleItems) {
-            addWithProgress(newPendingRemovals, visibleItems, mon, 5);
-            removeWithProgress(newPendingRemovals, newInsertions, mon, 5);
-            removeWithProgress(newInsertions, visibleItems, mon, 5);
-        }
-
-        if (newInsertions.isEmpty() && newPendingRemovals.isEmpty()) {
-            return;
-        }
-
-        SubProgressMonitor sub = new SubProgressMonitor(mon, 80);
-        SortUtil.partition(newInsertionsInMiddle, newInsertionsAtEnd,
-                newInsertionsAtEnd, newInsertions, sortOrder, lastVisible, sub);
-
-        // Do nothing if the operation was cancelled.
-        if (mon.isCanceled()) {
-            mon.done();
-            return;
-        }
-
-        // Now we've computed everything. Apply all the computed changes.
-        hasPendingChanges = true;
-        lastDirty = false;
-        insertionsAtEnd.clear();
-        insertionsAtEnd = newInsertionsAtEnd;
-
-        insertionsInMiddle.clear();
-        insertionsInMiddle = newInsertionsInMiddle;
-
-        pendingRemovals.clear();
-        pendingRemovals = newPendingRemovals;
-
-        mon.done();
-    }
-
-    /**
-     * Applies the next set of changes to the table. Returns the number of items
-     * actually refreshed. Must run in the UI thread.
-     * 
-     * @param maximumToChange maximum number of queued changes to apply
-     * @return the number of changes actually applied.
-     */
-    private int nextChange(int maximumToChange) {
-        Collection result = SortUtil.removeFirst(pendingChanges,
-                maximumToChange);
-
-        viewer.update(result.toArray(), null);
-
-        return result.size();
-    }
-
-    /**
-     * Applies the next set of removals from the table. Must run in the UI thread.
-     * 
-     * @param maximumToRemove maximum number of items to remove from the table.
-     * @return the number of items actually removed.
-     */
-    private int nextRemoval(int maximumToRemove) {
-        ArrayList result = new ArrayList(maximumToRemove);
-
-        int counter = maximumToRemove;
-
-        Iterator iter = pendingRemovals.iterator();
-        while (iter.hasNext() && counter > 0) {
-            Object next = iter.next();
-
-            result.add(next);
-
-            if (lastVisible != null && lastVisible.equals(next)) {
-                lastDirty = true;
-            }
-
-            iter.remove();
-            counter--;
-        }
-
-        synchronized (visibleItems) {
-            visibleItems.removeAll(result);
-        }
-
-        viewer.remove(result.toArray());
-
-        if (lastDirty) {
-            lastVisible = viewer
-                    .getElementAt(viewer.getTable().getItemCount() - 1);
-        }
-
-        return result.size();
-    }
-
-    /**
-     * Applies the next set of insertions into the middle of the queue.
-     * 
-     * @param maximumToInsert
-     * @return
-     */
-    private int nextInsertionInMiddle(int maximumToInsert) {
-
-        refreshQueues(new NullProgressMonitor());
-
-        Collection result = SortUtil.removeFirst(insertionsInMiddle,
-                maximumToInsert);
-
-        synchronized (visibleItems) {
-            visibleItems.addAll(result);
-        }
-
-        // We manually compute the insertion position because setting a sorter on 
-        // the viewer would force a refresh, which can be very slow with a large number
-        // of items.
-
-        Iterator iter = result.iterator();
-        while (iter.hasNext()) {
-            Object element = iter.next();
-
-            int insertionPos = getInsertPosition(element);
-            viewer.insert(element, insertionPos);
-        }
-
-        return result.size();
-    }
-
-    /**
-     * Applies the next insertion at the end of the table. Returns the number of
-     * items actually inserted.
-     * 
-     * @param maximumToInsert maximum number of items to insert into the end
-     * of the table
-     * @return the number of items actually inserted into the table
-     */
-    private int nextInsertionAtEnd(int maximumToInsert) {
-        refreshQueues(new NullProgressMonitor());
-
-        List result = new ArrayList(maximumToInsert);
-
-        Iterator iter = insertionsAtEnd.iterator();
-        for (int counter = 0; counter < maximumToInsert && iter.hasNext(); counter++) {
-            lastVisible = iter.next();
-
-            result.add(lastVisible);
-
-            iter.remove();
-        }
-
-        synchronized (visibleItems) {
-            visibleItems.addAll(result);
-        }
-
-        viewer.add(result.toArray());
-
-        return result.size();
-    }
-
-    /**
-     * Clears the set of visible items, and reinserts everything from scratch.
-     */
-    public void reset() {
-        synchronized (visibleItems) {
-            visibleItems.removeAll(pendingRemovals);
-
-            insertionsInMiddle.addAll(visibleItems);
-            lastVisible = null;
-            lastDirty = true;
-
-            visibleItems.clear();
-        }
-        pendingRemovals.clear();
-        hasPendingChanges = true;
-    }
-
-    /**
-     * Returns true iff there are pending changes remaining to be applied.
-     * 
-     * @return true iff there are pending changes to be applied to the table
-     */
-    public boolean hasPendingChanges() {
-        return hasPendingChanges;
-    }
-
-    /**
-     * Returns an estimate of the work remaining (the result is meaningful with respect
-     * to the return value of nextUpdate())
-     * 
-     * @return an estimate of the work remaining
-     */
-    public int workRemaining() {
-        return pendingRemovals.size() + insertionsAtEnd.size()
-                + insertionsInMiddle.size() + pendingChanges.size();
-    }
-
-    /**
-     * 
-     * Cancels all pending insertions and removals.
-     */
-    public void cancelPending() {
-        insertionsAtEnd.clear();
-        insertionsInMiddle.clear();
-        pendingRemovals.clear();
-        hasPendingChanges = false;
-    }
-
-    public void setComparator(Comparator c) {
-        if (sortOrder == c) {
-            return;
-        }
-
-        sortOrder = c;
-
-        lastVisible = null;
-
-        insertionsInMiddle.addAll(insertionsAtEnd);
-        insertionsAtEnd = newEndSet();
-        lastDirty = true;
-
-        reset();
-    }
-
-    /**
-     * Applies any deferred sorting. 
-     * @param mon
-     */
-    public void refreshQueues(IProgressMonitor mon) {
-        if (lastDirty) {
-            if (mon.isCanceled()) {
-                return;
-            }
-            HashSet newInsertionsInMiddle = new HashSet();
-            SortUtil.partition(newInsertionsInMiddle, insertionsAtEnd,
-                    insertionsAtEnd, insertionsInMiddle, sortOrder,
-                    lastVisible, mon);
-
-            if (mon.isCanceled()) {
-                insertionsInMiddle.removeAll(insertionsAtEnd);
-            } else {
-                insertionsInMiddle = newInsertionsInMiddle;
-                lastDirty = false;
-            }
-        }
-    }
-
-    /**
-     * Determines the insertion position for the given element in the table. Note
-     * that this is essentially the same as TableViewer.getInsertPosition, but we
-     * need to do it here because if we set a sorter on the TableViewer, this will
-     * force a refresh of the table which can be extremely slow.
-     * 
-     * @param element object whose insertion position is being computed.
-     * @return
-     */
-    private int getInsertPosition(Object element) {
-        Table table = viewer.getTable();
-        if (sortOrder == null)
-            return table.getItemCount();
-        int count = table.getItemCount();
-        int min = 0, max = count - 1;
-        while (min <= max) {
-            int mid = (min + max) / 2;
-            Object data = table.getItem(mid).getData();
-            int compare = sortOrder.compare(data, element);
-            if (compare == 0) {
-                // find first item > element
-                while (compare == 0) {
-                    ++mid;
-                    if (mid >= count) {
-                        break;
-                    }
-                    data = table.getItem(mid).getData();
-                    compare = sortOrder.compare(data, element);
-                }
-                return mid;
-            }
-            if (compare < 0)
-                min = mid + 1;
-            else
-                max = mid - 1;
-        }
-        return min;
-    }
-
-    /**
-     * Performs a single update to the viewer. Based on the contents of the pending* queues,
-     * items will either be removed, added, or refreshed in the viewer (in that order). This
-     * should only be called within a synchronized block, since the various queues shouldn't
-     * be modified during an update. This method is invoked repeatedly by jobs to gradually
-     * apply the pending changes.
-     */
-    public int nextUpdate() {
-
-        int pendingRemovalsSize = pendingRemovals.size();
-
-        if (pendingRemovalsSize > 0) {
-            int currentSize = countVisibleItems();
-            // Determine if we should remove incrementally or rebuild the table from scratch.
-            int finalSize = currentSize - pendingRemovalsSize;
-
-            if (finalSize * finalSize * 2 <= currentSize * currentSize) {
-
-                // If we're removing enough items that it would be faster just to rebuild
-                // the table from scratch, do it that way.
-
-                reset();
-                getViewer().refresh();
-
-                return 0;
-            }
-
-            return nextRemoval(nextUpdateSize());
-        } else if (insertionsInMiddle.size() > 0) {
-            return nextInsertionInMiddle(nextUpdateSize());
-        } else if (insertionsAtEnd.size() > 0) {
-            return nextInsertionAtEnd(MAX_UPDATE);
-        } else if (pendingChanges.size() > 0) {
-            return nextChange(MAX_UPDATE);
-        }
-
-        hasPendingChanges = false;
-
-        return 0;
-    }
-
-    /**
-     * @return
-     */
-    int countVisibleItems() {
-        synchronized (visibleItems) {
-            return visibleItems.size();
-        }
-    }
-
-    /**
-     * Returns the number of items that should be added or removed in the next
-     * incremental update. This is used for the operations whose runtime increases
-     * with the size of the visible items.
-     * 
-     * @return the number of changes that should be applied in the next update
-     */
-    private int nextUpdateSize() {
-        int size = GROWTH_LIMIT * (MAX_UPDATE - MIN_UPDATE)
-                / (GROWTH_LIMIT + countVisibleItems()) + MIN_UPDATE;
-
-        return size;
-    }
-
-    /**
-     * Returns the TableViewer that is being populated.
-     * 
-     * @return the TableViewer that is being modified.
-     */
-    public TableViewer getViewer() {
-        return viewer;
-    }
-
-    /**
-     * Returns a new empty set to be used for insertionsAtEnd
-     * 
-     * @return
-     */
-    private Set newEndSet() {
-        if (sortOrder == null) {
-            return new HashSet();
-        } else {
-            return new TreeSet(sortOrder);
-        }
-    }
-
-    /**
-     * Removes all the given items from the target collection, and updates
-     * the given progress monitor by the given amount. If the monitor is cancelled,
-     * no changes are made to the target collection.
-     *  
-     * @param target items will be removed from this collection
-     * @param toRemove items to be removed from the collection
-     * @param mon progress monitor to be updated 
-     * @param worked amount to update the monitor
-     */
-    private static void removeWithProgress(Collection target,
-            Collection toRemove, IProgressMonitor mon, int worked) {
-        if (mon.isCanceled()) {
-            return;
-        }
-
-        target.removeAll(toRemove);
-
-        mon.worked(worked);
-    }
-
-    /**
-     * Inserts all the given items into the target collection, and updates
-     * the progress monitor. If the monitor is cancelled, no changes will
-     * be made to the target.
-     * 
-     * @param target collection into which items will be inserted
-     * @param toInsert items to be inserted into the collection
-     * @param mon progress monitor that will be updated
-     * @param worked amount to update the progress monitor
-     */
-    private static void addWithProgress(Collection target, Collection toInsert,
-            IProgressMonitor mon, int worked) {
-        if (mon.isCanceled()) {
-            return;
-        }
-
-        target.addAll(toInsert);
-
-        mon.worked(worked);
-    }
-
-    /**
-     * @return
-     */
-    public Comparator getSorter() {
-        return sortOrder;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java
deleted file mode 100644
index c4a1f5d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogBookmarkFilter.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class DialogBookmarkFilter extends
-        org.eclipse.ui.views.markers.internal.DialogMarkerFilter {
-
-    private DescriptionGroup descriptionGroup;
-
-    private class DescriptionGroup {
-        private Label descriptionLabel;
-
-        private Combo combo;
-
-        private Text description;
-
-        private String contains = Messages.getString("filtersDialog.contains"); //$NON-NLS-1$
-
-        private String doesNotContain = Messages
-                .getString("filtersDialog.doesNotContain"); //$NON-NLS-1$
-
-        public DescriptionGroup(Composite parent, MnemonicAssigner mnemonics) {
-            descriptionLabel = new Label(parent, SWT.NONE);
-            descriptionLabel.setFont(parent.getFont());
-            descriptionLabel.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.descriptionLabel"))); //$NON-NLS-1$
-
-            combo = new Combo(parent, SWT.READ_ONLY);
-            combo.setFont(parent.getFont());
-            combo.add(contains);
-            combo.add(doesNotContain);
-            combo.addSelectionListener(selectionListener);
-            // Prevent Esc and Return from closing the dialog when the combo is active.
-            combo.addTraverseListener(new TraverseListener() {
-                public void keyTraversed(TraverseEvent e) {
-                    if (e.detail == SWT.TRAVERSE_ESCAPE
-                            || e.detail == SWT.TRAVERSE_RETURN) {
-                        e.doit = false;
-                    }
-                }
-            });
-
-            description = new Text(parent, SWT.SINGLE | SWT.BORDER);
-            description.setFont(parent.getFont());
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 3;
-            description.setLayoutData(data);
-            description.addModifyListener(new ModifyListener() {
-                public void modifyText(ModifyEvent e) {
-                    DialogBookmarkFilter.this.markDirty();
-                }
-            });
-        }
-
-        public boolean getContains() {
-            return combo.getSelectionIndex() == combo.indexOf(contains);
-        }
-
-        public void setContains(boolean value) {
-            if (value) {
-                combo.select(combo.indexOf(contains));
-            } else {
-                combo.select(combo.indexOf(doesNotContain));
-            }
-        }
-
-        public void setDescription(String text) {
-            if (text == null) {
-                description.setText(""); //$NON-NLS-1$ 
-            } else {
-                description.setText(text);
-            }
-        }
-
-        public String getDescription() {
-            return description.getText();
-        }
-
-        public void updateEnablement() {
-            descriptionLabel.setEnabled(isFilterEnabled());
-            combo.setEnabled(isFilterEnabled());
-            description.setEnabled(isFilterEnabled());
-        }
-    }
-
-    /**
-     * @param parentShell
-     * @param filter
-     */
-    public DialogBookmarkFilter(Shell parentShell, BookmarkFilter filter) {
-        super(parentShell, filter);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected void createAttributesArea(Composite parent, MnemonicAssigner mnemonics) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        GridLayout layout = new GridLayout(5, false);
-        layout.verticalSpacing = 7;
-        composite.setLayout(layout);
-
-        descriptionGroup = new DescriptionGroup(composite, mnemonics);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateFilterFromUI(org.eclipse.ui.views.markerview.MarkerFilter)
-     */
-    protected void updateFilterFromUI() {
-        BookmarkFilter filter = (BookmarkFilter) getFilter();
-
-        filter.setContains(descriptionGroup.getContains());
-        filter.setDescription(descriptionGroup.getDescription().trim());
-
-        super.updateFilterFromUI();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateUIFromFilter(org.eclipse.ui.views.markerview.MarkerFilter)
-     */
-    protected void updateUIFromFilter() {
-        BookmarkFilter filter = (BookmarkFilter) getFilter();
-
-        descriptionGroup.setContains(filter.getContains());
-        descriptionGroup.setDescription(filter.getDescription());
-
-        super.updateUIFromFilter();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateEnabledState()
-     */
-    protected void updateEnabledState() {
-        super.updateEnabledState();
-        descriptionGroup.updateEnablement();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#resetPressed()
-     */
-    protected void resetPressed() {
-        descriptionGroup.setContains(BookmarkFilter.DEFAULT_CONTAINS);
-        descriptionGroup.setDescription(BookmarkFilter.DEFAULT_DESCRIPTION);
-
-        super.resetPressed();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java
deleted file mode 100644
index 8ad78b7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerFilter.java
+++ /dev/null
@@ -1,801 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.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.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * Dialog which allows user to modify all settings of an org.eclipse.ui.views.MarkerFilter object.
- * Not intended to be subclassed or instantiated by clients.
- */
-public class DialogMarkerFilter extends Dialog {
-    /**
-     * button IDs
-     */
-    static final int RESET_ID = IDialogConstants.CLIENT_ID;
-
-    static final int SELECT_WORKING_SET_ID = IDialogConstants.CLIENT_ID + 1;
-
-    static final int SELECT_ALL_ID = IDialogConstants.CLIENT_ID + 2;
-
-    static final int DESELECT_ALL_ID = IDialogConstants.CLIENT_ID + 3;
-
-    private class TypesLabelProvider 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 (!(element instanceof MarkerType)) {
-                return ""; //$NON-NLS-1$
-            }
-            MarkerType type = (MarkerType) element;
-            if (columnIndex == 0) {
-                return type.getLabel();
-            }
-            if (columnIndex == 1) {
-                String superTypes = ""; //$NON-NLS-1$
-                MarkerType[] supers = type.getSupertypes();
-                for (int i = 0; i < supers.length; i++) {
-                    superTypes += supers[i].getLabel();
-                    if (i < supers.length - 1) {
-                        superTypes += "; "; //$NON-NLS-1$
-                    }
-                }
-                return superTypes;
-            }
-            return ""; //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Creates and manages a group of widgets for selecting a working 
-     * set marker filter.
-     */
-    private class WorkingSetGroup {
-        private Button button;
-
-        private Button selectButton;
-
-        /**
-         * Creates the working set filter selection widgets.
-         * 
-         * @param parent the parent composite of the working set widgets
-         */
-        WorkingSetGroup(Composite parent, MnemonicAssigner mnemonics) {
-            // radio button has to be part of main radio button group
-            button = createRadioButton(parent, Messages
-                    .getString("filtersDialog.noWorkingSet")); //$NON-NLS-1$
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            button.setLayoutData(data);
-
-            Composite composite = new Composite(parent, SWT.NONE);
-            composite.setFont(parent.getFont());
-            GridLayout layout = new GridLayout();
-            Button radio = new Button(parent, SWT.RADIO);
-            layout.marginWidth = radio.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-            layout.marginHeight = 0;
-            radio.dispose();
-            composite.setLayout(layout);
-            selectButton = createButton(composite, SELECT_WORKING_SET_ID,
-                    mnemonics.assign(Messages.getString("filtersDialog.workingSetSelect")), false); //$NON-NLS-1$
-        }
-
-        /**
-         * Returns wether or not a working set filter should be used
-         * 
-         * @return 
-         * 	true=a working set filter should be used
-         * 	false=a working set filter should not be used
-         */
-        boolean getSelection() {
-            return button.getSelection();
-        }
-
-        /**
-         * Returns the selected working set filter or null if none 
-         * is selected.
-         * 
-         * @return the selected working set filter or null if none 
-         * 	is selected.
-         */
-        IWorkingSet getWorkingSet() {
-            return (IWorkingSet) button.getData();
-        }
-
-        /**
-         * Sets the working set filter selection.
-         * 
-         * @param selected true=a working set filter should be used
-         * 	false=no working set filter should be used
-         */
-        void setSelection(boolean selected) {
-            button.setSelection(selected);
-            if (selected) {
-                anyResourceButton.setSelection(false);
-                anyResourceInSameProjectButton.setSelection(false);
-                selectedResourceButton.setSelection(false);
-                selectedResourceAndChildrenButton.setSelection(false);
-            }
-        }
-
-        /**
-         * Opens the working set selection dialog.
-         */
-        void selectPressed() {
-            IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench()
-                    .getWorkingSetManager().createWorkingSetSelectionDialog(
-                            getShell(), false);
-            IWorkingSet workingSet = getWorkingSet();
-
-            if (workingSet != null) {
-                dialog.setSelection(new IWorkingSet[] { workingSet });
-            }
-            if (dialog.open() == Window.OK) {
-                markDirty();
-                IWorkingSet[] result = dialog.getSelection();
-                if (result != null && result.length > 0) {
-                    setWorkingSet(result[0]);
-                } else {
-                    setWorkingSet(null);
-                }
-                if (getSelection() == false) {
-                    setSelection(true);
-                }
-            }
-        }
-
-        /**
-         * Sets the specified working set.
-         * 
-         * @param workingSet the working set 
-         */
-        void setWorkingSet(IWorkingSet workingSet) {
-            button.setData(workingSet);
-            if (workingSet != null) {
-                button.setText(Messages.format("filtersDialog.workingSet", //$NON-NLS-1$
-                        new Object[] { workingSet.getName() }));
-            } else {
-                button
-                        .setText(Messages
-                                .getString("filtersDialog.noWorkingSet")); //$NON-NLS-1$
-            }
-        }
-
-        void setEnabled(boolean enabled) {
-            button.setEnabled(enabled);
-            selectButton.setEnabled(enabled);
-        }
-    }
-
-    private MarkerFilter filter;
-
-    private CheckboxTableViewer typesViewer;
-
-    private Button filterEnabledButton;
-
-    private Button filterOnMarkerLimit;
-
-    private Button anyResourceButton;
-
-    private Button anyResourceInSameProjectButton;
-
-    private Button selectedResourceButton;
-
-    private Button selectedResourceAndChildrenButton;
-
-    private Button selectAllButton;
-
-    private Button deselectAllButton;
-
-    private WorkingSetGroup workingSetGroup;
-
-    private Text markerLimit;
-
-    private boolean dirty = false;
-
-    protected SelectionListener selectionListener = new SelectionAdapter() {
-        public void widgetSelected(SelectionEvent e) {
-            DialogMarkerFilter.this.widgetSelected(e);
-        }
-    };
-
-    protected ICheckStateListener checkStateListener = new ICheckStateListener() {
-        public void checkStateChanged(CheckStateChangedEvent event) {
-            DialogMarkerFilter.this.checkStateChanged(event);
-        }
-    };
-
-    /**
-     * Creates a new filters dialog.
-     */
-    DialogMarkerFilter(Shell parentShell, MarkerFilter filter) {
-        super(parentShell);
-        this.filter = filter;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void buttonPressed(int buttonId) {
-        if (buttonId == RESET_ID) {
-            resetPressed();
-            markDirty();
-        } else if (buttonId == SELECT_WORKING_SET_ID) {
-            workingSetGroup.selectPressed();
-        } else if (buttonId == SELECT_ALL_ID) {
-            typesViewer.setAllChecked(true);
-        } else if (buttonId == DESELECT_ALL_ID) {
-            typesViewer.setAllChecked(false);
-        } else {
-            super.buttonPressed(buttonId);
-        }
-    }
-
-    /**
-     * This method is called when a button is checked or unchecked. It updates the enablement
-     * state of all widgets and marks the dialog as dirty.
-     */
-    void checkStateChanged(CheckStateChangedEvent event) {
-        updateEnabledState();
-        markDirty();
-    }
-
-    /**
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText(Messages.getString("filtersDialog.title")); //$NON-NLS-1$
-    }
-
-    protected void createResetArea(Composite parent, MnemonicAssigner mnemonics) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-
-        Button reset = new Button(composite, SWT.PUSH);
-        reset.setText(mnemonics.assign(Messages.getString("restoreDefaults.text"))); //$NON-NLS-1$
-        reset.setData(new Integer(RESET_ID));
-
-        reset.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                buttonPressed(((Integer) event.widget.getData()).intValue());
-            }
-        });
-
-        reset.setFont(composite.getFont());
-        setButtonLayoutData(reset);
-    }
-
-    /**
-     * Creates a check box button with the given parent and text.
-     *
-     * @param parent the parent composite
-     * @param text the text for the check box
-     * @param grabRow <code>true</code>to grab the remaining horizontal space, <code>false</code> otherwise
-     * @return the check box button
-     */
-    protected Button createCheckbox(Composite parent, String text,
-            boolean grabRow) {
-        Button button = new Button(parent, SWT.CHECK);
-        if (grabRow) {
-            GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-            button.setLayoutData(gridData);
-        }
-        button.setText(text);
-        button.addSelectionListener(selectionListener);
-        button.setFont(parent.getFont());
-        return button;
-    }
-
-    /**
-     * Creates a combo box with the given parent, items, and selection
-     *
-     * @param parent the parent composite
-     * @param items the items for the combo box
-     * @param selectionIndex the index of the item to select
-     * @return the combo box
-     */
-    protected Combo createCombo(Composite parent, String[] items,
-            int selectionIndex) {
-        Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-        combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        combo.setFont(parent.getFont());
-        combo.setItems(items);
-        combo.select(selectionIndex);
-        combo.addSelectionListener(selectionListener);
-        return combo;
-    }
-
-    /**
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        MnemonicAssigner mnemonics = new MnemonicAssigner();
-        
-        createOnOffArea(composite, mnemonics);
-        createMarkerLimitArea(composite, mnemonics);
-        createTypesArea(composite, mnemonics);
-        createResourceArea(composite, mnemonics);
-        createAttributesArea(composite, mnemonics);
-        createResetArea(composite, mnemonics);
-        createSeparatorLine(composite);
-
-        updateUIFromFilter();
-
-        return composite;
-    }
-
-    /**
-     * Creates a separator line above the OK/Cancel buttons bar
-     * 
-     * @param parent the parent composite
-     */
-    protected void createSeparatorLine(Composite parent) {
-        // Build the separator line
-        Label separator = new Label(parent, SWT.HORIZONTAL | SWT.SEPARATOR);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalSpan = 1;
-        separator.setLayoutData(gd);
-    }
-
-    /**
-     * Creates a radio button with the given parent and text.
-     *
-     * @param parent the parent composite
-     * @param text the text for the check box
-     * @return the radio box button
-     */
-    protected Button createRadioButton(Composite parent, String text) {
-        Button button = new Button(parent, SWT.RADIO);
-        button.setText(text);
-        button.setFont(parent.getFont());
-        button.addSelectionListener(selectionListener);
-        return button;
-    }
-
-    /**
-     * Creates the area showing which resources should be considered.
-     *
-     * @param parent the parent composite
-     */
-    protected void createResourceArea(Composite parent, MnemonicAssigner mnemonics) {
-        Composite group = new Composite(parent, SWT.NONE);
-        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        group.setLayout(new GridLayout());
-        group.setFont(parent.getFont());
-        anyResourceButton = createRadioButton(group, mnemonics.assign(Messages
-                .getString("filtersDialog.anyResource"))); //$NON-NLS-1$
-        anyResourceInSameProjectButton = createRadioButton(group, mnemonics.assign(Messages
-                .getString("filtersDialog.anyResourceInSameProject"))); //$NON-NLS-1$ // added by cagatayk@acm.org
-        selectedResourceButton = createRadioButton(group, mnemonics.assign(Messages
-                .getString("filtersDialog.selectedResource"))); //$NON-NLS-1$
-        selectedResourceAndChildrenButton = createRadioButton(group, mnemonics.assign(Messages
-                .getString("filtersDialog.selectedAndChildren"))); //$NON-NLS-1$
-        workingSetGroup = new WorkingSetGroup(group, mnemonics);
-    }
-
-    /**
-     * Creates the area showing which marker types should be included.
-     *
-     * @param parent the parent composite
-     */
-    protected void createTypesArea(Composite parent, MnemonicAssigner mnemonics) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        GridLayout layout = new GridLayout();
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(mnemonics.assign(Messages.getString("filtersDialog.showItemsOfType"))); //$NON-NLS-1$
-        label.setFont(font);
-
-        Table table = new Table(composite, SWT.CHECK | SWT.H_SCROLL
-                | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-        table.setLinesVisible(true);
-        table.setHeaderVisible(true);
-        TableLayout tableLayout = new TableLayout();
-        table.setLayout(tableLayout);
-        tableLayout.addColumnData(new ColumnPixelData(150, true));
-        TableColumn tc = new TableColumn(table, SWT.NONE, 0);
-        tc.setText(Messages.getString("filtersDialog.type.columnHeader")); //$NON-NLS-1$
-        tableLayout.addColumnData(new ColumnPixelData(224, true));
-        tc = new TableColumn(table, SWT.NONE, 1);
-        tc.setText(Messages.getString("filtersDialog.superTypecolumnHeader")); //$NON-NLS-1$
-        typesViewer = new CheckboxTableViewer(table);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        gridData.heightHint = 105;
-        gridData.widthHint = 350;
-        typesViewer.getTable().setFont(font);
-        typesViewer.getControl().setLayoutData(gridData);
-        typesViewer.setContentProvider(getContentProvider());
-        typesViewer.setLabelProvider(getLabelProvider());
-        typesViewer.setSorter(getSorter());
-        typesViewer.addCheckStateListener(checkStateListener);
-        typesViewer.setInput(filter.getRootTypes().toArray());
-
-        Composite buttonComposite = new Composite(composite, SWT.NONE);
-        GridLayout buttonLayout = new GridLayout();
-        buttonLayout.marginWidth = 0;
-        buttonComposite.setLayout(buttonLayout);
-        selectAllButton = createButton(buttonComposite, SELECT_ALL_ID, mnemonics.assign(Messages
-                .getString("filtersDialog.selectAll")), //$NON-NLS-1$ 
-                false);
-        deselectAllButton = createButton(buttonComposite, DESELECT_ALL_ID,
-                mnemonics.assign(Messages.getString("filtersDialog.deselectAll")), //$NON-NLS-1$ 
-                false);
-    }
-
-    private IStructuredContentProvider getContentProvider() {
-        return new IStructuredContentProvider() {
-            public Object[] getElements(Object inputElement) {
-                List roots = filter.getRootTypes();
-                List elements = new ArrayList();
-                for (int i = 0; i < roots.size(); i++) {
-                    Object obj = roots.get(i);
-                    if (obj instanceof MarkerType) {
-                        elements.add(obj);
-                        MarkerType[] subTypes = ((MarkerType) obj)
-                                .getAllSubTypes();
-                        for (int j = 0; j < subTypes.length; j++) {
-                            MarkerType subType = subTypes[j];
-                            if (!elements.contains(subType)) {
-                                elements.add(subType);
-                            }
-                        }
-                    }
-                }
-                return elements.toArray();
-            }
-
-            public void dispose() {
-            }
-
-            public void inputChanged(Viewer viewer, Object oldInput,
-                    Object newInput) {
-            }
-        };
-    }
-
-    /**
-     * Creates the filter enablement area.
-     * 
-     * @param parent the parent composite
-     */
-    protected void createOnOffArea(Composite parent, MnemonicAssigner mnemonics) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        composite.setFont(font);
-        composite.setLayout(new GridLayout());
-        filterEnabledButton = createCheckbox(composite, mnemonics.assign(Messages
-                .getString("filtersDialog.onOff")), //$NON-NLS-1$
-                false);
-        filterEnabledButton.setFont(composite.getFont());
-        filterEnabledButton.setLayoutData(new GridData());
-        filterEnabledButton.addSelectionListener(selectionListener);
-    }
-
-    /**
-     * Creates the area where the user can specify a maximum number of items
-     * to display in the table.
-     * 
-     * @param parent the parent composite
-     */
-    protected void createMarkerLimitArea(Composite parent, MnemonicAssigner mnemonics) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        composite.setFont(font);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        filterOnMarkerLimit = createCheckbox(composite, mnemonics.assign(Messages
-                .getString("filtersDialog.limitVisibleMarkersTo")), //$NON-NLS-1$
-                false);
-        filterOnMarkerLimit.setFont(composite.getFont());
-        filterOnMarkerLimit.setLayoutData(new GridData());
-        filterOnMarkerLimit.addSelectionListener(selectionListener);
-        markerLimit = new Text(composite, SWT.SINGLE | SWT.BORDER);
-        markerLimit.setTextLimit(6);
-        GridData gridData = new GridData();
-        gridData.widthHint = convertWidthInCharsToPixels(10);
-        markerLimit.setLayoutData(gridData);
-        markerLimit.setFont(font);
-        markerLimit.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                markDirty();
-            }
-        });
-    }
-
-    /**
-     * This method is intended to be overridden by subclasses of FiltersDialog. The
-     * attributes area will be created just above the Restore Defaults button.
-     * 
-     * @param parent the parent Composite
-     */
-    protected void createAttributesArea(Composite parent, MnemonicAssigner mnemonics) {
-    }
-
-    private ILabelProvider getLabelProvider() {
-        return new TypesLabelProvider();
-    }
-
-    /**
-     * Returns the selected marker types.
-     *
-     * @return the selected marker types
-     */
-    protected List getSelectedTypes() {
-        return Arrays.asList(typesViewer.getCheckedElements());
-    }
-
-    protected ViewerSorter getSorter() {
-        return new ViewerSorter() {
-            public int compare(Viewer viewer, Object e1, Object e2) {
-                MarkerType t1 = (MarkerType) e1;
-                MarkerType t2 = (MarkerType) e2;
-                return collator.compare(t1.getLabel(), t2.getLabel());
-            }
-        };
-    }
-
-    /**
-     * Updates the filter from the UI state.
-     * Must be done here rather than by extending open()
-     * because after super.open() is called, the widgetry is disposed.
-     */
-    protected void okPressed() {
-        try {
-            int markerLimit = Integer.parseInt(this.markerLimit.getText());
-
-            if (markerLimit < 1) {
-                throw new NumberFormatException();
-            }
-
-            updateFilterFromUI();
-            super.okPressed();
-        } catch (NumberFormatException eNumberFormat) {
-            MessageBox messageBox = new MessageBox(getShell(), SWT.OK
-                    | SWT.APPLICATION_MODAL | SWT.ICON_ERROR);
-            messageBox.setText(Messages
-                    .getString("filtersDialog.titleMarkerLimitInvalid")); //$NON-NLS-1$
-            messageBox.setMessage(Messages
-                    .getString("filtersDialog.messageMarkerLimitInvalid")); //$NON-NLS-1$
-            messageBox.open();
-
-            if (markerLimit.forceFocus()) {
-                markerLimit.setSelection(0, markerLimit.getCharCount());
-                markerLimit.showSelection();
-            }
-        }
-    }
-
-    /**
-     * Handles a press of the Reset button.
-     * Updates the UI state to correspond to a reset filter,
-     * but doesn't actually reset our filter.
-     */
-    protected void resetPressed() {
-        filterEnabledButton
-                .setSelection(MarkerFilter.DEFAULT_ACTIVATION_STATUS);
-        filterOnMarkerLimit
-                .setSelection(MarkerFilter.DEFAULT_FILTER_ON_MARKER_LIMIT);
-        markerLimit.setText(String.valueOf(MarkerFilter.DEFAULT_MARKER_LIMIT));
-        typesViewer.setAllChecked(true);
-        int onResource = MarkerFilter.DEFAULT_ON_RESOURCE;
-        anyResourceButton
-                .setSelection(onResource == MarkerFilter.ON_ANY_RESOURCE);
-        anyResourceInSameProjectButton
-                .setSelection(onResource == MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT);
-        selectedResourceButton
-                .setSelection(onResource == MarkerFilter.ON_SELECTED_RESOURCE_ONLY);
-        selectedResourceAndChildrenButton
-                .setSelection(onResource == MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-        workingSetGroup.setSelection(onResource == MarkerFilter.ON_WORKING_SET);
-        updateEnabledState();
-    }
-
-    /**
-     * Sets the selected marker types.
-     *
-     * @param markerTypes
-     */
-    void setSelectedTypes(List markerTypes) {
-        typesViewer.setCheckedElements(new Object[0]);
-        for (int i = 0; i < markerTypes.size(); i++) {
-            Object obj = markerTypes.get(i);
-            if (obj instanceof MarkerType) {
-                typesViewer.setChecked(obj, true);
-            }
-        }
-    }
-
-    /**
-     * Updates the enabled state of the widgetry.
-     */
-    protected void updateEnabledState() {
-        filterOnMarkerLimit.setEnabled(isFilterEnabled());
-        markerLimit.setEnabled(isFilterEnabled()
-                && filterOnMarkerLimit.getSelection());
-
-        typesViewer.getTable().setEnabled(isFilterEnabled());
-        selectAllButton.setEnabled(isFilterEnabled()
-                && typesViewer.getTable().getItemCount() > 0);
-        deselectAllButton.setEnabled(isFilterEnabled()
-                && typesViewer.getTable().getItemCount() > 0);
-
-        anyResourceButton.setEnabled(isFilterEnabled());
-        anyResourceInSameProjectButton.setEnabled(isFilterEnabled());
-        selectedResourceButton.setEnabled(isFilterEnabled());
-        selectedResourceAndChildrenButton.setEnabled(isFilterEnabled());
-        workingSetGroup.setEnabled(isFilterEnabled());
-    }
-
-    /**
-     * Updates the given filter from the UI state.
-     */
-    protected void updateFilterFromUI() {
-        filter.setEnabled(filterEnabledButton.getSelection());
-
-        filter.setSelectedTypes(getSelectedTypes());
-
-        if (selectedResourceButton.getSelection())
-            filter.setOnResource(MarkerFilter.ON_SELECTED_RESOURCE_ONLY);
-        else if (selectedResourceAndChildrenButton.getSelection())
-            filter
-                    .setOnResource(MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-        else if (anyResourceInSameProjectButton.getSelection())
-            filter.setOnResource(MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT);
-        else if (workingSetGroup.getSelection())
-            filter.setOnResource(MarkerFilter.ON_WORKING_SET);
-        else
-            filter.setOnResource(MarkerFilter.ON_ANY_RESOURCE);
-
-        filter.setWorkingSet(workingSetGroup.getWorkingSet());
-
-        int markerLimit = MarkerFilter.DEFAULT_MARKER_LIMIT;
-
-        try {
-            markerLimit = Integer.parseInt(this.markerLimit.getText());
-        } catch (NumberFormatException e) {
-        }
-
-        filter.setMarkerLimit(markerLimit);
-        filter.setFilterOnMarkerLimit(filterOnMarkerLimit.getSelection());
-    }
-
-    /**
-     * Updates the UI state from the given filter.
-     */
-    protected void updateUIFromFilter() {
-        filterEnabledButton.setSelection(filter.isEnabled());
-
-        setSelectedTypes(filter.getSelectedTypes());
-
-        int on = filter.getOnResource();
-        anyResourceButton.setSelection(on == MarkerFilter.ON_ANY_RESOURCE);
-        anyResourceInSameProjectButton
-                .setSelection(on == MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT);
-        selectedResourceButton
-                .setSelection(on == MarkerFilter.ON_SELECTED_RESOURCE_ONLY);
-        selectedResourceAndChildrenButton
-                .setSelection(on == MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-        workingSetGroup.setSelection(on == MarkerFilter.ON_WORKING_SET);
-        workingSetGroup.setWorkingSet(filter.getWorkingSet());
-
-        markerLimit.setText("" + filter.getMarkerLimit()); //$NON-NLS-1$
-        filterOnMarkerLimit.setSelection(filter.getFilterOnMarkerLimit());
-
-        updateEnabledState();
-    }
-
-    /**
-     * Handles selection on a check box or combo box.
-     */
-    protected void widgetSelected(SelectionEvent e) {
-        updateEnabledState();
-        markDirty();
-    }
-
-    /**
-     * @return <code>true</code> if the dirty flag has been set otherwise
-     * <code>false</code>.
-     */
-    boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Marks the dialog as dirty.
-     */
-    void markDirty() {
-        dirty = true;
-    }
-
-    public void setFilter(MarkerFilter newFilter) {
-        filter = newFilter;
-        updateUIFromFilter();
-    }
-
-    /**
-     * @return the MarkerFilter associated with the dialog.
-     */
-    public MarkerFilter getFilter() {
-        return filter;
-    }
-
-    /**
-     * @return <code>true</code> if the filter's enablement button is checked 
-     * otherwise <code>false</code>.
-     */
-    protected boolean isFilterEnabled() {
-        return (filterEnabledButton == null)
-                || filterEnabledButton.getSelection();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
deleted file mode 100644
index e6ec0ef..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogMarkerProperties.java
+++ /dev/null
@@ -1,583 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.StatusUtil;
-
-/**
- * Shows the properties of a new or existing marker
- */
-class DialogMarkerProperties extends Dialog {
-
-    /**
-     * The marker being shown, or <code>null</code> for a new marker
-     */
-    private IMarker marker = null;
-
-    /**
-     * The resource on which to create a new marker
-     */
-    private IResource resource = null;
-
-    /**
-     * The type of marker to be created
-     */
-    private String type = IMarker.MARKER;
-
-    /**
-     * The initial attributes to use when creating a new marker
-     */
-    private Map initialAttributes = null;
-
-    /**
-     * The text control for the Description field.
-     */
-    private Text descriptionText;
-
-    /**
-     * The control for the Creation Time field.
-     */
-    private Label creationTime;
-
-    /**
-     * The text control for the Resource field.
-     */
-    private Text resourceText;
-
-    /**
-     * The text control for the Folder field.
-     */
-    private Text folderText;
-
-    /**
-     * The text control for the Location field.
-     */
-    private Text locationText;
-
-    /**
-     * Dirty flag.  True if any changes have been made.
-     */
-    private boolean dirty;
-
-    private String title;
-
-    /**
-     * Creates the dialog.  By default this dialog creates a new marker.
-     * To set the resource and initial attributes for the new marker, 
-     * use <code>setResource</code> and <code>setInitialAttributes</code>.
-     * To show or modify an existing marker, use <code>setMarker</code>.
-     * 
-     * @param shell the parent shell
-     */
-    DialogMarkerProperties(Shell parentShell) {
-        super(parentShell);
-    }
-
-    /**
-     * Creates the dialog.  By default this dialog creates a new marker.
-     * To set the resource and initial attributes for the new marker, 
-     * use <code>setResource</code> and <code>setInitialAttributes</code>.
-     * To show or modify an existing marker, use <code>setMarker</code>.
-     * 
-     * @param shell the parent shell
-     * @param title the title of the dialog
-     */
-    DialogMarkerProperties(Shell parentShell, String title) {
-        super(parentShell);
-        this.title = title;
-    }
-
-    /**
-     * @see org.eclipse.jface.window.Window#create()
-     */
-    public void create() {
-        super.create();
-    }
-
-    /**
-     * Sets the marker to show or modify.
-     * 
-     * @param marker the marker, or <code>null</code> to create a new marker
-     */
-    void setMarker(IMarker marker) {
-        this.marker = marker;
-        if (marker != null) {
-            try {
-                type = marker.getType();
-            } catch (CoreException e) {
-            }
-        }
-    }
-
-    /**
-     * Returns the marker being created or modified.
-     * For a new marker, this returns <code>null</code> until
-     * the dialog returns, but is non-null after.
-     */
-    IMarker getMarker() {
-        return marker;
-    }
-
-    /**
-     * Sets the resource to use when creating a new marker.
-     * If not set, the new marker is created on the workspace root.
-     */
-    public void setResource(IResource resource) {
-        this.resource = resource;
-    }
-
-    /**
-     * Returns the resource to use when creating a new marker,
-     * or <code>null</code> if none has been set.
-     * If not set, the new marker is created on the workspace root.
-     */
-    IResource getResource() {
-        return resource;
-    }
-
-    /**
-     * Sets initial attributes to use when creating a new marker.
-     * If not set, the new marker is created with default attributes.
-     */
-    void setInitialAttributes(Map initialAttributes) {
-        this.initialAttributes = initialAttributes;
-    }
-
-    /**
-     * Returns the initial attributes to use when creating a new marker,
-     * or <code>null</code> if not set.
-     * If not set, the new marker is created with default attributes.
-     */
-    Map getInitialAttributes() {
-        if (initialAttributes == null) {
-            initialAttributes = new HashMap();
-        }
-        return initialAttributes;
-    }
-
-    /**
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        if (title == null)
-            newShell.setText(Messages.getString("propertiesDialog.title")); //$NON-NLS-1$
-        else
-            newShell.setText(title);
-    }
-
-    /**
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        //initialize resources/properties
-        if (marker != null) {
-            resource = marker.getResource();
-            try {
-                initialAttributes = marker.getAttributes();
-            } catch (CoreException e) {
-            }
-        } else if (resource == null) {
-            resource = ResourcesPlugin.getWorkspace().getRoot();
-        }
-
-        Composite composite = (Composite) super.createDialogArea(parent);
-        initializeDialogUnits(composite);
-        createDescriptionArea(composite);
-        if (marker != null) {
-            createCreationTimeArea(composite);
-        }
-        createAttributesArea(composite);
-        if (resource != null)
-            createResourceArea(composite);
-        updateDialogFromMarker();
-        updateEnablement();
-        return composite;
-    }
-
-    /**
-     * Method createCreationTimeArea.
-     * @param composite
-     */
-    private void createCreationTimeArea(Composite parent) {
-        String creation = Messages
-                .getString("propertiesDialog.creationTime.text");//$NON-NLS-1$
-
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(creation);
-        label.setFont(font);
-
-        creationTime = new Label(composite, SWT.NONE);
-        creationTime.setFont(font);
-    }
-
-    /**
-     * Creates the OK and Cancel buttons.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-                true);
-        createButton(parent, IDialogConstants.CANCEL_ID,
-                IDialogConstants.CANCEL_LABEL, false);
-    }
-
-    /**
-     * Creates the area for the Description field.
-     */
-    private void createDescriptionArea(Composite parent) {
-        Font font = parent.getFont();
-        
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        composite.setLayoutData(gridData);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(Messages.getString("propertiesDialog.description.text")); //$NON-NLS-1$
-        label.setFont(font);
-        int style = SWT.SINGLE | SWT.BORDER;
-        descriptionText = new Text(composite, style);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        gridData.widthHint =  convertHorizontalDLUsToPixels(400);
-        descriptionText.setLayoutData(gridData);
-        descriptionText.setFont(font);
-
-        descriptionText.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                markDirty();
-            }
-        });
-    }
-
-    /**
-     * This method is intended to be overridden by subclasses. The attributes area is created between
-     * the creation time area and the resource area.
-     * 
-     * @param parent the parent composite
-     */
-    protected void createAttributesArea(Composite parent) {
-    }
-
-    /**
-     * Creates the area for the Resource field.
-     */
-    private void createResourceArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        composite.setLayoutData(gridData);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label resourceLabel = new Label(composite, SWT.NONE);
-        resourceLabel.setText(Messages
-                .getString("propertiesDialog.resource.text")); //$NON-NLS-1$
-        resourceLabel.setFont(font);
-        resourceText = new Text(composite, SWT.SINGLE | SWT.WRAP
-                | SWT.READ_ONLY | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        resourceText.setLayoutData(gridData);
-        resourceText.setFont(font);
-
-        Label folderLabel = new Label(composite, SWT.NONE);
-        folderLabel.setText(Messages.getString("propertiesDialog.folder.text")); //$NON-NLS-1$
-        folderLabel.setFont(font);
-        folderText = new Text(composite, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY
-                | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        folderText.setLayoutData(gridData);
-        folderText.setFont(font);
-
-        Label locationLabel = new Label(composite, SWT.NONE);
-        locationLabel.setText(Messages
-                .getString("propertiesDialog.location.text")); //$NON-NLS-1$
-        locationLabel.setFont(font);
-        locationText = new Text(composite, SWT.SINGLE | SWT.WRAP
-                | SWT.READ_ONLY | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        locationText.setLayoutData(gridData);
-        locationText.setFont(font);
-    }
-
-    /**
-     * Updates the dialog from the marker state.
-     */
-    protected void updateDialogFromMarker() {
-        if (marker == null) {
-            updateDialogForNewMarker();
-            return;
-        }
-        descriptionText.setText(Util.getProperty(IMarker.MESSAGE, marker));
-        if (creationTime != null)
-            creationTime.setText(Util.getCreationTime(marker));
-        if (resourceText != null)
-            resourceText.setText(Util.getResourceName(marker));
-        if (folderText != null)
-            folderText.setText(Util.getContainerName(marker));
-        if (locationText != null) {
-            String line = Util.getProperty(IMarker.LINE_NUMBER, marker);
-            if (line.equals("")) //$NON-NLS-1$
-                locationText.setText(""); //$NON-NLS-1$
-            else
-                locationText.setText(Messages.format(
-                        "label.lineNumber", new String[] { line })); //$NON-NLS-1$
-        }
-
-        descriptionText.selectAll();
-    }
-
-    /**
-     * Updates the dialog from the predefined attributes.
-     */
-    protected void updateDialogForNewMarker() {
-        if (resource != null && resourceText != null && folderText != null) {
-            resourceText.setText(resource.getName());
-
-            IPath path = resource.getFullPath();
-            int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-            if (n > 0) {
-                int len = 0;
-                for (int i = 0; i < n; ++i)
-                    len += path.segment(i).length();
-                // account for /'s
-                if (n > 1)
-                    len += n - 1;
-                StringBuffer sb = new StringBuffer(len);
-                for (int i = 0; i < n; ++i) {
-                    if (i != 0)
-                        sb.append('/');
-                    sb.append(path.segment(i));
-                }
-                folderText.setText(sb.toString());
-            }
-        }
-
-        if (initialAttributes != null) {
-            Object description = initialAttributes.get(IMarker.MESSAGE);
-            if (description != null && description instanceof String)
-                descriptionText.setText((String) description);
-            descriptionText.selectAll();
-
-            Object line = initialAttributes.get(IMarker.LINE_NUMBER);
-            if (line != null && line instanceof Integer && locationText != null)
-                locationText.setText(Messages.format(
-                        "label.lineNumber", new Object[] { line })); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Method declared on Dialog
-     */
-    protected void okPressed() {
-        if (marker == null || Util.isEditable(marker)) {
-            saveChanges();
-        }
-        super.okPressed();
-    }
-
-    /**
-     * Sets the dialog's dirty flag to <code>true</code>
-     */
-    protected void markDirty() {
-        dirty = true;
-    }
-
-    /**
-     * @return
-     * <ul>
-     * <li><code>true</code> if the dirty flag has been set to true.</li>
-     * <li><code>false</code> otherwise.</li>
-     * </ul>
-     */
-    protected boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Saves the changes made in the dialog if needed.
-     * Creates a new marker if needed.
-     * Updates the existing marker only if there have been changes.
-     */
-    private void saveChanges() {
-
-        final CoreException[] coreExceptions = new CoreException[1];
-
-        try {
-            final Map attrs = getMarkerAttributes();
-
-            PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
-                    new IRunnableWithProgress() {
-                        /* (non-Javadoc)
-                         * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-                         */
-                        public void run(IProgressMonitor monitor)
-                                throws InvocationTargetException,
-                                InterruptedException {
-                            try {
-
-                                monitor.beginTask("", 100);//$NON-NLS-1$
-                                ResourcesPlugin.getWorkspace().run(
-                                        new IWorkspaceRunnable() {
-                                            public void run(
-                                                    IProgressMonitor monitor)
-                                                    throws CoreException {
-                                                if (marker == null)
-                                                    createMarker(monitor);
-                                                if (isDirty())
-                                                    updateMarker(monitor, attrs);
-                                            }
-                                        }, monitor);
-                                monitor.done();
-                            } catch (CoreException e) {
-                                coreExceptions[0] = e;
-                            }
-                        }
-
-                    });
-        } catch (InvocationTargetException e) {
-            IDEWorkbenchPlugin.log(e.getMessage(), StatusUtil.newStatus(
-                    IStatus.ERROR, e.getMessage(), e));
-            return;
-        }
-
-        catch (InterruptedException e) {
-        }
-
-        if (coreExceptions[0] != null)
-            ErrorDialog
-                    .openError(
-                            getShell(),
-                            Messages.getString("Error"), null, coreExceptions[0].getStatus()); //$NON-NLS-1$
-
-    }
-
-    /**
-     * Creates or updates the marker.  Must be called within a workspace runnable.
-     * @param monitor the monitor we report to. 
-     * @param attrs the attributes from the dialog
-     */
-    private void updateMarker(IProgressMonitor monitor, Map attrs)
-            throws CoreException {
-        // Set the marker attributes from the current dialog field values.
-        // Do not use setAttributes(Map) as that overwrites any attributes
-        // not covered by the dialog.
-
-        int increment = 50 / attrs.size();
-
-        for (Iterator i = attrs.keySet().iterator(); i.hasNext();) {
-            monitor.worked(increment);
-            String key = (String) i.next();
-            Object val = attrs.get(key);
-            marker.setAttribute(key, val);
-        }
-    }
-
-    /**
-     * Returns the marker attributes to save back to the marker, 
-     * based on the current dialog fields.
-     */
-    protected Map getMarkerAttributes() {
-        Map attrs;
-        if (initialAttributes == null) {
-            attrs = initialAttributes;
-        } else {
-            attrs = new HashMap();
-        }
-        attrs.put(IMarker.MESSAGE, descriptionText.getText());
-        return attrs;
-    }
-
-    /**
-     * Create the marker and report progress
-     * to the monitor.
-     * @param monitor
-     * @throws a CoreException
-     */
-    private void createMarker(IProgressMonitor monitor) throws CoreException {
-        if (resource == null)
-            return;
-
-        monitor.worked(10);
-        marker = resource.createMarker(type);
-        monitor.worked(40);
-    }
-
-    /**
-     * Updates widget enablement for the dialog. Should be overridden by subclasses. 
-     */
-    protected void updateEnablement() {
-        descriptionText.setEditable(isEditable());
-    }
-
-    /**
-     * @return
-     * <ul>
-     * <li><code>true</code> if the marker is editable or the dialog is creating a new marker.</li>
-     * <li><code>false</code> if the marker is not editable.</li>
-     * </ul>
-     */
-    protected boolean isEditable() {
-        if (marker == null) {
-            return true;
-        }
-        return Util.isEditable(marker);
-    }
-
-    /**
-     * Sets the marker type when creating a new marker.
-     * 
-     * @param type the marker type
-     */
-    void setType(String type) {
-        this.type = type;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java
deleted file mode 100644
index 2701a3e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemFilter.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-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.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class DialogProblemFilter extends
-        org.eclipse.ui.views.markers.internal.DialogMarkerFilter {
-
-    private DescriptionGroup descriptionGroup;
-
-    private SeverityGroup severityGroup;
-
-    private class DescriptionGroup {
-        private Label descriptionLabel;
-
-        private Combo combo;
-
-        private Text description;
-
-        private String contains = Messages.getString("filtersDialog.contains"); //$NON-NLS-1$
-
-        private String doesNotContain = Messages
-                .getString("filtersDialog.doesNotContain"); //$NON-NLS-1$
-
-        public DescriptionGroup(Composite parent, MnemonicAssigner mnemonics) {
-            descriptionLabel = new Label(parent, SWT.NONE);
-            descriptionLabel.setFont(parent.getFont());
-            descriptionLabel.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.descriptionLabel"))); //$NON-NLS-1$
-
-            combo = new Combo(parent, SWT.READ_ONLY);
-            combo.setFont(parent.getFont());
-            combo.add(contains);
-            combo.add(doesNotContain);
-            combo.addSelectionListener(selectionListener);
-            // Prevent Esc and Return from closing the dialog when the combo is active.
-            combo.addTraverseListener(new TraverseListener() {
-                public void keyTraversed(TraverseEvent e) {
-                    if (e.detail == SWT.TRAVERSE_ESCAPE
-                            || e.detail == SWT.TRAVERSE_RETURN) {
-                        e.doit = false;
-                    }
-                }
-            });
-
-            description = new Text(parent, SWT.SINGLE | SWT.BORDER);
-            description.setFont(parent.getFont());
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 3;
-            description.setLayoutData(data);
-            description.addModifyListener(new ModifyListener() {
-                public void modifyText(ModifyEvent e) {
-                    DialogProblemFilter.this.markDirty();
-                }
-            });
-        }
-
-        public boolean getContains() {
-            return combo.getSelectionIndex() == combo.indexOf(contains);
-        }
-
-        public void setContains(boolean value) {
-            if (value) {
-                combo.select(combo.indexOf(contains));
-            } else {
-                combo.select(combo.indexOf(doesNotContain));
-            }
-        }
-
-        public void setDescription(String text) {
-            if (text == null) {
-                description.setText(""); //$NON-NLS-1$ 
-            } else {
-                description.setText(text);
-            }
-        }
-
-        public String getDescription() {
-            return description.getText();
-        }
-
-        public void updateEnablement() {
-            descriptionLabel.setEnabled(isFilterEnabled());
-            combo.setEnabled(isFilterEnabled());
-            description.setEnabled(isFilterEnabled());
-        }
-    }
-
-    private class SeverityGroup {
-        private Button enablementButton;
-
-        private Button errorButton;
-
-        private Button warningButton;
-
-        private Button infoButton;
-
-        public SeverityGroup(Composite parent, MnemonicAssigner mnemonics) {
-            SelectionListener listener = new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    updateEnablement();
-                    DialogProblemFilter.this.markDirty();
-                }
-            };
-
-            enablementButton = new Button(parent, SWT.CHECK);
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 2;
-            enablementButton.setLayoutData(data);
-            enablementButton.setFont(parent.getFont());
-            enablementButton.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.severityLabel"))); //$NON-NLS-1$
-            enablementButton.addSelectionListener(listener);
-
-            errorButton = new Button(parent, SWT.CHECK);
-            errorButton.setFont(parent.getFont());
-            errorButton.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.severityError"))); //$NON-NLS-1$
-            errorButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            errorButton.addSelectionListener(selectionListener);
-
-            warningButton = new Button(parent, SWT.CHECK);
-            warningButton.setFont(parent.getFont());
-            warningButton.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.severityWarning"))); //$NON-NLS-1$
-            warningButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            warningButton.addSelectionListener(selectionListener);
-
-            infoButton = new Button(parent, SWT.CHECK);
-            infoButton.setFont(parent.getFont());
-            infoButton
-                    .setText(mnemonics.assign(Messages.getString("filtersDialog.severityInfo"))); //$NON-NLS-1$
-            infoButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            infoButton.addSelectionListener(selectionListener);
-        }
-
-        public boolean isEnabled() {
-            return enablementButton.getSelection();
-        }
-
-        public void setEnabled(boolean enabled) {
-            enablementButton.setSelection(enabled);
-        }
-
-        public boolean isErrorSelected() {
-            return errorButton.getSelection();
-        }
-
-        public void setErrorSelected(boolean selected) {
-            errorButton.setSelection(selected);
-        }
-
-        public boolean isWarningSelected() {
-            return warningButton.getSelection();
-        }
-
-        public void setWarningSelected(boolean selected) {
-            warningButton.setSelection(selected);
-        }
-
-        public boolean isInfoSelected() {
-            return infoButton.getSelection();
-        }
-
-        public void setInfoSelected(boolean selected) {
-            infoButton.setSelection(selected);
-        }
-
-        public void updateEnablement() {
-            enablementButton.setEnabled(isFilterEnabled());
-            errorButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-            warningButton.setEnabled(enablementButton.isEnabled()
-                    && isEnabled());
-            infoButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-        }
-    }
-
-    /**
-     * @param parentShell
-     * @param filter
-     */
-    public DialogProblemFilter(Shell parentShell, ProblemFilter filter) {
-        super(parentShell, filter);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected void createAttributesArea(Composite parent, MnemonicAssigner mnemonics) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        GridLayout layout = new GridLayout(5, false);
-        layout.verticalSpacing = 7;
-        composite.setLayout(layout);
-
-        descriptionGroup = new DescriptionGroup(composite, mnemonics);
-        severityGroup = new SeverityGroup(composite, mnemonics);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateFilterFromUI(org.eclipse.ui.views.markerview.MarkerFilter)
-     */
-    protected void updateFilterFromUI() {
-        ProblemFilter filter = (ProblemFilter) getFilter();
-
-        filter.setContains(descriptionGroup.getContains());
-        filter.setDescription(descriptionGroup.getDescription().trim());
-
-        filter.setSelectBySeverity(severityGroup.isEnabled());
-        int severity = 0;
-        if (severityGroup.isErrorSelected()) {
-            severity = severity | ProblemFilter.SEVERITY_ERROR;
-        }
-        if (severityGroup.isWarningSelected()) {
-            severity = severity | ProblemFilter.SEVERITY_WARNING;
-        }
-        if (severityGroup.isInfoSelected()) {
-            severity = severity | ProblemFilter.SEVERITY_INFO;
-        }
-        filter.setSeverity(severity);
-
-        super.updateFilterFromUI();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateUIFromFilter(org.eclipse.ui.views.markerview.MarkerFilter)
-     */
-    protected void updateUIFromFilter() {
-        ProblemFilter filter = (ProblemFilter) getFilter();
-
-        descriptionGroup.setContains(filter.getContains());
-        descriptionGroup.setDescription(filter.getDescription());
-
-        severityGroup.setEnabled(filter.getSelectBySeverity());
-        int severity = filter.getSeverity();
-        severityGroup
-                .setErrorSelected((severity & ProblemFilter.SEVERITY_ERROR) > 0);
-        severityGroup
-                .setWarningSelected((severity & ProblemFilter.SEVERITY_WARNING) > 0);
-        severityGroup
-                .setInfoSelected((severity & ProblemFilter.SEVERITY_INFO) > 0);
-
-        super.updateUIFromFilter();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateEnabledState()
-     */
-    protected void updateEnabledState() {
-        super.updateEnabledState();
-        descriptionGroup.updateEnablement();
-        severityGroup.updateEnablement();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#resetPressed()
-     */
-    protected void resetPressed() {
-        descriptionGroup.setContains(ProblemFilter.DEFAULT_CONTAINS);
-        descriptionGroup.setDescription(ProblemFilter.DEFAULT_DESCRIPTION);
-
-        severityGroup.setEnabled(ProblemFilter.DEFAULT_SELECT_BY_SEVERITY);
-        severityGroup
-                .setErrorSelected((ProblemFilter.DEFAULT_SEVERITY & ProblemFilter.SEVERITY_ERROR) > 0);
-        severityGroup
-                .setWarningSelected((ProblemFilter.DEFAULT_SEVERITY & ProblemFilter.SEVERITY_WARNING) > 0);
-        severityGroup
-                .setInfoSelected((ProblemFilter.DEFAULT_SEVERITY & ProblemFilter.SEVERITY_INFO) > 0);
-
-        super.resetPressed();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java
deleted file mode 100644
index 71b0df9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogProblemProperties.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-class DialogProblemProperties extends DialogMarkerProperties {
-
-    private Label severityLabel;
-
-    DialogProblemProperties(Shell parentShell) {
-        super(parentShell);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.MarkerPropertiesDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected void createAttributesArea(Composite parent) {
-        super.createAttributesArea(parent);
-
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayout(new GridLayout());
-
-        severityLabel = new Label(composite, SWT.NONE);
-        severityLabel.setFont(composite.getFont());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.MarkerPropertiesDialog#updateDialogFromMarker()
-     */
-    protected void updateDialogFromMarker() {
-        super.updateDialogFromMarker();
-        IMarker marker = getMarker();
-        if (marker == null) {
-            return;
-        }
-        //TODO display image rather than text
-        FieldSeverity type = new FieldSeverity();
-        severityLabel.setImage(type.getImage(marker));
-        int severity = marker.getAttribute(IMarker.SEVERITY, -1);
-        if (severity == IMarker.SEVERITY_ERROR) {
-            severityLabel.setText(Messages.format(
-                    "propertiesDialog.severityLabel", //$NON-NLS-1$
-                    new String[] { Messages
-                            .getString("propertiesDialog.errorLabel") })); //$NON-NLS-1$
-        } else if (severity == IMarker.SEVERITY_WARNING) {
-            severityLabel.setText(Messages.format(
-                    "propertiesDialog.severityLabel", //$NON-NLS-1$
-                    new String[] { Messages
-                            .getString("propertiesDialog.warningLabel") })); //$NON-NLS-1$
-        } else if (severity == IMarker.SEVERITY_INFO) {
-            severityLabel.setText(Messages.format(
-                    "propertiesDialog.severityLabel", //$NON-NLS-1$
-                    new String[] { Messages
-                            .getString("propertiesDialog.infoLabel") })); //$NON-NLS-1$
-        } else {
-            severityLabel.setText(Messages.format(
-                    "propertiesDialog.severityLabel", //$NON-NLS-1$
-                    new String[] { Messages
-                            .getString("propertiesDialog.noseverityLabel") })); //$NON-NLS-1$
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java
deleted file mode 100644
index fad7d13..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskFilter.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-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.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class DialogTaskFilter extends
-        org.eclipse.ui.views.markers.internal.DialogMarkerFilter {
-
-    private DescriptionGroup descriptionGroup;
-
-    private PriorityGroup priorityGroup;
-
-    private StatusGroup statusGroup;
-
-    private class DescriptionGroup {
-        private Label descriptionLabel;
-
-        private Combo combo;
-
-        private Text description;
-
-        private String contains = Messages.getString("filtersDialog.contains"); //$NON-NLS-1$
-
-        private String doesNotContain = Messages
-                .getString("filtersDialog.doesNotContain"); //$NON-NLS-1$
-
-        public DescriptionGroup(Composite parent, MnemonicAssigner mnemonics) {
-            descriptionLabel = new Label(parent, SWT.NONE);
-            descriptionLabel.setFont(parent.getFont());
-            descriptionLabel.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.descriptionLabel"))); //$NON-NLS-1$
-
-            combo = new Combo(parent, SWT.READ_ONLY);
-            combo.setFont(parent.getFont());
-            combo.add(contains);
-            combo.add(doesNotContain);
-            combo.addSelectionListener(selectionListener);
-            // Prevent Esc and Return from closing the dialog when the combo is active.
-            combo.addTraverseListener(new TraverseListener() {
-                public void keyTraversed(TraverseEvent e) {
-                    if (e.detail == SWT.TRAVERSE_ESCAPE
-                            || e.detail == SWT.TRAVERSE_RETURN) {
-                        e.doit = false;
-                    }
-                }
-            });
-
-            description = new Text(parent, SWT.SINGLE | SWT.BORDER);
-            description.setFont(parent.getFont());
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 3;
-            description.setLayoutData(data);
-            description.addModifyListener(new ModifyListener() {
-                public void modifyText(ModifyEvent e) {
-                    DialogTaskFilter.this.markDirty();
-                }
-            });
-        }
-
-        public boolean getContains() {
-            return combo.getSelectionIndex() == combo.indexOf(contains);
-        }
-
-        public void setContains(boolean value) {
-            if (value) {
-                combo.select(combo.indexOf(contains));
-            } else {
-                combo.select(combo.indexOf(doesNotContain));
-            }
-        }
-
-        public void setDescription(String text) {
-            if (text == null) {
-                description.setText(""); //$NON-NLS-1$ 
-            } else {
-                description.setText(text);
-            }
-        }
-
-        public String getDescription() {
-            return description.getText();
-        }
-
-        public void updateEnablement() {
-            descriptionLabel.setEnabled(isFilterEnabled());
-            combo.setEnabled(isFilterEnabled());
-            description.setEnabled(isFilterEnabled());
-        }
-    }
-
-    private class PriorityGroup {
-        private Button enablementButton;
-
-        private Button highButton;
-
-        private Button normalButton;
-
-        private Button lowButton;
-
-        public PriorityGroup(Composite parent, MnemonicAssigner mnemonics) {
-            SelectionListener listener = new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    updateEnablement();
-                    DialogTaskFilter.this.markDirty();
-                }
-            };
-
-            enablementButton = new Button(parent, SWT.CHECK);
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 2;
-            enablementButton.setLayoutData(data);
-            enablementButton.setFont(parent.getFont());
-            enablementButton.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.priorityLabel"))); //$NON-NLS-1$
-            enablementButton.addSelectionListener(listener);
-
-            highButton = new Button(parent, SWT.CHECK);
-            highButton.setFont(parent.getFont());
-            highButton
-                    .setText(Messages.getString("filtersDialog.priorityHigh")); //$NON-NLS-1$
-            highButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            highButton.addSelectionListener(selectionListener);
-
-            normalButton = new Button(parent, SWT.CHECK);
-            normalButton.setFont(parent.getFont());
-            normalButton.setText(Messages
-                    .getString("filtersDialog.priorityNormal")); //$NON-NLS-1$
-            normalButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            normalButton.addSelectionListener(selectionListener);
-
-            lowButton = new Button(parent, SWT.CHECK);
-            lowButton.setFont(parent.getFont());
-            lowButton.setText(Messages.getString("filtersDialog.priorityLow")); //$NON-NLS-1$
-            lowButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            lowButton.addSelectionListener(selectionListener);
-        }
-
-        public boolean isEnabled() {
-            return enablementButton.getSelection();
-        }
-
-        public void setEnabled(boolean enabled) {
-            enablementButton.setSelection(enabled);
-        }
-
-        public boolean isHighSelected() {
-            return highButton.getSelection();
-        }
-
-        public void setHighSelected(boolean selected) {
-            highButton.setSelection(selected);
-        }
-
-        public boolean isNormalSelected() {
-            return normalButton.getSelection();
-        }
-
-        public void setNormalSelected(boolean selected) {
-            normalButton.setSelection(selected);
-        }
-
-        public boolean isLowSelected() {
-            return lowButton.getSelection();
-        }
-
-        public void setLowSelected(boolean selected) {
-            lowButton.setSelection(selected);
-        }
-
-        public void updateEnablement() {
-            enablementButton.setEnabled(isFilterEnabled());
-            highButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-            normalButton
-                    .setEnabled(enablementButton.isEnabled() && isEnabled());
-            lowButton.setEnabled(enablementButton.isEnabled() && isEnabled());
-        }
-    }
-
-    private class StatusGroup {
-        private Button enablementButton;
-
-        private Button completeButton;
-
-        private Button incompleteButton;
-
-        public StatusGroup(Composite parent, MnemonicAssigner mnemonics) {
-            SelectionListener enablementListener = new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    updateEnablement();
-                    DialogTaskFilter.this.markDirty();
-                }
-            };
-
-            enablementButton = new Button(parent, SWT.CHECK);
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 2;
-            enablementButton.setLayoutData(data);
-            enablementButton.setFont(parent.getFont());
-            enablementButton.setText(mnemonics.assign(Messages
-                    .getString("filtersDialog.statusLabel"))); //$NON-NLS-1$
-            enablementButton.addSelectionListener(enablementListener);
-
-            Composite composite = new Composite(parent, SWT.NONE);
-            composite.setFont(parent.getFont());
-            GridLayout layout = new GridLayout(2, false);
-            layout.marginHeight = 0;
-            layout.marginWidth = 0;
-            composite.setLayout(layout);
-            data = new GridData(GridData.FILL_HORIZONTAL);
-            data.horizontalSpan = 3;
-            composite.setLayoutData(data);
-
-            SelectionListener listener = new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    completeButton.setSelection(!incompleteButton
-                            .getSelection());
-                    incompleteButton.setSelection(!completeButton
-                            .getSelection());
-                    DialogTaskFilter.this.markDirty();
-                }
-            };
-
-            completeButton = new Button(composite, SWT.RADIO);
-            completeButton.setFont(composite.getFont());
-            completeButton.setText(Messages
-                    .getString("filtersDialog.statusComplete")); //$NON-NLS-1$
-            completeButton.addSelectionListener(listener);
-
-            incompleteButton = new Button(composite, SWT.RADIO);
-            incompleteButton.setFont(composite.getFont());
-            incompleteButton.setText(Messages
-                    .getString("filtersDialog.statusIncomplete")); //$NON-NLS-1$
-            incompleteButton.addSelectionListener(listener);
-        }
-
-        public boolean isEnabled() {
-            return enablementButton.getSelection();
-        }
-
-        public void setEnabled(boolean enabled) {
-            enablementButton.setSelection(enabled);
-        }
-
-        public boolean getDone() {
-            return completeButton.getSelection();
-        }
-
-        public void setDone(boolean done) {
-            completeButton.setSelection(done);
-            incompleteButton.setSelection(!done);
-        }
-
-        public void updateEnablement() {
-            enablementButton.setEnabled(isFilterEnabled());
-            completeButton.setEnabled(enablementButton.isEnabled()
-                    && isEnabled());
-            incompleteButton.setEnabled(enablementButton.isEnabled()
-                    && isEnabled());
-        }
-    }
-
-    /**
-     * @param parentShell
-     * @param filter
-     */
-    public DialogTaskFilter(Shell parentShell, TaskFilter filter) {
-        super(parentShell, filter);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#createAttributesArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected void createAttributesArea(Composite parent, MnemonicAssigner mnemonics) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        GridLayout layout = new GridLayout(5, false);
-        layout.verticalSpacing = 7;
-        composite.setLayout(layout);
-
-        descriptionGroup = new DescriptionGroup(composite, mnemonics);
-        priorityGroup = new PriorityGroup(composite, mnemonics);
-        statusGroup = new StatusGroup(composite, mnemonics);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateFilterFromUI(org.eclipse.ui.views.markerview.MarkerFilter)
-     */
-    protected void updateFilterFromUI() {
-        TaskFilter filter = (TaskFilter) getFilter();
-
-        filter.setContains(descriptionGroup.getContains());
-        filter.setDescription(descriptionGroup.getDescription().trim());
-
-        filter.setSelectByPriority(priorityGroup.isEnabled());
-        int priority = 0;
-        if (priorityGroup.isHighSelected()) {
-            priority = priority | TaskFilter.PRIORITY_HIGH;
-        }
-        if (priorityGroup.isNormalSelected()) {
-            priority = priority | TaskFilter.PRIORITY_NORMAL;
-        }
-        if (priorityGroup.isLowSelected()) {
-            priority = priority | TaskFilter.PRIORITY_LOW;
-        }
-        filter.setPriority(priority);
-
-        filter.setSelectByDone(statusGroup.isEnabled());
-        filter.setDone(statusGroup.getDone());
-
-        super.updateFilterFromUI();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateUIFromFilter(org.eclipse.ui.views.markerview.MarkerFilter)
-     */
-    protected void updateUIFromFilter() {
-        TaskFilter filter = (TaskFilter) getFilter();
-
-        descriptionGroup.setContains(filter.getContains());
-        descriptionGroup.setDescription(filter.getDescription());
-
-        priorityGroup.setEnabled(filter.getSelectByPriority());
-        int priority = filter.getPriority();
-        priorityGroup
-                .setHighSelected((priority & TaskFilter.PRIORITY_HIGH) > 0);
-        priorityGroup
-                .setNormalSelected((priority & TaskFilter.PRIORITY_NORMAL) > 0);
-        priorityGroup.setLowSelected((priority & TaskFilter.PRIORITY_LOW) > 0);
-
-        statusGroup.setEnabled(filter.getSelectByDone());
-        statusGroup.setDone(filter.getDone());
-
-        super.updateUIFromFilter();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#updateEnabledState()
-     */
-    protected void updateEnabledState() {
-        super.updateEnabledState();
-        descriptionGroup.updateEnablement();
-        priorityGroup.updateEnablement();
-        statusGroup.updateEnablement();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markerview.FiltersDialog#resetPressed()
-     */
-    protected void resetPressed() {
-        descriptionGroup.setContains(TaskFilter.DEFAULT_CONTAINS);
-        descriptionGroup.setDescription(TaskFilter.DEFAULT_DESCRIPTION);
-
-        priorityGroup.setEnabled(TaskFilter.DEFAULT_SELECT_BY_PRIORITY);
-        priorityGroup
-                .setHighSelected((TaskFilter.DEFAULT_PRIORITY & TaskFilter.PRIORITY_HIGH) > 0);
-        priorityGroup
-                .setNormalSelected((TaskFilter.DEFAULT_PRIORITY & TaskFilter.PRIORITY_NORMAL) > 0);
-        priorityGroup
-                .setLowSelected((TaskFilter.DEFAULT_PRIORITY & TaskFilter.PRIORITY_NORMAL) > 0);
-
-        statusGroup.setEnabled(TaskFilter.DEFAULT_SELECT_BY_DONE);
-        statusGroup.setDone(TaskFilter.DEFAULT_DONE);
-
-        super.resetPressed();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
deleted file mode 100644
index c62dc8b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/DialogTaskProperties.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-public class DialogTaskProperties extends DialogMarkerProperties {
-
-    private static final String PRIORITY_HIGH = Messages
-            .getString("propertiesDialog.priorityHigh"); //$NON-NLS-1$
-
-    private static final String PRIORITY_NORMAL = Messages
-            .getString("propertiesDialog.priorityNormal"); //$NON-NLS-1$
-
-    private static final String PRIORITY_LOW = Messages
-            .getString("propertiesDialog.priorityLow"); //$NON-NLS-1$
-
-    protected Combo priorityCombo;
-
-    protected Button completedCheckbox;
-
-    /**
-     * @param parentShell
-     */
-    public DialogTaskProperties(Shell parentShell) {
-        super(parentShell);
-        setType(IMarker.TASK);
-    }
-
-    /**
-     * @param parentShell
-     */
-    DialogTaskProperties(Shell parentShell, String title) {
-        super(parentShell, title);
-        setType(IMarker.TASK);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#createAttributesArea(org.eclipse.swt.widgets.Composite)
-     */
-    protected void createAttributesArea(Composite parent) {
-        super.createAttributesArea(parent);
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setFont(composite.getFont());
-        label.setText(Messages.getString("propertiesDialog.priority")); //$NON-NLS-1$
-        priorityCombo = new Combo(composite, SWT.READ_ONLY);
-        priorityCombo.setItems(new String[] { PRIORITY_HIGH, PRIORITY_NORMAL,
-                PRIORITY_LOW });
-        // Prevent Esc and Return from closing the dialog when the combo is active.
-        priorityCombo.addTraverseListener(new TraverseListener() {
-            public void keyTraversed(TraverseEvent e) {
-                if (e.detail == SWT.TRAVERSE_ESCAPE
-                        || e.detail == SWT.TRAVERSE_RETURN) {
-                    e.doit = false;
-                }
-            }
-        });
-        priorityCombo.setFont(composite.getFont());
-        priorityCombo.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                if (getMarker() == null) {
-                    Map initialAttributes = getInitialAttributes();
-                    initialAttributes.put(IMarker.PRIORITY, new Integer(
-                            getPriorityFromDialog()));
-                }
-                markDirty();
-            }
-        });
-
-        completedCheckbox = new Button(composite, SWT.CHECK);
-        completedCheckbox.setFont(composite.getFont());
-        completedCheckbox.setText(Messages
-                .getString("propertiesDialog.completed")); //$NON-NLS-1$
-        GridData gridData = new GridData();
-        gridData.horizontalIndent = convertHorizontalDLUsToPixels(20);
-        completedCheckbox.setLayoutData(gridData);
-        completedCheckbox.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                if (getMarker() == null) {
-                    Map initialAttributes = getInitialAttributes();
-                    initialAttributes.put(IMarker.DONE, new Boolean(
-                            completedCheckbox.getSelection()));
-                }
-                markDirty();
-            }
-        });
-    }
-
-    protected boolean getCompleted() {
-        IMarker marker = getMarker();
-        if (marker == null) {
-            Map attributes = getInitialAttributes();
-            Object done = attributes.get(IMarker.DONE);
-            return done != null && done instanceof Boolean
-                    && ((Boolean) done).booleanValue();
-        } else {
-            return marker.getAttribute(IMarker.DONE, false);
-        }
-    }
-
-    protected int getPriority() {
-        IMarker marker = getMarker();
-        int priority = IMarker.PRIORITY_NORMAL;
-        if (marker == null) {
-            Map attributes = getInitialAttributes();
-            Object priorityObj = attributes.get(IMarker.PRIORITY);
-            if (priorityObj != null && priorityObj instanceof Integer) {
-                priority = ((Integer) priorityObj).intValue();
-            }
-        } else {
-            priority = marker.getAttribute(IMarker.PRIORITY,
-                    IMarker.PRIORITY_NORMAL);
-        }
-        return priority;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#updateEnablement()
-     */
-    protected void updateEnablement() {
-        super.updateEnablement();
-        priorityCombo.setEnabled(isEditable());
-        completedCheckbox.setEnabled(isEditable());
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#updateDialogForNewMarker()
-     */
-    protected void updateDialogForNewMarker() {
-        Map initialAttributes = getInitialAttributes();
-        int priority = getPriority();
-        initialAttributes.put(IMarker.PRIORITY, new Integer(priority));
-        if (priority == IMarker.PRIORITY_HIGH) {
-            priorityCombo.select(priorityCombo.indexOf(PRIORITY_HIGH));
-        } else if (priority == IMarker.PRIORITY_LOW) {
-            priorityCombo.select(priorityCombo.indexOf(PRIORITY_LOW));
-        } else {
-            priorityCombo.select(priorityCombo.indexOf(PRIORITY_NORMAL));
-        }
-        boolean completed = getCompleted();
-        initialAttributes.put(IMarker.DONE, new Boolean(completed));
-        completedCheckbox.setSelection(completed);
-        super.updateDialogForNewMarker();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#updateDialogFromMarker()
-     */
-    protected void updateDialogFromMarker() {
-        Map initialAttributes = getInitialAttributes();
-        int priority = getPriority();
-        initialAttributes.put(IMarker.PRIORITY, new Integer(priority));
-        if (priority == IMarker.PRIORITY_HIGH) {
-            priorityCombo.select(priorityCombo.indexOf(PRIORITY_HIGH));
-        } else if (priority == IMarker.PRIORITY_LOW) {
-            priorityCombo.select(priorityCombo.indexOf(PRIORITY_LOW));
-        } else {
-            priorityCombo.select(priorityCombo.indexOf(PRIORITY_NORMAL));
-        }
-        boolean completed = getCompleted();
-        initialAttributes.put(IMarker.DONE, new Boolean(completed));
-        completedCheckbox.setSelection(completed);
-        super.updateDialogFromMarker();
-    }
-
-    private int getPriorityFromDialog() {
-        int priority = IMarker.PRIORITY_NORMAL;
-        if (priorityCombo.getSelectionIndex() == priorityCombo
-                .indexOf(PRIORITY_HIGH)) {
-            priority = IMarker.PRIORITY_HIGH;
-        } else if (priorityCombo.getSelectionIndex() == priorityCombo
-                .indexOf(PRIORITY_LOW)) {
-            priority = IMarker.PRIORITY_LOW;
-        }
-        return priority;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.DialogMarkerProperties#getMarkerAttributes()
-     */
-    protected Map getMarkerAttributes() {
-        Map attrs = super.getMarkerAttributes();
-        attrs.put(IMarker.PRIORITY, new Integer(getPriorityFromDialog()));
-        attrs.put(IMarker.DONE, new Boolean(completedCheckbox.getSelection()));
-        Object userEditable = attrs.get(IMarker.USER_EDITABLE);
-        if (userEditable == null || !(userEditable instanceof Boolean)) {
-            attrs.put(IMarker.USER_EDITABLE, new Boolean(true));
-        }
-        return attrs;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java
deleted file mode 100644
index e255422..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldCreationTime.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Creation time field. Designed to display and compare creation times of IMarker objects.
- */
-public class FieldCreationTime implements IField {
-
-    private String description;
-
-    private Image image;
-
-    /**
-     * The constructor
-     */
-    public FieldCreationTime() {
-        description = Messages.getString("description.creationTime"); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        if (obj == null || !(obj instanceof ConcreteMarker)) {
-            return ""; //$NON-NLS-1$
-        }
-        ConcreteMarker marker = (ConcreteMarker) obj;
-        return Util.getCreationTime(marker.getCreationTime());
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker)
-                || !(obj2 instanceof ConcreteMarker)) {
-            return 0;
-        }
-
-        ConcreteMarker marker1 = (ConcreteMarker) obj1;
-        ConcreteMarker marker2 = (ConcreteMarker) obj2;
-
-        long value = marker1.getCreationTime() - marker2.getCreationTime();
-        if (value < 0) {
-            return -1;
-        } else if (value > 0) {
-            return 1;
-        } else
-            return 0;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java
deleted file mode 100644
index cb5ae73..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldDone.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldDone implements IField {
-
-    static final String DESCRIPTION_IMAGE_PATH = "obj16/header_complete.gif"; //$NON-NLS-1$
-
-    static final String COMPLETE_IMAGE_PATH = "obj16/complete_tsk.gif"; //$NON-NLS-1$
-
-    static final String INCOMPLETE_IMAGE_PATH = "obj16/incomplete_tsk.gif"; //$NON-NLS-1$
-
-    private String description;
-
-    private Image image;
-
-    public FieldDone() {
-        description = Messages.getString("completion.description"); //$NON-NLS-1$
-        image = ImageFactory.getImage(DESCRIPTION_IMAGE_PATH);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return ""; //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        return ""; //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        if (obj == null || !(obj instanceof TaskMarker)) {
-            return null;
-        }
-        TaskMarker marker = (TaskMarker) obj;
-        int done = marker.getDone();
-        if (done == -1) {
-            return null;
-        }
-        if (done == 1) {
-            return ImageFactory.getImage(COMPLETE_IMAGE_PATH);
-        }
-        return ImageFactory.getImage(INCOMPLETE_IMAGE_PATH);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof TaskMarker)
-                || !(obj2 instanceof TaskMarker)) {
-            return 0;
-        }
-        TaskMarker marker1 = (TaskMarker) obj1;
-        TaskMarker marker2 = (TaskMarker) obj2;
-        int value1 = marker1.getDone();
-        int value2 = marker2.getDone();
-        return value1 - value2;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java
deleted file mode 100644
index 230307d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldFolder.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Folder field. Designed to display and compare the names of the folders that contain
- * IMarker objects.
- */
-public class FieldFolder implements IField {
-
-    private String description;
-
-    private Image image;
-
-    public FieldFolder() {
-        description = Messages.getString("description.folder"); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        if (obj == null || !(obj instanceof ConcreteMarker)) {
-            return ""; //$NON-NLS-1$
-        }
-        ConcreteMarker marker = (ConcreteMarker) obj;
-        return marker.getFolder();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker)
-                || !(obj2 instanceof ConcreteMarker)) {
-            return 0;
-        }
-        ConcreteMarker marker1 = (ConcreteMarker) obj1;
-        ConcreteMarker marker2 = (ConcreteMarker) obj2;
-
-        return marker1.getFolderKey().compareTo(marker2.getFolderKey());
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java
deleted file mode 100644
index a757260..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldLineNumber.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldLineNumber implements IField {
-
-    private String description;
-
-    private Image image;
-
-    public FieldLineNumber() {
-        description = Messages.getString("description.lineNumber"); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        if (obj == null || !(obj instanceof ConcreteMarker)) {
-            return ""; //$NON-NLS-1$
-        }
-        ConcreteMarker marker = (ConcreteMarker) obj;
-
-        if (marker.getLine() < 0) {
-            return ""; //$NON-NLS-1$
-        }
-
-        return Messages
-                .format(
-                        "label.lineNumber", new String[] { Integer.toString(marker.getLine()) }); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker)
-                || !(obj2 instanceof ConcreteMarker)) {
-            return 0;
-        }
-
-        ConcreteMarker marker1 = (ConcreteMarker) obj1;
-        ConcreteMarker marker2 = (ConcreteMarker) obj2;
-        return marker1.getLine() - marker2.getLine();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java
deleted file mode 100644
index 828bc3f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldMessage.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldMessage implements IField {
-
-    private String description;
-
-    private Image image;
-
-    public FieldMessage() {
-        description = Messages.getString("description.message"); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        if (obj == null || !(obj instanceof ConcreteMarker)) {
-            return ""; //$NON-NLS-1$
-        }
-        ConcreteMarker marker = (ConcreteMarker) obj;
-        return marker.getDescription();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker)
-                || !(obj2 instanceof ConcreteMarker)) {
-            return 0;
-        }
-
-        ConcreteMarker marker1 = (ConcreteMarker) obj1;
-        ConcreteMarker marker2 = (ConcreteMarker) obj2;
-
-        return marker1.getDescriptionKey().compareTo(
-                marker2.getDescriptionKey());
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java
deleted file mode 100644
index b6269b6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldPriority.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.graphics.Image;
-
-public class FieldPriority implements IField {
-
-    static final String DESCRIPTION_IMAGE_PATH = "obj16/header_priority.gif"; //$NON-NLS-1$
-
-    static final String HIGH_PRIORITY_IMAGE_PATH = "obj16/hprio_tsk.gif"; //$NON-NLS-1$
-
-    static final String LOW_PRIORITY_IMAGE_PATH = "obj16/lprio_tsk.gif"; //$NON-NLS-1$
-
-    private String description;
-
-    private Image image;
-
-    public FieldPriority() {
-        description = Messages.getString("priority.description"); //$NON-NLS-1$
-        image = ImageFactory.getImage(DESCRIPTION_IMAGE_PATH);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return ""; //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        return ""; //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        if (obj == null || !(obj instanceof TaskMarker)) {
-            return null;
-        }
-        try {
-            int priority = ((TaskMarker) obj).getPriority();
-            if (priority == IMarker.PRIORITY_HIGH) {
-                return ImageFactory.getImage(HIGH_PRIORITY_IMAGE_PATH);
-            }
-            if (priority == IMarker.PRIORITY_LOW) {
-                return ImageFactory.getImage(LOW_PRIORITY_IMAGE_PATH);
-            }
-        } catch (NumberFormatException e) {
-            return null;
-        }
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof TaskMarker)
-                || !(obj2 instanceof TaskMarker)) {
-            return 0;
-        }
-        int priority1 = ((TaskMarker) obj1).getPriority();
-        int priority2 = ((TaskMarker) obj2).getPriority();
-        return priority1 - priority2;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java
deleted file mode 100644
index 803e1b5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldResource.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public class FieldResource implements IField {
-
-    private String description;
-
-    private Image image;
-
-    public FieldResource() {
-        description = Messages.getString("description.resource"); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        if (obj == null || !(obj instanceof ConcreteMarker)) {
-            return ""; //$NON-NLS-1$
-        }
-        ConcreteMarker marker = (ConcreteMarker) obj;
-        return marker.getResourceName();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof ConcreteMarker)
-                || !(obj2 instanceof ConcreteMarker)) {
-            return 0;
-        }
-
-        ConcreteMarker marker1 = (ConcreteMarker) obj1;
-        ConcreteMarker marker2 = (ConcreteMarker) obj2;
-
-        return marker1.getResourceNameKey().compareTo(
-                marker2.getResourceNameKey());
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java
deleted file mode 100644
index 3cc08ea..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FieldSeverity.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.swt.graphics.Image;
-
-public class FieldSeverity implements IField {
-
-    private static final String IMAGE_ERROR_PATH = "obj16/error_tsk.gif"; //$NON-NLS-1$
-
-    private static final String IMAGE_WARNING_PATH = "obj16/warn_tsk.gif"; //$NON-NLS-1$
-
-    private static final String IMAGE_INFO_PATH = "obj16/info_tsk.gif"; //$NON-NLS-1$
-
-    private String description;
-
-    private Image image;
-
-    public FieldSeverity() {
-        description = Messages.getString("problemSeverity.description"); //$NON-NLS-1$
-        image = null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescription()
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getDescriptionImage()
-     */
-    public Image getDescriptionImage() {
-        return image;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderText()
-     */
-    public String getColumnHeaderText() {
-        return ""; //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getColumnHeaderImage()
-     */
-    public Image getColumnHeaderImage() {
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getValue(java.lang.Object)
-     */
-    public String getValue(Object obj) {
-        return "" + ((ProblemMarker) obj).getSeverity(); //$NON-NLS-1$
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#getImage(java.lang.Object)
-     */
-    public Image getImage(Object obj) {
-        if (obj == null || !(obj instanceof ProblemMarker)) {
-            return null;
-        }
-
-        int severity = ((ProblemMarker) obj).getSeverity();
-        if (severity == IMarker.SEVERITY_ERROR) {
-            return ImageFactory.getImage(IMAGE_ERROR_PATH);
-        }
-        if (severity == IMarker.SEVERITY_WARNING) {
-            return ImageFactory.getImage(IMAGE_WARNING_PATH);
-        }
-        if (severity == IMarker.SEVERITY_INFO) {
-            return ImageFactory.getImage(IMAGE_INFO_PATH);
-        }
-        return null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.IField#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object obj1, Object obj2) {
-        if (obj1 == null || obj2 == null || !(obj1 instanceof ProblemMarker)
-                || !(obj2 instanceof ProblemMarker)) {
-            return 0;
-        }
-
-        int severity1 = ((ProblemMarker) obj1).getSeverity();
-        int severity2 = ((ProblemMarker) obj2).getSeverity();
-        return severity1 - severity2;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java
deleted file mode 100644
index 25326be..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/FiltersAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * This action opens a Filters Dialog and notifies the Marker View if the user has
- * modified the filter via the filters dialog.
- */
-class FiltersAction extends Action {
-
-    private MarkerView view;
-
-    /**
-     * Creates the action
-     */
-    public FiltersAction(MarkerView view) {
-        super(Messages.getString("filtersAction.title")); //$NON-NLS-1$
-        setImageDescriptor(ImageFactory
-                .getImageDescriptor("elcl16/filter_ps.gif")); //$NON-NLS-1$
-        setToolTipText(Messages.getString("filtersAction.tooltip")); //$NON-NLS-1$
-        this.view = view;
-        setEnabled(true);
-    }
-
-    /**
-     * Opens the dialog. Notifies the view if the filter has been modified.
-     */
-    public void run() {
-        view.openFiltersDialog();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java
deleted file mode 100644
index 9ac7d43..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IDeferredTableContentProvider.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * 
- */
-public interface IDeferredTableContentProvider {
-    public Object[] getElements(IProgressMonitor monitor);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.java
deleted file mode 100644
index 4613aa5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IField.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.ui.views.markers.internal;
-
-import org.eclipse.swt.graphics.Image;
-
-public interface IField {
-
-    /**
-     * @return the description of the field.
-     */
-    String getDescription();
-
-    /**
-     * @return the image associated with the description of the field or <code>null<code>.
-     */
-    Image getDescriptionImage();
-
-    /**
-     * @return The text to be displayed in the column header for this field.
-     */
-    String getColumnHeaderText();
-
-    /**
-     * @return The image to be displayed in the column header for this field or <code>null<code>.
-     */
-    Image getColumnHeaderImage();
-
-    /**
-     * @param obj
-     * @return The String value of the object for this particular field to be displayed to the user.  
-     */
-    String getValue(Object obj);
-
-    /**
-     * @param obj
-     * @return The image value of the object for this particular field to be displayed to the user
-     * or <code>null<code>.
-     */
-    Image getImage(Object obj);
-
-    /**
-     * @param obj1
-     * @param obj2
-     * @return Either:
-     * 	<li>a negative number if the value of obj1 is less than the value of obj2 for this field.
-     *  <li><code>0</code> if the value of obj1 and the value of obj2 are equal for this field.
-     *  <li>a positive number if the value of obj1 is greater than the value of obj2 for this field.
-     */
-    int compare(Object obj1, Object obj2);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java
deleted file mode 100644
index 8d5461b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IFilter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-/**
- * Generic filtering interface.
- */
-public interface IFilter {
-
-    /**
-     * Filters the list of elements. Removes the elements that need to filtered out from the list.
-     * 
-     * @param elements
-     */
-    public Object[] filter(Object[] elements);
-
-    /**
-     * @param item
-     * @return
-     * <ul>
-     * <li><code>true</code> if the item will make it through the filter.</li>
-     * <li><code>false</code> if the item will not make it through the filter.</li>
-     * </ul>
-     */
-    public boolean select(Object item);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java
deleted file mode 100644
index c055bd8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IItemsChangedListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.List;
-
-public interface IItemsChangedListener {
-
-    /**
-     * @param additions new items added
-     * @param removals items removed
-     * @param changes changed items
-     */
-    public void itemsChanged(List additions, List removals, List changes);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.java
deleted file mode 100644
index 6d4ca74..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerChangedListener.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.ui.views.markers.internal;
-
-import java.util.List;
-
-/**
- * Listener interface that listens for changes in resource markers.
- */
-public interface IMarkerChangedListener {
-
-    /**
-     * @param additions new markers added
-     * @param removals markers removed
-     * @param changes changed markers
-     */
-    public void markerChanged(List additions, List removals, List changes);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java
deleted file mode 100644
index cb2d52c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/IMarkerResourceAdapter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * <code>IMarkerResourceAdapter</code> is an adapter interface that
- * supplies the resource to query for markers to display in the marker view
- * or any of its subclasses.
- * 
- * Implementors of this interface are typically registered with an
- * IAdapterFactory for lookup via the getAdapter() mechanism.
- */
-public interface IMarkerResourceAdapter {
-
-    /**
-     * Returns the resource to query for the markers to display
-     * for the given adaptable.
-     * 
-     * @param adaptable the adaptable being queried.
-     * @return the resource or <code>null</code> if there
-     * 	is no adapted resource for this object.
-     */
-    public IResource getAffectedResource(IAdaptable adaptable);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.java
deleted file mode 100644
index d8f4768..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableListener.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.ui.views.markers.internal;
-
-import java.util.Collection;
-
-/**
- * 
- */
-public interface ITableListener {
-    public void contentsFound(Collection contents);
-
-    public void invalid();
-
-    public void drawable();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java
deleted file mode 100644
index c2b4471..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ITableViewContentProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-public interface ITableViewContentProvider {
-
-    public Object[] getElements();
-
-    public IFilter getFilter();
-
-    public void setFilter(IFilter filter);
-
-    public void addItemsChangedListener(IItemsChangedListener listener);
-
-    public void removeItemsChangedListener(IItemsChangedListener listener);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.java
deleted file mode 100644
index 832a373..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ImageFactory.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.ui.views.markers.internal;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Manages images and image descriptors.
- */
-public class ImageFactory {
-
-	private static ImageRegistry imageRegistry = new ImageRegistry();
-	private static Map map = new HashMap();
-	
-	private static ImageDescriptor create(String path) {
-		try {
-			URL url = Platform.getPlugin(PlatformUI.PLUGIN_ID).getDescriptor().getInstallURL();
-			url = new URL(url, "icons/full/" + path); //$NON-NLS-1$
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException eMalformedURL) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns an image for the given path or <code>null</code> if an image could 
-	 * not be created. 
-	 * 
-	 * @param path the path of the image relative to "org.eclipse.ui/icons/full"
-	 * @return the image located at the specified path or <code>null</code> if 
-	 * no image could be created.
-	 */
-	public static Image getImage(String path) {
-		Image image = (Image) imageRegistry.get(path);
-
-		if (image == null) {
-			ImageDescriptor imageDescriptor = getImageDescriptor(path);
-
-			if (imageDescriptor != null) {
-				image = imageDescriptor.createImage(false);
-
-				if (image == null)
-					System.err.println(ImageFactory.class + ": error creating image for " + path); //$NON-NLS-1$
-
-				imageRegistry.put(path, image);
-			}
-		}
-
-		return image;
-	}
-
-	/**
-	 * Returns an image descriptor for the given path or <code>null</code> if no
-	 * image could be found.
-	 * 
-	 * @param path the path of the image relative to "org.eclipse.ui/icons/full"
-	 * @return an image descriptor or <code>null</code> if no image was found at the
-	 * specified path.
-	 */
-	public static ImageDescriptor getImageDescriptor(String path) {
-		ImageDescriptor imageDescriptor = (ImageDescriptor) map.get(path);
-
-		if (imageDescriptor == null) {
-			imageDescriptor = create(path);
-			map.put(path, imageDescriptor);
-		}
-
-		return imageDescriptor;
-	}
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
deleted file mode 100644
index c334ed1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerFilter.java
+++ /dev/null
@@ -1,734 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-public class MarkerFilter {
-
-    private static final String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$
-
-    private static final String TAG_ENABLED = "enabled"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER_ON_MARKER_LIMIT = "filterOnMarkerLimit"; //$NON-NLS-1$
-
-    private static final String TAG_MARKER_LIMIT = "markerLimit"; //$NON-NLS-1$
-
-    private static final String TAG_ON_RESOURCE = "onResource"; //$NON-NLS-1$
-
-    private static final String TAG_SELECTED_TYPES = "selectedType"; //$NON-NLS-1$
-
-    private static final String TAG_WORKING_SET = "workingSet"; //$NON-NLS-1$
-
-    private static final String TAG_TYPES_DELIMITER = ":"; //$NON-NLS-1$
-
-    static final int ON_ANY_RESOURCE = 0;
-
-    static final int ON_SELECTED_RESOURCE_ONLY = 1;
-
-    static final int ON_SELECTED_RESOURCE_AND_CHILDREN = 2;
-
-    static final int ON_ANY_RESOURCE_OF_SAME_PROJECT = 3;
-
-    static final int ON_WORKING_SET = 4;
-
-    static final int DEFAULT_MARKER_LIMIT = 100;
-
-    static final boolean DEFAULT_FILTER_ON_MARKER_LIMIT = true;
-
-    static final int DEFAULT_ON_RESOURCE = ON_ANY_RESOURCE;
-
-    static final boolean DEFAULT_ACTIVATION_STATUS = true;
-
-    protected List rootTypes = new ArrayList();
-
-    protected List selectedTypes = new ArrayList();
-
-    protected IWorkingSet workingSet;
-
-    protected int onResource;
-
-    protected boolean filterOnMarkerLimit;
-
-    protected boolean enabled;
-
-    protected int markerLimit;
-
-    private MarkerTypesModel typesModel;
-
-    private IResource[] focusResource;
-
-    private Set cachedWorkingSet;
-
-    MarkerFilter(String[] rootTypes) {
-        typesModel = new MarkerTypesModel();
-
-        for (int i = 0; i < rootTypes.length; i++) {
-            MarkerType type = typesModel.getType(rootTypes[i]);
-
-            if (!this.rootTypes.contains(type))
-                this.rootTypes.add(type);
-        }
-    }
-
-    private void addAllSubTypes() {
-        for (int i = 0; i < rootTypes.size(); i++) {
-            MarkerType rootType = (MarkerType) rootTypes.get(i);
-            addAllSubTypes(rootType);
-        }
-    }
-
-    private void addAllSubTypes(MarkerType type) {
-        if (type == null)
-            return;
-
-        if (!selectedTypes.contains(type))
-            selectedTypes.add(type);
-
-        MarkerType[] subTypes = type.getSubtypes();
-
-        for (int i = 0; i < subTypes.length; i++)
-            addAllSubTypes(subTypes[i]);
-    }
-
-    /**
-     * Adds all markers in the given set of resources to the given list
-     * 
-     * @param resultList
-     * @param resources
-     * @param markerTypeId
-     * @param depth
-     * @throws CoreException
-     */
-    private List findMarkers(IResource[] resources, int depth, int limit,
-            IProgressMonitor mon, boolean ignoreExceptions)
-            throws CoreException {
-        if (resources == null) {
-            return Collections.EMPTY_LIST;
-        }
-
-        List resultList = new ArrayList(resources.length * 2);
-
-        // Optimization: if a type appears in the selectedTypes list along with all of its
-        // subtypes, then combine these in a single search.
-
-        // List of types that haven't been replaced by one of their supertypes
-        HashSet typesToSearch = new HashSet(selectedTypes.size());
-
-        // List of types that appeared in selectedTypes along with all of their subtypes
-        HashSet includeAllSubtypes = new HashSet(selectedTypes.size());
-
-        typesToSearch.addAll(selectedTypes);
-
-        Iterator iter = selectedTypes.iterator();
-
-        while (iter.hasNext()) {
-            MarkerType type = (MarkerType) iter.next();
-
-            Collection subtypes = Arrays.asList(type.getAllSubTypes());
-
-            if (selectedTypes.containsAll(subtypes)) {
-                typesToSearch.removeAll(subtypes);
-
-                includeAllSubtypes.add(type);
-            }
-        }
-
-        mon
-                .beginTask(
-                        Messages.getString("MarkerFilter.searching"), typesToSearch.size() * resources.length); //$NON-NLS-1$
-
-        // Use this hash set to determine if there are any resources in the
-        // list that appear along with their parent.
-        HashSet resourcesToSearch = new HashSet();
-
-        // Insert all the resources into the hashset
-        for (int idx = 0; idx < resources.length; idx++) {
-            IResource next = resources[idx];
-
-            if (!next.exists()) {
-                continue;
-            }
-
-            if (resourcesToSearch.contains(next)) {
-                mon.worked(typesToSearch.size());
-            } else {
-                resourcesToSearch.add(next);
-            }
-        }
-
-        // Iterate through all the selected resources
-        for (int resourceIdx = 0; resourceIdx < resources.length; resourceIdx++) {
-            iter = typesToSearch.iterator();
-
-            IResource resource = resources[resourceIdx];
-
-            // Skip resources that don't exist
-            if (!resource.isAccessible()) {
-                continue;
-            }
-
-            if (depth == IResource.DEPTH_INFINITE) {
-                // Determine if any parent of this resource is also in our filter 
-                IResource parent = resource.getParent();
-                boolean found = false;
-                while (parent != null) {
-                    if (resourcesToSearch.contains(parent)) {
-                        found = true;
-                    }
-
-                    parent = parent.getParent();
-                }
-
-                // If a parent of this resource is also in the filter, we can skip it
-                // because we'll pick up its markers when we search the parent.
-                if (found) {
-                    continue;
-                }
-            }
-
-            // Iterate through all the marker types
-            while (iter.hasNext()) {
-                MarkerType markerType = (MarkerType) iter.next();
-
-                // Only search for subtypes of the marker if we found all of its
-                // subtypes in the filter criteria.
-                IMarker[] markers = resource.findMarkers(markerType.getId(),
-                        includeAllSubtypes.contains(markerType), depth);
-
-                mon.worked(1);
-
-                for (int idx = 0; idx < markers.length; idx++) {
-                    ConcreteMarker marker;
-                    try {
-                        marker = MarkerList.createMarker(markers[idx]);
-                    } catch (CoreException e) {
-                        if (ignoreExceptions) {
-                            continue;
-                        } else {
-                            throw e;
-                        }
-                    }
-
-                    if (limit != -1 && resultList.size() >= limit) {
-                        return resultList;
-                    }
-
-                    if (selectMarker(marker)) {
-                        resultList.add(marker);
-                    }
-                }
-            }
-        }
-
-        mon.done();
-
-        return resultList;
-    }
-
-    /**
-     * Subclasses should override to determine if the given marker passes the filter.
-     * 
-     * @param marker
-     * @return <code>true</code> if the marker passes the filter and <code>false</code> otherwise
-     */
-    protected boolean selectMarker(ConcreteMarker marker) {
-        return true;
-    }
-
-    /**
-     * Searches the workspace for markers that pass this filter.
-     * 
-     * @return
-     */
-    ConcreteMarker[] findMarkers(IProgressMonitor mon, boolean ignoreExceptions)
-            throws CoreException {
-
-        List unfiltered = Collections.EMPTY_LIST;
-
-        if (!isEnabled()) {
-            unfiltered = findMarkers(new IResource[] { ResourcesPlugin
-                    .getWorkspace().getRoot() }, IResource.DEPTH_INFINITE, -1,
-                    mon, ignoreExceptions);
-        } else {
-            //int limit = getFilterOnMarkerLimit() ? getMarkerLimit() + 1 : -1;
-            int limit = -1;
-
-            switch (getOnResource()) {
-            case ON_ANY_RESOURCE: {
-                unfiltered = findMarkers(new IResource[] { ResourcesPlugin
-                        .getWorkspace().getRoot() }, IResource.DEPTH_INFINITE,
-                        limit, mon, ignoreExceptions);
-                break;
-            }
-            case ON_SELECTED_RESOURCE_ONLY: {
-                unfiltered = findMarkers(focusResource, IResource.DEPTH_ZERO,
-                        limit, mon, ignoreExceptions);
-                break;
-            }
-            case ON_SELECTED_RESOURCE_AND_CHILDREN: {
-                unfiltered = findMarkers(focusResource,
-                        IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);
-                break;
-            }
-            case ON_ANY_RESOURCE_OF_SAME_PROJECT: {
-                unfiltered = findMarkers(getProjects(focusResource),
-                        IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);
-                break;
-            }
-            case ON_WORKING_SET: {
-                unfiltered = findMarkers(getResourcesInWorkingSet(),
-                        IResource.DEPTH_INFINITE, limit, mon, ignoreExceptions);
-            }
-            }
-        }
-
-        if (unfiltered == null) {
-            unfiltered = Collections.EMPTY_LIST;
-        }
-
-        return (ConcreteMarker[]) unfiltered
-                .toArray(new ConcreteMarker[unfiltered.size()]);
-    }
-
-    IResource[] getResourcesInWorkingSet() {
-        if (workingSet == null) {
-            return new IResource[0];
-        }
-
-        IAdaptable[] elements = workingSet.getElements();
-        List result = new ArrayList(elements.length);
-
-        for (int idx = 0; idx < elements.length; idx++) {
-            IResource next = (IResource) elements[idx]
-                    .getAdapter(IResource.class);
-
-            if (next != null) {
-                result.add(next);
-            }
-        }
-
-        return (IResource[]) result.toArray(new IResource[result.size()]);
-    }
-
-    /**
-     * Returns a set of strings representing the full pathnames to every resource directly
-     * or indirectly contained in the working set. A resource is in the working set iff its
-     * path name can be found in this set.
-     * 
-     * @return
-     */
-    private Set getWorkingSetAsSetOfPaths() {
-        if (cachedWorkingSet == null) {
-            HashSet result = new HashSet();
-
-            addResourcesAndChildren(result, getResourcesInWorkingSet());
-
-            cachedWorkingSet = result;
-        }
-
-        return cachedWorkingSet;
-    }
-
-    /***
-     * Adds the paths of all resources in the given array to the given set. 
-     */
-    private void addResourcesAndChildren(HashSet result, IResource[] resources) {
-        for (int idx = 0; idx < resources.length; idx++) {
-
-            IResource currentResource = resources[idx];
-
-            result.add(currentResource.getFullPath().toString());
-
-            if (currentResource instanceof IContainer) {
-                IContainer cont = (IContainer) currentResource;
-
-                try {
-                    addResourcesAndChildren(result, cont.members());
-                } catch (CoreException e) {
-                    // Ignore errors
-                }
-            }
-
-        }
-    }
-
-    /**
-     * Returns the set of projects that contain the given set of resources.
-     * 
-     * @param resources
-     * @return
-     */
-    static IProject[] getProjects(IResource[] resources) {
-        if (resources == null) {
-            return new IProject[0];
-        }
-
-        Collection projects = getProjectsAsCollection(resources);
-
-        return (IProject[]) projects.toArray(new IProject[projects.size()]);
-    }
-
-    static Collection getProjectsAsCollection(IResource[] resources) {
-        HashSet projects = new HashSet();
-
-        for (int idx = 0; idx < resources.length; idx++) {
-            projects.add(resources[idx].getProject());
-        }
-
-        return projects;
-    }
-
-    public boolean select(ConcreteMarker marker) {
-        if (!isEnabled()) {
-            return true;
-        }
-
-        return selectByType(marker) && selectBySelection(marker)
-                && selectMarker(marker);
-    }
-
-    private boolean selectByType(ConcreteMarker marker) {
-        return selectedTypes.contains(typesModel.getType(marker.getType()));
-    }
-
-    /**
-     * Returns whether the specified marker should be filter out or not.
-     * 
-     * @param marker the marker to test
-     * @return 
-     * 	true=the marker should not be filtered out
-     * 	false=the marker should be filtered out
-     */
-    private boolean selectBySelection(ConcreteMarker marker) {
-        if (onResource == ON_ANY_RESOURCE || marker == null)
-            return true;
-
-        if (focusResource == null)
-            return true;
-
-        IResource resource = marker.getResource();
-
-        if (onResource == ON_WORKING_SET) {
-            if (workingSet == null)
-                return true;
-
-            if (resource != null)
-                return isEnclosed(resource);
-
-        } else if (onResource == ON_ANY_RESOURCE_OF_SAME_PROJECT) {
-            IProject project = resource.getProject();
-
-            if (project == null) {
-                return false;
-            }
-
-            for (int i = 0; i < focusResource.length; i++) {
-                IProject selectedProject = focusResource[i].getProject();
-
-                if (selectedProject == null) {
-                    continue;
-                }
-
-                if (project.equals(selectedProject))
-                    return true;
-            }
-        } else if (onResource == ON_SELECTED_RESOURCE_ONLY) {
-            for (int i = 0; i < focusResource.length; i++) {
-                if (resource.equals(focusResource[i]))
-                    return true;
-            }
-        } else if (onResource == ON_SELECTED_RESOURCE_AND_CHILDREN) {
-            for (int i = 0; i < focusResource.length; i++) {
-                IResource parentResource = resource;
-
-                while (parentResource != null) {
-                    if (parentResource.equals(focusResource[i]))
-                        return true;
-
-                    parentResource = parentResource.getParent();
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns if the given resource is enclosed by a working set element.
-     * Previous versions of this method used IContainmentAdapter for 
-     * containment tests. For performance reasons, this is no longer possible.
-     * Code that relies on this behavior should be updated appropriately.
-     * 
-     * @param element resource to test for enclosure by a working set
-     * 	element 
-     * @return true if element is enclosed by a working set element and 
-     * 	false otherwise. 
-     */
-    private boolean isEnclosed(IResource element) {
-        if (workingSet == null) {
-            return false;
-        }
-        Set workingSetPaths = getWorkingSetAsSetOfPaths();
-
-        return workingSetPaths.contains(element.getFullPath().toString());
-    }
-
-    /**
-     * @return the defined limit on the number of markers to be displayed.
-     */
-    int getMarkerLimit() {
-        return markerLimit;
-    }
-
-    /**
-     * Sets the limit on the number of markers to be displayed.
-     * 
-     * @param the new limit
-     */
-    void setMarkerLimit(int markerLimit) {
-        this.markerLimit = markerLimit;
-    }
-
-    /**
-     * @return <ul>
-     * <li><code>MarkerFilter.ON_ANY_RESOURCE</code> if showing items associated with any resource.</li>
-     * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_ONLY</code> if showing items associated with
-     * the selected resource within the workbench.</li>
-     * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN</code> if showing items associated with
-     * the selected resource within the workbench and its children.</li>
-     * <li><code>MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT</code> if showing items in the same project
-     * as the selected resource within the workbench.</li>
-     * <li><code>MarkerFilter.ON_WORKING_SET</code> if showing items in some working set.</li>
-     * </ul>
-     */
-    int getOnResource() {
-        return onResource;
-    }
-
-    /**
-     * Sets the type of filtering by selection.
-     * 
-     * @param onResource must be one of:
-     * <ul>
-     * <li><code>MarkerFilter.ON_ANY_RESOURCE</code></li>
-     * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_ONLY</code></li>
-     * <li><code>MarkerFilter.ON_SELECTED_RESOURCE_AND_CHILDREN</code></li>
-     * <li><code>MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT</code></li>
-     * <li><code>MarkerFilter.ON_WORKING_SET</code></li>
-     * </ul>
-     */
-    void setOnResource(int onResource) {
-        if (onResource >= ON_ANY_RESOURCE && onResource <= ON_WORKING_SET)
-            this.onResource = onResource;
-    }
-
-    /**
-     * @return the selected resource(s) withing the workbench.
-     */
-    IResource[] getFocusResource() {
-        return focusResource;
-    }
-
-    /**
-     * Sets the focused resources.
-     */
-    public void setFocusResource(IResource[] resources) {
-        focusResource = resources;
-    }
-
-    /**
-     * @return
-     * <ul>
-     * <li><code>true</code> if the filter is enabled.</li>
-     * <li><code>false</code> if the filter is not enabled.</li>
-     * </ul>
-     */
-    boolean isEnabled() {
-        return enabled;
-    }
-
-    /**
-     * @return
-     * <ul>
-     * <li><code>true</code> if filtering by marker limit is enabled.</li>
-     * <li><code>false</code> if filtering by marker limit is not enabled.</li>
-     * </ul>
-     */
-    boolean getFilterOnMarkerLimit() {
-        return filterOnMarkerLimit;
-    }
-
-    /**
-     * @return the root marker types.
-     */
-    List getRootTypes() {
-        return rootTypes;
-    }
-
-    /**
-     * @return the selected marker types to be displayed.
-     */
-    List getSelectedTypes() {
-        return selectedTypes;
-    }
-
-    /**
-     * @return the current working set or <code>null</code> if no working set is defined.
-     */
-    IWorkingSet getWorkingSet() {
-        return workingSet;
-    }
-
-    /**
-     * Sets the enablement state of the filter.
-     */
-    void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-    }
-
-    /**
-     * Sets the enablement state of filtering by marker limit.
-     */
-    void setFilterOnMarkerLimit(boolean filterOnMarkerLimit) {
-        this.filterOnMarkerLimit = filterOnMarkerLimit;
-    }
-
-    /**
-     * Sets the selected marker types to be displayed. The List <b>MUST ONLY</b> contain 
-     * <code>MarkerType</code> objects.
-     */
-    void setSelectedTypes(List selectedTypes) {
-        this.selectedTypes = selectedTypes;
-    }
-
-    /**
-     * Sets the current working set.
-     */
-    void setWorkingSet(IWorkingSet workingSet) {
-        this.workingSet = workingSet;
-        cachedWorkingSet = null;
-    }
-
-    void resetState() {
-        enabled = DEFAULT_ACTIVATION_STATUS;
-        filterOnMarkerLimit = DEFAULT_FILTER_ON_MARKER_LIMIT;
-        markerLimit = DEFAULT_MARKER_LIMIT;
-        onResource = DEFAULT_ON_RESOURCE;
-        selectedTypes.clear();
-        addAllSubTypes();
-        setWorkingSet(null);
-    }
-
-    public void restoreState(IDialogSettings dialogSettings) {
-        resetState();
-        IDialogSettings settings = dialogSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings != null) {
-            String setting = settings.get(TAG_ENABLED);
-
-            if (setting != null)
-                enabled = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_FILTER_ON_MARKER_LIMIT);
-
-            if (setting != null)
-                filterOnMarkerLimit = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_MARKER_LIMIT);
-
-            if (setting != null)
-                try {
-                    markerLimit = Integer.parseInt(setting);
-                } catch (NumberFormatException eNumberFormat) {
-                }
-
-            setting = settings.get(TAG_ON_RESOURCE);
-
-            if (setting != null)
-                try {
-                    onResource = Integer.parseInt(setting);
-                } catch (NumberFormatException eNumberFormat) {
-                }
-
-            setting = settings.get(TAG_SELECTED_TYPES);
-
-            if (setting != null) {
-                selectedTypes.clear();
-                StringTokenizer stringTokenizer = new StringTokenizer(setting);
-
-                while (stringTokenizer.hasMoreTokens()) {
-                    MarkerType markerType = typesModel.getType(stringTokenizer
-                            .nextToken(TAG_TYPES_DELIMITER));
-
-                    if (markerType != null
-                            && !selectedTypes.contains(markerType))
-                        selectedTypes.add(markerType);
-                }
-            }
-
-            setting = settings.get(TAG_WORKING_SET);
-
-            if (setting != null)
-                setWorkingSet(WorkbenchPlugin.getDefault()
-                        .getWorkingSetManager().getWorkingSet(setting));
-        }
-    }
-
-    public void saveState(IDialogSettings dialogSettings) {
-        if (dialogSettings != null) {
-            IDialogSettings settings = dialogSettings
-                    .getSection(TAG_DIALOG_SECTION);
-
-            if (settings == null)
-                settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-            settings.put(TAG_ENABLED, enabled);
-            settings.put(TAG_FILTER_ON_MARKER_LIMIT, filterOnMarkerLimit);
-            settings.put(TAG_MARKER_LIMIT, markerLimit);
-            settings.put(TAG_ON_RESOURCE, onResource);
-
-            String markerTypeIds = ""; //$NON-NLS-1$
-
-            for (int i = 0; i < selectedTypes.size(); i++) {
-                MarkerType markerType = (MarkerType) selectedTypes.get(i);
-                markerTypeIds += markerType.getId() + TAG_TYPES_DELIMITER;
-            }
-
-            settings.put(TAG_SELECTED_TYPES, markerTypeIds);
-
-            if (workingSet != null)
-                settings.put(TAG_WORKING_SET, workingSet.getName());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java
deleted file mode 100644
index 2b76ef7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerLabelProvider.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-class MarkerLabelProvider extends LabelProvider implements ITableLabelProvider {
-
-    IField[] properties;
-
-    public MarkerLabelProvider(IField[] properties) {
-        this.properties = properties;
-    }
-
-    public Image getColumnImage(Object element, int columnIndex) {
-        if (element == null || !(element instanceof IMarker)
-                || properties == null || columnIndex >= properties.length)
-            return null;
-
-        return properties[columnIndex].getImage(element);
-    }
-
-    public String getColumnText(Object element, int columnIndex) {
-        if (element == null || !(element instanceof IMarker)
-                || properties == null || columnIndex >= properties.length)
-            return ""; //$NON-NLS-1$
-
-        return properties[columnIndex].getValue(element);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java
deleted file mode 100644
index c614ed8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerList.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Represents a list of ConcreteMarkers.
- */
-public class MarkerList {
-    //private static final String SEARCHING_FOR_MARKERS = Messages.getString("MarkerList.0"); //$NON-NLS-1$
-    //private Collection markers;
-    private int[] markerCounts = null;
-
-    private ConcreteMarker[] markers;
-
-    /**
-     * Lazily created marker table - maps IMarkers onto ConcreteMarkers.
-     * Null if not created
-     */
-    private Map markerTable;
-
-    /**
-     * Creates an initially empty marker list
-     */
-    public MarkerList() {
-        this(new ConcreteMarker[0]);
-    }
-
-    public MarkerList(Collection markers) {
-        this((ConcreteMarker[]) markers.toArray(new ConcreteMarker[markers
-                .size()]));
-    }
-
-    /**
-     * Creates a list containing the given set of markers
-     * 
-     * @param markers
-     */
-    public MarkerList(ConcreteMarker[] markers) {
-        this.markers = markers;
-    }
-
-    /**
-     * Clears any cached collation keys. Use to free up some memory if the markers in this
-     * list won't be sorted for awhile. 
-     */
-    public void clearCache() {
-        for (int i = 0; i < markers.length; i++) {
-            ConcreteMarker marker = (ConcreteMarker) markers[i];
-
-            marker.clearCache();
-        }
-
-        markerTable = null;
-    }
-
-    /**
-     * Returns the marker table or lazily creates it if it doesn't exist yet
-     * 
-     * @return a map of IMarker onto ConcreteMarker, containing all the ConcreteMarkers in the list
-     */
-    private Map getMarkerMap() {
-        if (markerTable == null) {
-            markerTable = new HashMap();
-
-            for (int idx = 0; idx < markers.length; idx++) {
-                ConcreteMarker marker = markers[idx];
-                markerTable.put(marker.getMarker(), marker);
-            }
-        }
-
-        return markerTable;
-    }
-
-    /**
-     * Returns an existing marker from the list that is associated with
-     * the given IMarker
-     *  
-     * @param toFind the IMarker to lookup in the list
-     * @return the ConcreteMarker that corresponds to the given IMarker
-     */
-    public ConcreteMarker getMarker(IMarker toFind) {
-        return (ConcreteMarker) getMarkerMap().get(toFind);
-    }
-
-    public static ConcreteMarker createMarker(IMarker marker)
-            throws CoreException {
-        if (marker.isSubtypeOf(IMarker.TASK)) {
-            return new TaskMarker(marker);
-        } else if (marker.isSubtypeOf(IMarker.BOOKMARK)) {
-            return new BookmarkMarker(marker);
-        } else if (marker.isSubtypeOf(IMarker.PROBLEM)) {
-            return new ProblemMarker(marker);
-        } else
-            return new ConcreteMarker(marker);
-    }
-
-    public void refresh() {
-        for (int markerIdx = 0; markerIdx < markers.length; markerIdx++) {
-            ConcreteMarker next = markers[markerIdx];
-            next.refresh();
-        }
-    }
-
-    public List asList() {
-        return Arrays.asList(markers);
-    }
-
-    public MarkerList findMarkers(Collection ofIMarker) {
-        List result = new ArrayList(ofIMarker.size());
-
-        Iterator iter = ofIMarker.iterator();
-        while (iter.hasNext()) {
-            IMarker next = (IMarker) iter.next();
-
-            ConcreteMarker marker = getMarker(next);
-            if (marker != null) {
-                result.add(marker);
-            }
-        }
-
-        return new MarkerList(result);
-    }
-
-    public static ConcreteMarker[] createMarkers(IMarker[] source)
-            throws CoreException {
-        ConcreteMarker[] result = new ConcreteMarker[source.length];
-
-        for (int idx = 0; idx < source.length; idx++) {
-            result[idx] = createMarker(source[idx]);
-        }
-
-        return result;
-    }
-
-    /**
-     * Computes the set of markers that match the given filter
-     * @param filter the filter to apply
-     * @param mon the monitor to update
-     * @param ignoreExceptions whether or not exception will be shown
-     * @return MarkerList
-     * @throws CoreException
-     */
-    public static MarkerList compute(MarkerFilter filter, IProgressMonitor mon,
-            boolean ignoreExceptions) throws CoreException {
-        return new MarkerList(filter.findMarkers(mon, ignoreExceptions));
-    }
-
-    /**
-     * Returns a new MarkerList containing all markers in the workspace of the specified types
-     * @param types
-     * @return  IMarker[]
-     * @throws CoreException
-     */
-    public static IMarker[] compute(String[] types) throws CoreException {
-
-        ArrayList result = new ArrayList();
-        IResource input = ResourcesPlugin.getWorkspace().getRoot();
-
-        for (int i = 0; i < types.length; i++) {
-            IMarker[] newMarkers = input.findMarkers(types[i], true,
-                    IResource.DEPTH_INFINITE);
-            result.addAll(Arrays.asList(newMarkers));
-        }
-
-        return (IMarker[]) result.toArray(new IMarker[result.size()]);
-    }
-
-    /**
-     * Returns the markers in the list. Read-only.
-     * 
-     * @return an array of markers in the list
-     */
-    public ConcreteMarker[] toArray() {
-        return markers;
-    }
-
-    /**
-     * Returns the markers in this list. Read-only.
-     * 
-     * @return the markers in the list
-     */
-    //public Collection getMarkers() {
-    //	return markers;
-    //}
-    /**
-     * Returns the number of items in the list
-     *  
-     * @return the number of items 
-     */
-    public int getItemCount() {
-        return markers.length;
-    }
-
-    /**
-     * Returns the number of error markers in the list
-     * 
-     * @return the number of errors 
-     */
-    public int getErrors() {
-        return getMarkerCounts()[IMarker.SEVERITY_ERROR];
-    }
-
-    /**
-     * Returns the number of info markers in the list
-     * 
-     * @return the number of info markers
-     */
-    public int getInfos() {
-        return getMarkerCounts()[IMarker.SEVERITY_INFO];
-    }
-
-    /**
-     * Returns the number of warning markers in the list 
-     * 
-     * @return the number of warning markers
-     */
-    public int getWarnings() {
-        return getMarkerCounts()[IMarker.SEVERITY_WARNING];
-    }
-
-    /**
-     * Returns an array of marker counts where getMarkerCounts()[severity] is the number
-     * of markers in the list with the given severity. 
-     * 
-     * @return an array of marker counts
-     */
-    private int[] getMarkerCounts() {
-        if (markerCounts == null) {
-            markerCounts = new int[] { 0, 0, 0 };
-
-            for (int idx = 0; idx < markers.length; idx++) {
-                ConcreteMarker marker = markers[idx];
-
-                if (marker instanceof ProblemMarker) {
-                    int severity = ((ProblemMarker) markers[idx]).getSeverity();
-                    if (severity >= 0 && severity <= 2) {
-                        markerCounts[severity]++;
-                    }
-                }
-
-            }
-        }
-        return markerCounts;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java
deleted file mode 100644
index 477eb48..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerRegistry.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.util.ListenerList;
-
-/**
- * Registry that tracks resource markers and maintains a sorted, filtered list of the markers. 
- * Notifies listeners of changes in these markers.
- */
-public class MarkerRegistry implements IResourceChangeListener,
-        ITableViewContentProvider {
-
-    private IFilter filter;
-
-    private IResource input;
-
-    private String[] types = new String[0];
-
-    private ListenerList listeners = new ListenerList();
-
-    public MarkerRegistry() {
-    }
-
-    /** 
-     * Disposes the registry, releasing all listeners 
-     * and any other allocated resources.
-     */
-    public void dispose() {
-        listeners.clear();
-        setInput(null);
-    }
-
-    /**
-     * @return a filtered, sorted list of markers.
-     */
-    public Object[] getElements() {
-        Object[] elements = getUnfilteredElements();
-        if (filter != null) {
-            Object[] filteredItems = filter.filter(elements);
-            return filteredItems;
-        }
-        return elements;
-    }
-
-    /**
-     * @return an unfiltered list of elements
-     */
-    public Object[] getUnfilteredElements() {
-        if (input == null) {
-            return new Object[0];
-        }
-        List elements = new ArrayList();
-        for (int i = 0; i < types.length; i++) {
-            try {
-                IMarker[] newMarkers = input.findMarkers(types[i], true,
-                        IResource.DEPTH_INFINITE);
-                elements.addAll(Arrays.asList(newMarkers));
-            } catch (CoreException e) {
-            }
-        }
-        return elements.toArray();
-    }
-
-    /**
-     * @return the registry's filter or <code>null</code> if no filter has been assigned 
-     * to the registry.
-     */
-    public IFilter getFilter() {
-        return filter;
-    }
-
-    /**
-     * @return the registry's input resource
-     */
-    public IResource getInput() {
-        return input;
-    }
-
-    /**
-     * Sets the registry's filter
-     * 
-     * @param filter 
-     */
-    public void setFilter(IFilter filter) {
-        if (this.filter == null || !this.filter.equals(filter)) {
-            this.filter = filter;
-        }
-    }
-
-    /**
-     * Sets the registry's input resource
-     * 
-     * @param resource
-     */
-    public void setInput(IResource resource) {
-        if (input != null) {
-            if (input.equals(resource))
-                return;
-            input.getWorkspace().removeResourceChangeListener(this);
-        }
-        input = resource;
-        if (input != null)
-            resource.getWorkspace().addResourceChangeListener(this);
-    }
-
-    /**
-     * @return the base marker types that the registry is tracking
-     */
-    public String[] getTypes() {
-        return types;
-    }
-
-    /**
-     * Sets the base marker types to track. By default the registry will search for
-     * all markers of these types and their subtypes.
-     * 
-     * @param types
-     */
-    public void setTypes(String[] types) {
-        if (types == null)
-            this.types = new String[0];
-        else
-            this.types = types;
-    }
-
-    /**
-     * Convenience method used if only interested in one base marker type.
-     * 
-     * @param type
-     */
-    public void setType(String type) {
-        setTypes(new String[] { type });
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-     */
-    public void resourceChanged(IResourceChangeEvent event) {
-
-        // gather all marker changes from the delta.
-        // be sure to do this in the calling thread, 
-        // as the delta is destroyed when this method returns
-        final List additions = new ArrayList();
-        final List removals = new ArrayList();
-        final List changes = new ArrayList();
-
-        IResourceDelta delta = event.getDelta();
-        if (delta == null)
-            return;
-        getMarkerDeltas(delta, additions, removals, changes);
-        //filter additions and changes but not removals since they have already been deleted
-        filterList(additions);
-        filterList(changes);
-        notifyListeners(additions, removals, changes);
-    }
-
-    /**
-     * Recursively walks over the resource delta and gathers all marker deltas.  Marker
-     * deltas are placed into one of the two given lists depending on the type of delta 
-     * (add or remove).
-     */
-    private void getMarkerDeltas(IResourceDelta delta, List additions,
-            List removals, List changes) {
-        IMarkerDelta[] markerDeltas = delta.getMarkerDeltas();
-        for (int i = 0; i < markerDeltas.length; i++) {
-            IMarkerDelta markerDelta = markerDeltas[i];
-            IMarker marker = markerDelta.getMarker();
-            switch (markerDelta.getKind()) {
-            case IResourceDelta.ADDED: {
-                boolean added = false;
-                for (int j = 0; j < types.length && !added; j++) {
-                    if (markerDelta.isSubtypeOf(types[j])) {
-                        additions.add(marker);
-                        added = true;
-                    }
-                }
-                break;
-            }
-            case IResourceDelta.REMOVED: {
-                boolean added = false;
-                for (int j = 0; j < types.length && !added; j++) {
-                    if (markerDelta.isSubtypeOf(types[j])) {
-                        removals.add(marker);
-                        added = true;
-                    }
-                }
-                break;
-            }
-            case IResourceDelta.CHANGED: {
-                boolean added = false;
-                for (int j = 0; j < types.length && !added; j++) {
-                    if (markerDelta.isSubtypeOf(types[j])) {
-                        changes.add(marker);
-                        added = true;
-                    }
-                }
-                break;
-            }
-            }
-        }
-
-        //recurse on child deltas
-        IResourceDelta[] children = delta.getAffectedChildren();
-        for (int i = 0; i < children.length; i++) {
-            getMarkerDeltas(children[i], additions, removals, changes);
-        }
-    }
-
-    private void notifyListeners(List additions, List removals, List changes) {
-        Object[] listeners = this.listeners.getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            IItemsChangedListener listener = (IItemsChangedListener) listeners[i];
-            listener.itemsChanged(additions, removals, changes);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.ITableViewContentProvider#addItemsChangedListener(org.eclipse.ui.views.internal.tableview.IItemsChangedListener)
-     */
-    public void addItemsChangedListener(IItemsChangedListener listener) {
-        listeners.add(listener);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.ITableViewContentProvider#removeItemsChangedListener(org.eclipse.ui.views.internal.tableview.IItemsChangedListener)
-     */
-    public void removeItemsChangedListener(IItemsChangedListener listener) {
-        listeners.remove(listener);
-    }
-
-    /**
-     * @return the number of items
-     */
-    public int getItemCount() {
-        //TODO do this more efficiently
-        return getElements().length;
-    }
-
-    public int getRawItemCount() {
-        //TODO do this more efficiently
-        return getUnfilteredElements().length;
-    }
-
-    private void filterList(List list) {
-        if (filter == null || list == null) {
-            return;
-        }
-        int i = 0;
-        while (i < list.size()) {
-            if (filter.select(list.get(i))) {
-                i++;
-            } else {
-                list.remove(i);
-            }
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
deleted file mode 100644
index b9567d8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerType.java
+++ /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
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents a marker type.
- */
-class MarkerType {
-    private MarkerTypesModel model;
-
-    private String id;
-
-    private String label;
-
-    private String[] supertypeIds;
-
-    /**
-     * Creates a new marker type.
-     */
-    public MarkerType(MarkerTypesModel model, String id, String label,
-            String[] supertypeIds) {
-        this.model = model;
-        this.id = id;
-        this.label = label;
-        this.supertypeIds = supertypeIds;
-    }
-
-    /**
-     * Returns all this type's supertypes.
-     */
-    public MarkerType[] getAllSupertypes() {
-        ArrayList result = new ArrayList();
-        getAllSupertypes(result);
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-    }
-
-    /**
-     * Appends all this type's supertypes to the given list.
-     */
-    private void getAllSupertypes(ArrayList result) {
-        MarkerType[] supers = getSupertypes();
-        for (int i = 0; i < supers.length; ++i) {
-            MarkerType sup = supers[i];
-            if (!result.contains(sup)) {
-                result.add(sup);
-                sup.getAllSupertypes(result);
-            }
-        }
-    }
-
-    /**
-     * Returns the marker type id.
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * Returns the human-readable label for this marker type.
-     */
-    public String getLabel() {
-        return label;
-    }
-
-    /**
-     * Returns the types which have this type as a direct supertype.
-     *
-     * @return the direct subtypes of this type
-     */
-    public MarkerType[] getSubtypes() {
-        MarkerType[] types = model.getTypes();
-        ArrayList result = new ArrayList();
-        for (int i = 0; i < types.length; ++i) {
-            MarkerType type = types[i];
-            String[] supers = type.getSupertypeIds();
-            for (int j = 0; j < supers.length; ++j) {
-                if (supers[j].equals(id)) {
-                    result.add(type);
-                }
-            }
-        }
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-    }
-
-    public MarkerType[] getAllSubTypes() {
-        List subTypes = new ArrayList();
-        addSubTypes(subTypes, this);
-        MarkerType[] subs = new MarkerType[subTypes.size()];
-        subTypes.toArray(subs);
-        return subs;
-    }
-
-    private void addSubTypes(List list, MarkerType superType) {
-        MarkerType[] subTypes = superType.getSubtypes();
-        for (int i = 0; i < subTypes.length; i++) {
-            MarkerType subType = subTypes[i];
-            if (!list.contains(subType)) {
-                list.add(subType);
-            }
-            addSubTypes(list, subType);
-        }
-    }
-
-    /**
-     * Returns the marker type ids for this type's supertypes.
-     */
-    public String[] getSupertypeIds() {
-        return supertypeIds;
-    }
-
-    /**
-     * Returns this type's direct supertypes.
-     */
-    public MarkerType[] getSupertypes() {
-        ArrayList result = new ArrayList();
-        for (int i = 0; i < supertypeIds.length; ++i) {
-            MarkerType sup = model.getType(supertypeIds[i]);
-            if (sup != null) {
-                result.add(sup);
-            }
-        }
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-    }
-
-    /**
-     * Returns whether this marker type is considered to be a subtype of
-     * the given marker type. 
-     *
-     * @return boolean <code>true</code>if this type is the same as (or a subtype of) the given type
-     */
-    public boolean isSubtypeOf(MarkerType superType) {
-        if (id.equals(superType.getId())) {
-            return true;
-        }
-        for (int i = 0; i < supertypeIds.length; ++i) {
-            MarkerType sup = model.getType(supertypeIds[i]);
-            if (sup != null && sup.isSubtypeOf(superType)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public boolean equals(Object other) {
-        if (!(other instanceof MarkerType)) {
-            return false;
-        }
-        return ((MarkerType) other).getId().equals(this.id);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
deleted file mode 100644
index 4f9c4ea..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerTypesModel.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Maintains a model of all known marker types.
- */
-class MarkerTypesModel {
-    /**
-     * Maps from marker type id to MarkerType.
-     */
-    private HashMap types;
-
-    /**
-     * Creates a new marker types model.
-     */
-    public MarkerTypesModel() {
-        types = readTypes();
-    }
-
-    /**
-     * Returns the marker type with the given id, or <code>null</code> if there is no such marker type.
-     */
-    public MarkerType getType(String id) {
-        return (MarkerType) types.get(id);
-    }
-
-    /**
-     * Returns all known marker types.
-     */
-    public MarkerType[] getTypes() {
-        MarkerType[] result = new MarkerType[types.size()];
-        types.values().toArray(result);
-        return result;
-    }
-
-    /**
-     * Returns the label for the given marker type.
-     * Workaround until we have labels in XML.
-     */
-    private String getWellKnownLabel(String type) {
-        if (type.equals(IMarker.PROBLEM))
-            return "Problem";//$NON-NLS-1$
-        if (type.equals(IMarker.TASK))
-            return "Task";//$NON-NLS-1$
-        if (type.equals("org.eclipse.jdt.core.problem"))//$NON-NLS-1$
-            return "Java Problem";//$NON-NLS-1$
-        return type;
-    }
-
-    /**
-     * Reads the marker types from the registry.
-     */
-    private HashMap readTypes() {
-        HashMap types = new HashMap();
-        IExtensionPoint point = Platform.getPluginRegistry().getExtensionPoint(
-                ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_MARKERS);
-        if (point != null) {
-            // Gather all registered marker types.
-            IExtension[] extensions = point.getExtensions();
-            for (int i = 0; i < extensions.length; ++i) {
-                IExtension ext = extensions[i];
-                String id = ext.getUniqueIdentifier();
-                String label = ext.getLabel();
-                if (label.equals("")) {//$NON-NLS-1$
-                    label = getWellKnownLabel(id);
-                }
-                ArrayList supersList = new ArrayList();
-                IConfigurationElement[] configElements = ext
-                        .getConfigurationElements();
-                for (int j = 0; j < configElements.length; ++j) {
-                    IConfigurationElement elt = configElements[j];
-                    if (elt.getName().equalsIgnoreCase("super")) {//$NON-NLS-1$
-                        String sup = elt.getAttribute("type");//$NON-NLS-1$
-                        if (sup != null) {
-                            supersList.add(sup);
-                        }
-                    }
-                }
-                String[] superTypes = new String[supersList.size()];
-                supersList.toArray(superTypes);
-                MarkerType type = new MarkerType(this, id, label, superTypes);
-                types.put(id, type);
-            }
-        }
-        return types;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
deleted file mode 100644
index 4a39a59..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
+++ /dev/null
@@ -1,892 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-import org.eclipse.ui.progress.WorkbenchJob;
-import org.eclipse.ui.views.navigator.ShowInNavigatorAction;
-import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter;
-
-public abstract class MarkerView extends TableView {
-
-    private static final String WAITING_FOR_WORKSPACE_CHANGES_TO_FINISH = Messages
-            .getString("MarkerView.waiting_on_changes"); //$NON-NLS-1$
-
-    private static final String SEARCHING_FOR_MARKERS = Messages
-            .getString("MarkerView.searching_for_markers"); //$NON-NLS-1$
-
-    private static final String REFRESHING_MARKER_COUNTS = Messages
-            .getString("MarkerView.refreshing_counts"); //$NON-NLS-1$
-
-    private static final String QUEUEING_VIEWER_UPDATES = Messages
-            .getString("MarkerView.queueing_updates"); //$NON-NLS-1$
-
-    private static final String FILTERING_ON_MARKER_LIMIT = Messages
-            .getString("MarkerView.18"); //$NON-NLS-1$
-
-    private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-
-    private static final String TAG_MARKER = "marker"; //$NON-NLS-1$
-
-    private static final String TAG_RESOURCE = "resource"; //$NON-NLS-1$
-
-    private static final String TAG_ID = "id"; //$NON-NLS-1$
-
-    //A private field for keeping track of the number of markers
-    //before the busy testing started
-    private int preBusyMarkers = 0;
-
-    protected IResource[] focusResources;
-
-    private Clipboard clipboard;
-
-    IResourceChangeListener resourceListener = new IResourceChangeListener() {
-        public void resourceChanged(IResourceChangeEvent event) {
-            String[] markerTypes = getMarkerTypes();
-
-            boolean refreshNeeded = false;
-
-            for (int idx = 0; idx < markerTypes.length; idx++) {
-                IMarkerDelta[] markerDeltas = event.findMarkerDeltas(
-                        markerTypes[idx], true);
-                List changes = new ArrayList(markerDeltas.length);
-
-                examineDelta(markerDeltas, changes);
-
-                if (markerDeltas.length != changes.size()) {
-                    refreshNeeded = true;
-                }
-
-                MarkerList changed = currentMarkers.findMarkers(changes);
-                changed.refresh();
-
-                change(changed.asList());
-            }
-
-            // Refresh everything if markers were added or removed
-            if (refreshNeeded) {
-                markerCountDirty = true;
-                refresh();
-            }
-        }
-    };
-
-    protected ActionCopyMarker copyAction;
-
-    protected ActionPasteMarker pasteAction;
-
-    protected SelectionProviderAction revealAction;
-
-    protected SelectionProviderAction openAction;
-
-    protected SelectionProviderAction showInNavigatorAction;
-
-    protected SelectionProviderAction deleteAction;
-
-    protected SelectionProviderAction selectAllAction;
-
-    protected SelectionProviderAction propertiesAction;
-
-    private ISelectionListener focusListener = new ISelectionListener() {
-        public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-            MarkerView.this.focusSelectionChanged(part, selection);
-        }
-    };
-
-    private MarkerList currentMarkers = new MarkerList();
-
-    private int totalMarkers = 0;
-
-    private boolean markerCountDirty = true;
-
-    WorkbenchJob uiJob;
-
-    /**
-     * This job is scheduled whenever a filter or resource change occurs. It computes the new
-     * set of markers and schedules a UI Job to cause the changes to be reflected in the UI.
-     */
-
-    private RestartableJob refreshJob = null;
-
-    private void internalRefresh(IProgressMonitor monitor)
-            throws InvocationTargetException, InterruptedException {
-        int markerLimit = getMarkerLimit();
-        monitor
-                .beginTask(
-                        Messages.getString("MarkerView.19"), markerLimit == -1 ? 60 : 100); //$NON-NLS-1$
-
-        haltTableUpdates();
-        IJobManager jobMan = Platform.getJobManager();
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-
-        try {
-            monitor.subTask(WAITING_FOR_WORKSPACE_CHANGES_TO_FINISH);
-
-            jobMan.beginRule(root, monitor);
-
-            if (monitor.isCanceled()) {
-                return;
-            }
-
-            monitor.subTask(SEARCHING_FOR_MARKERS);
-            SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 10);
-            MarkerList markerList = MarkerList.compute(getFilter(), subMonitor, true);
-
-            if (monitor.isCanceled()) {
-                return;
-            }
-            if (markerCountDirty) {
-                monitor.subTask(REFRESHING_MARKER_COUNTS);
-                totalMarkers = MarkerList.compute(getMarkerTypes()).length;
-                markerCountDirty = false;
-            }
-            
-            currentMarkers = markerList;
-
-        } catch (CoreException e) {
-            throw new InvocationTargetException(e);
-        } finally {
-            jobMan.endRule(root);
-        }
-
-        if (monitor.isCanceled()) {
-            return;
-        }
-
-        // Exit immediately if the markers have changed in the meantime.
-
-        Collection markers = Arrays.asList(currentMarkers.toArray());
-
-        if (markerLimit != -1) {
-
-            monitor.subTask(FILTERING_ON_MARKER_LIMIT);
-            SubProgressMonitor mon = new SubProgressMonitor(monitor, 40);
-
-            markers = SortUtil.getFirst(markers, getSorter(), markerLimit, mon);
-            if (monitor.isCanceled())
-                return;
-            currentMarkers = new MarkerList(markers);
-        }
-
-        monitor.subTask(QUEUEING_VIEWER_UPDATES);
-
-        SubProgressMonitor sub = new SubProgressMonitor(monitor, 50);
-        setContents(markers, sub);
-        if (monitor.isCanceled())
-            return;
-
-        uiJob.schedule();
-        try {
-            uiJob.join();
-        } catch (InterruptedException e) {
-            uiJob.cancel();
-            monitor.done();
-        } finally {
-            if (monitor.isCanceled()) {
-                uiJob.cancel();
-            }
-        }
-
-        monitor.done();
-    }
-
-    /**
-     * Causes the view to re-sync its contents with the workspace. Note that
-     * changes will be scheduled in a background job, and may not take effect
-     * immediately. 
-     */
-    protected void refresh() {
-
-        if (uiJob == null)
-            createUIJob();
-
-        if (refreshJob == null) {
-
-            refreshJob = new RestartableJob(Messages.format(
-                    "MarkerView.refreshTitle", new Object[] { getTitle() }),//$NON-NLS-1$
-                    new IRunnableWithProgress() {
-                        public void run(IProgressMonitor monitor)
-                                throws InvocationTargetException,
-                                InterruptedException {
-                            internalRefresh(monitor);
-                        }
-                    }, getProgressService());
-        }
-
-        refreshJob.restart();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-     */
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        IWorkbenchSiteProgressService progressService = getProgressService();
-        if (progressService != null) {
-	        getProgressService().showBusyForFamily(
-	                ResourcesPlugin.FAMILY_MANUAL_BUILD);
-	        getProgressService().showBusyForFamily(
-	                ResourcesPlugin.FAMILY_AUTO_BUILD);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#createPartControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createPartControl(Composite parent) {
-        clipboard = new Clipboard(parent.getDisplay());
-
-        super.createPartControl(parent);
-
-        initDragAndDrop();
-
-        getSite().getPage().addSelectionListener(focusListener);
-        focusSelectionChanged(getSite().getPage().getActivePart(), getSite()
-                .getPage().getSelection());
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(
-                resourceListener);
-        refresh();
-
-        // Set help on the view itself
-        getViewer().getControl().addHelpListener(new HelpListener() {
-            /*
-             *  (non-Javadoc)
-             * @see org.eclipse.swt.events.HelpListener#helpRequested(org.eclipse.swt.events.HelpEvent)
-             */
-            public void helpRequested(HelpEvent e) {
-                String contextId = null;
-                // See if there is a context registered for the current selection
-                ConcreteMarker marker = (ConcreteMarker) ((IStructuredSelection) getViewer()
-                        .getSelection()).getFirstElement();
-                if (marker != null) {
-                    contextId = IDE.getMarkerHelpRegistry().getHelp(
-                            marker.getMarker());
-                }
-
-                if (contextId == null) {
-                    contextId = PlatformUI.PLUGIN_ID
-                            + ".task_list_view_context"; //$NON-NLS-1$
-                }
-
-                PlatformUI.getWorkbench().getHelpSystem()
-						.displayHelp(contextId);
-            }
-        });
-    }
-
-    protected void viewerSelectionChanged(IStructuredSelection selection) {
-
-        Object[] rawSelection = selection.toArray();
-
-        IMarker[] markers = new IMarker[rawSelection.length];
-
-        for (int idx = 0; idx < rawSelection.length; idx++) {
-            markers[idx] = ((ConcreteMarker) rawSelection[idx]).getMarker();
-        }
-
-        setSelection(new StructuredSelection(markers));
-
-        updateStatusMessage(selection);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-                resourceListener);
-        getSite().getPage().removeSelectionListener(focusListener);
-
-        //dispose of selection provider actions
-        openAction.dispose();
-        copyAction.dispose();
-        selectAllAction.dispose();
-        deleteAction.dispose();
-        revealAction.dispose();
-        showInNavigatorAction.dispose();
-        propertiesAction.dispose();
-        clipboard.dispose();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#createActions()
-     */
-    protected void createActions() {
-        TableViewer viewer = getViewer();
-        revealAction = new ActionRevealMarker(this, getSelectionProvider());
-        openAction = new ActionOpenMarker(this, getSelectionProvider());
-        copyAction = new ActionCopyMarker(this, getSelectionProvider());
-        copyAction.setClipboard(clipboard);
-        copyAction.setProperties(getFields());
-        pasteAction = new ActionPasteMarker(this, getSelectionProvider());
-        pasteAction.setClipboard(clipboard);
-        pasteAction.setPastableTypes(getMarkerTypes());
-        deleteAction = new ActionRemoveMarker(this, getSelectionProvider());
-        selectAllAction = new ActionSelectAll(viewer);
-        showInNavigatorAction = new ShowInNavigatorAction(getViewSite()
-                .getPage(), getSelectionProvider());
-        propertiesAction = new ActionMarkerProperties(this,
-                getSelectionProvider());
-
-        super.createActions();
-
-        putAction(FILTERS_ACTION_ID, new FiltersAction(this));
-    }
-
-    protected abstract String[] getMarkerTypes();
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#initToolBar(org.eclipse.jface.action.IToolBarManager)
-     */
-    protected void initToolBar(IToolBarManager tbm) {
-        tbm.add(deleteAction);
-        tbm.add(getAction(TableView.FILTERS_ACTION_ID));
-        tbm.update(false);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#registerGlobalActions(org.eclipse.ui.IActionBars)
-     */
-    protected void registerGlobalActions(IActionBars actionBars) {
-        actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(),
-                copyAction);
-        actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(),
-                pasteAction);
-        actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(),
-                deleteAction);
-        actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(),
-                selectAllAction);
-        actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(),
-                propertiesAction);
-    }
-
-    protected void initDragAndDrop() {
-        int operations = DND.DROP_COPY;
-        Transfer[] transferTypes = new Transfer[] {
-                MarkerTransfer.getInstance(), TextTransfer.getInstance() };
-        DragSourceListener listener = new DragSourceAdapter() {
-            public void dragSetData(DragSourceEvent event) {
-                performDragSetData(event);
-            }
-
-            public void dragFinished(DragSourceEvent event) {
-            }
-        };
-
-        getViewer().addDragSupport(operations, transferTypes, listener);
-    }
-
-    /**
-     * The user is attempting to drag marker data.  Add the appropriate
-     * data to the event depending on the transfer type.
-     */
-    private void performDragSetData(DragSourceEvent event) {
-        if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-            event.data = ((IStructuredSelection)getSelectionProvider().getSelection())
-                    .toArray();
-            return;
-        }
-        if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-            List selection = ((IStructuredSelection)getSelectionProvider().getSelection())
-                    .toList();
-            try {
-                IMarker[] markers = new IMarker[selection.size()];
-                selection.toArray(markers);
-                if (markers != null) {
-                    event.data = copyAction.createMarkerReport(markers);
-                }
-            } catch (ArrayStoreException e) {
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
-     */
-    protected void fillContextMenu(IMenuManager manager) {
-        if (manager == null)
-            return;
-        manager.add(openAction);
-        manager.add(showInNavigatorAction);
-        manager.add(new Separator());
-        manager.add(copyAction);
-        pasteAction.updateEnablement();
-        manager.add(pasteAction);
-        manager.add(deleteAction);
-        manager.add(selectAllAction);
-        fillContextMenuAdditions(manager);
-        manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        manager.add(new Separator());
-        manager.add(propertiesAction);
-    }
-
-    protected void fillContextMenuAdditions(IMenuManager manager) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#getFilter()
-     */
-    protected abstract MarkerFilter getFilter();
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#handleKeyPressed(org.eclipse.swt.events.KeyEvent)
-     */
-    protected void handleKeyPressed(KeyEvent event) {
-        if (event.character == SWT.DEL && event.stateMask == 0
-                && deleteAction.isEnabled()) {
-            deleteAction.run();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#handleOpenEvent(org.eclipse.jface.viewers.OpenEvent)
-     */
-    protected void handleOpenEvent(OpenEvent event) {
-        openAction.run();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#saveSelection(org.eclipse.ui.IMemento)
-     */
-    protected void saveSelection(IMemento memento) {
-        IStructuredSelection selection = (IStructuredSelection) getViewer()
-                .getSelection();
-        IMemento selectionMem = memento.createChild(TAG_SELECTION);
-        for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
-            ConcreteMarker marker = (ConcreteMarker) iterator.next();
-            IMemento elementMem = selectionMem.createChild(TAG_MARKER);
-            elementMem.putString(TAG_RESOURCE, marker.getMarker().getResource()
-                    .getFullPath().toString());
-            elementMem.putString(TAG_ID, String.valueOf(marker.getMarker()
-                    .getId()));
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.internal.tableview.TableView#restoreSelection(org.eclipse.ui.IMemento)
-     */
-    protected IStructuredSelection restoreSelection(IMemento memento) {
-        if (memento == null) {
-            return new StructuredSelection();
-        }
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IMemento selectionMemento = memento.getChild(TAG_SELECTION);
-        if (selectionMemento == null) {
-            return new StructuredSelection();
-        }
-        ArrayList selectionList = new ArrayList();
-        IMemento[] markerMems = selectionMemento.getChildren(TAG_MARKER);
-        for (int i = 0; i < markerMems.length; i++) {
-            try {
-                long id = new Long(markerMems[i].getString(TAG_ID)).longValue();
-                IResource resource = root.findMember(markerMems[i]
-                        .getString(TAG_RESOURCE));
-                if (resource != null) {
-                    IMarker marker = resource.findMarker(id);
-                    if (marker != null)
-                        selectionList.add(currentMarkers.getMarker(marker));
-                }
-            } catch (CoreException e) {
-            }
-        }
-        return new StructuredSelection(selectionList);
-    }
-
-    protected abstract String[] getRootTypes();
-
-    /**
-     * @param part
-     * @param selection
-     */
-    protected void focusSelectionChanged(IWorkbenchPart part,
-            ISelection selection) {
-
-        List resources = new ArrayList();
-        if (part instanceof IEditorPart) {
-            IEditorInput input = ((IEditorPart) part).getEditorInput();
-            if (input instanceof FileEditorInput) {
-                resources.add(((FileEditorInput) input).getFile());
-            }
-        } else {
-            if (selection instanceof IStructuredSelection) {
-                for (Iterator iterator = ((IStructuredSelection) selection)
-                        .iterator(); iterator.hasNext();) {
-                    Object object = iterator.next();
-                    if (object instanceof IAdaptable) {
-                        ITaskListResourceAdapter taskListResourceAdapter;
-                        Object adapter = ((IAdaptable) object)
-                                .getAdapter(ITaskListResourceAdapter.class);
-                        if (adapter != null
-                                && adapter instanceof ITaskListResourceAdapter) {
-                            taskListResourceAdapter = (ITaskListResourceAdapter) adapter;
-                        } else {
-                            taskListResourceAdapter = DefaultMarkerResourceAdapter
-                                    .getDefault();
-                        }
-
-                        IResource resource = taskListResourceAdapter
-                                .getAffectedResource((IAdaptable) object);
-                        if (resource != null) {
-                            resources.add(resource);
-                        }
-                    }
-                }
-            }
-        }
-
-        IResource[] focus = new IResource[resources.size()];
-        resources.toArray(focus);
-        updateFocusResource(focus);
-    }
-
-    /**
-     * 
-     * @param resources
-     */
-    protected abstract void updateFilterSelection(IResource[] resources);
-
-    void updateFocusResource(IResource[] resources) {
-        boolean updateNeeded = updateNeeded(focusResources, resources);
-        if (updateNeeded) {
-            focusResources = resources;
-            updateFilterSelection(resources);
-            refresh();
-        }
-    }
-
-    private boolean updateNeeded(IResource[] oldResources,
-            IResource[] newResources) {
-        //determine if an update if refiltering is required
-        MarkerFilter filter = getFilter();
-        if (!filter.isEnabled()) {
-            return false;
-        }
-
-        int onResource = filter.getOnResource();
-        if (onResource == MarkerFilter.ON_ANY_RESOURCE
-                || onResource == MarkerFilter.ON_WORKING_SET) {
-            return false;
-        }
-        if (newResources == null || newResources.length < 1) {
-            return false;
-        }
-        if (oldResources == null || oldResources.length < 1) {
-            return true;
-        }
-        if (Arrays.equals(oldResources, newResources)) {
-            return false;
-        }
-        if (onResource == MarkerFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT) {
-            Collection oldProjects = MarkerFilter
-                    .getProjectsAsCollection(oldResources);
-            Collection newProjects = MarkerFilter
-                    .getProjectsAsCollection(newResources);
-
-            if (oldProjects.size() == newProjects.size()) {
-                return !newProjects.containsAll(oldProjects);
-            } else {
-                return true;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns the marker limit or -1 if unlimited
-     *  
-     * @return
-     */
-    private int getMarkerLimit() {
-        MarkerFilter filter = getFilter();
-
-        if (!filter.isEnabled() || !filter.getFilterOnMarkerLimit()) {
-            return -1;
-        }
-
-        return filter.getMarkerLimit();
-    }
-
-    private boolean withinMarkerLimit(int toTest) {
-        int limit = getMarkerLimit();
-
-        return (limit == -1 || toTest <= limit);
-    }
-
-    void updateTitle() {
-        String currentTitle = getTitle();
-        String viewName = getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
-        String status = ""; //$NON-NLS-1$
-        int filteredCount = currentMarkers.getItemCount();
-        int totalCount = getTotalMarkers();
-        if (filteredCount == totalCount) {
-            status = Messages
-                    .format(
-                            "filter.itemsMessage", new Object[] { new Integer(totalCount) }); //$NON-NLS-1$
-        } else {
-            status = Messages
-                    .format(
-                            "filter.matchedMessage", new Object[] { new Integer(filteredCount), new Integer(totalCount) }); //$NON-NLS-1$
-        }
-        setContentDescription(status);
-    }
-
-    /**
-     * Updates the message displayed in the status line.  This method is
-     * invoked in the following cases:
-     * <ul>
-     * <li>when this view is first created</li>
-     * <li>when new elements are added</li>
-     * <li>when something is deleted</li>
-     * <li>when the filters change</li>
-     * </ul>
-     * <p>
-     * By default, this method calls <code>updateStatusMessage(IStructuredSelection)</code>
-     * with the current selection or <code>null</code>.  Classes wishing to override
-     * this functionality, should just override the method
-     * <code>updateStatusMessage(IStructuredSelection)</code>.
-     * </p>
-     */
-    protected void updateStatusMessage() {
-        ISelection selection = getViewer().getSelection();
-
-        if (selection instanceof IStructuredSelection)
-            updateStatusMessage((IStructuredSelection) selection);
-        else
-            updateStatusMessage(null);
-    }
-
-    /**
-     * Updates that message displayed in the status line.  If the
-     * selection parameter is <code>null</code> or its size is 0, the status 
-     * area is blanked out.  If only 1 marker is selected, the
-     * status area is updated with the contents of the message
-     * attribute of this marker.  In other cases (more than one marker
-     * is selected) the status area indicates how many items have
-     * been selected.
-     * <p>
-     * This method may be overwritten.
-     * </p><p>
-     * This method is called whenever a selection changes in this view.
-     * </p>
-     * @param selection a valid selection or <code>null</code>
-     */
-    protected void updateStatusMessage(IStructuredSelection selection) {
-        String message = ""; //$NON-NLS-1$
-
-        if (selection == null || selection.size() == 0) {
-            // Show stats on all items in the view
-            message = updateSummaryVisible();
-        } else if (selection.size() == 1) {
-            // Use the Message attribute of the marker
-            ConcreteMarker marker = (ConcreteMarker) selection
-                    .getFirstElement();
-            message = marker.getDescription(); //$NON-NLS-1$
-        } else if (selection.size() > 1) {
-            // Show stats on only those items in the selection
-            message = updateSummarySelected(selection);
-        }
-        getViewSite().getActionBars().getStatusLineManager()
-                .setMessage(message);
-    }
-
-    /**
-     * @param selection
-     * @return the summary status message
-     */
-    protected String updateSummarySelected(IStructuredSelection selection) {
-        // Show how many items selected
-        return Messages
-                .format(
-                        "marker.statusSummarySelected", new Object[] { new Integer(selection.size()), "" }); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    /**
-     * @return the update summary 
-     */
-    protected String updateSummaryVisible() {
-        return ""; //$NON-NLS-1$
-    }
-
-    public abstract void openFiltersDialog();
-
-    /**
-     * Given a selection of IMarker, reveals the corresponding elements in the viewer
-     * 
-     * @param structuredSelection
-     * @param reveal
-     */
-    public void setSelection(IStructuredSelection structuredSelection,
-            boolean reveal) {
-        TableViewer viewer = getViewer();
-
-        List newSelection = new ArrayList(structuredSelection.size());
-
-        for (Iterator i = structuredSelection.iterator(); i.hasNext();) {
-            Object next = i.next();
-            if (next instanceof IMarker) {
-                ConcreteMarker marker = currentMarkers
-                        .getMarker((IMarker) next);
-                if (marker != null) {
-                    newSelection.add(marker);
-                }
-            }
-        }
-
-        if (viewer != null)
-            viewer.setSelection(new StructuredSelection(newSelection), reveal);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.TableView#setContents(java.util.Collection)
-     */
-    void setContents(Collection contents, IProgressMonitor mon) {
-        if (withinMarkerLimit(contents.size())) {
-            super.setContents(contents, mon);
-        } else {
-            super.setContents(Collections.EMPTY_LIST, mon);
-        }
-    }
-
-    protected MarkerList getVisibleMarkers() {
-        return currentMarkers;
-    }
-
-    /**
-     * Returns the total number of markers. Should not be called while the marker
-     * list is still updating.
-     * 
-     * @return the total number of markers in the workspace (including everything that doesn't pass the filters)
-     */
-    int getTotalMarkers() {
-        // The number of visible markers should never exceed the total number of markers in
-        // the workspace. If this assertation fails, it probably indicates some sort of concurrency problem
-        // (most likely, getTotalMarkers was called while we were still computing the marker lists)
-        //Assert.isTrue(totalMarkers >= currentMarkers.getItemCount());
-
-        return totalMarkers;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.TableView#sorterChanged()
-     */
-    protected void sorterChanged() {
-        refresh();
-    }
-
-    private static void examineDelta(IMarkerDelta[] deltas, List changes) {
-        for (int idx = 0; idx < deltas.length; idx++) {
-            IMarkerDelta delta = deltas[idx];
-            int kind = delta.getKind();
-
-            if (kind == IResourceDelta.CHANGED) {
-                changes.add(deltas[idx].getMarker());
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.WorkbenchPart#showBusy(boolean)
-     */
-    public void showBusy(boolean busy) {
-        super.showBusy(busy);
-
-        if (busy) {
-            preBusyMarkers = totalMarkers;
-        } else {//Only bold if there has been a change in count
-            if (totalMarkers != preBusyMarkers)
-                getProgressService().warnOfContentChange();
-        }
-
-    }
-
-    /**
-     * Create the UIJob used in the receiver for updates.
-     *
-     */
-    private void createUIJob() {
-        uiJob = new WorkbenchJob(Messages
-                .getString("MarkerView.refreshProgress")) { //$NON-NLS-1$
-
-            public IStatus runInUIThread(IProgressMonitor monitor) {
-                updateStatusMessage();
-                updateTitle();
-                return Status.OK_STATUS;
-            }
-        };
-        uiJob.setPriority(Job.INTERACTIVE);
-        uiJob.setSystem(true);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java
deleted file mode 100644
index 8713e7f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-
-public class Messages {
-
-    private final static ResourceBundle bundle = ResourceBundle
-            .getBundle(Messages.class.getName());
-
-    private Messages() {
-        super();
-    }
-
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    public static String getString(String key) {
-        return Util.getString(bundle, key);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties
deleted file mode 100644
index 7d4ac5f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Messages.properties
+++ /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
-###############################################################################
-
-sortAction.title = &Sorting...
-filtersAction.title = &Filters...
-filtersAction.tooltip = Filters...
-
-sortDialog.title = Sorting
-sortDialog.label = Sort by:
-sortDialog.columnLabel = &{0}. 
-sortDirectionAscending.text = &Ascending
-sortDirectionDescending.text = &Descending
-restoreDefaults.text = Restore De&faults
-
-Error = Error: 
-
-columnHeader.message = Description
-columnHeader.location = Location
-columnHeader.lineNumber = Location
-columnHeader.charStart = Char Start
-columnHeader.charEnd = Char End
-columnHeader.transient = Transient
-columnHeader.userEditable = User Editable
-columnHeader.severity = 
-columnHeader.priority =
-columnHeader.done = 
-
-description.message = Description
-description.resource = Resource
-description.folder = In Folder
-description.lineNumber = Location
-description.creationTime = Creation Time
-description.priority = Priority
-description.completion = Completion
-
-label.lineNumber = line {0}
-
-openAction.title = &Go To
-copyAction.title = &Copy
-pasteAction.title = &Paste
-deleteAction.title = &Delete
-deleteAction.tooltip = Delete
-selectAllAction.title = Select &All
-propertiesAction.title = P&roperties
-
-filtersDialog.title = Filters
-filtersDialog.onOff = E&nabled
-filtersDialog.limitVisibleMarkersTo = Limit visi&ble items to:
-filtersDialog.showItemsOfType = Show items of &type:
-filtersDialog.anyResource = On any &resource
-filtersDialog.anyResourceInSameProject = On any resource in same &project
-filtersDialog.selectedResource = On selected resource &only
-filtersDialog.selectedAndChildren = On selected resource and its &children
-filtersDialog.workingSet = On wor&king set:  {0}
-filtersDialog.workingSetSelect = &Select...
-filtersDialog.noWorkingSet = On wor&king set:  <no working set selected>
-filtersDialog.selectAll = Select &All
-filtersDialog.deselectAll = &Deselect All
-filtersDialog.type.columnHeader = Type
-filtersDialog.superTypecolumnHeader = Parent types
-filtersDialog.titleMarkerLimitInvalid = Error
-filtersDialog.messageMarkerLimitInvalid = The visible item limit must be a positive integer.
-filtersDialog.descriptionLabel = Where &description 
-filtersDialog.contains = contains
-filtersDialog.doesNotContain = does not contain
-filtersDialog.severityLabel = Where se&verity is:
-filtersDialog.severityError = &Error
-filtersDialog.severityWarning = Warnin&g
-filtersDialog.severityInfo = &Info
-filtersDialog.priorityLabel = Where priorit&y is: 
-filtersDialog.priorityHigh = &High
-filtersDialog.priorityNormal = &Normal
-filtersDialog.priorityLow = Lo&w
-filtersDialog.statusLabel = Where stat&us is: 
-filtersDialog.statusComplete = Co&mpleted
-filtersDialog.statusIncomplete = Not Comp&leted
-
-propertiesDialog.creationTime.text = Creation &Time: 
-propertiesDialog.description.text = &Description: 
-propertiesDialog.folder.text = In &Folder: 
-propertiesDialog.location.text = &Location: 
-propertiesDialog.resource.text = On &Resource: 
-propertiesDialog.title = Properties
-propertiesDialog.severityLabel = &Severity: {0}
-propertiesDialog.errorLabel = Error
-propertiesDialog.warningLabel = Warning
-propertiesDialog.infoLabel = Info
-propertiesDialog.noseverityLabel = Not defined
-propertiesDialog.priority = &Priority
-propertiesDialog.priorityHigh = High
-propertiesDialog.priorityNormal = Normal
-propertiesDialog.priorityLow = Low
-propertiesDialog.completed = &Completed
-
-markerLimitExceeded.title = There are too many items to display.\n\
-	To see items in this window, adjust the filter settings.
-	
-filter.matchedMessage = Filter matched {0} of {1} items
-filter.itemsMessage = {0} items
-problem.filter.matchedMessage = {0} (Filter matched {1} of {2} items)
-view.title = {0} ({1})
-
-errorModifyingBookmark = Error Modifying Bookmark
-errorModifyingTask = Error Modifying Task
-
-problemSeverity.description = Severity
-problem.statusSummaryVisible = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}: {1}
-problem.statusSummaryBreakdown = {0,choice,0#0 errors|1#{0,number,integer} error|1<{0,number,integer} errors}, {1,choice,0#0 warnings|1#{1,number,integer} warning|1<{1,number,integer} warnings}, {2,choice,0#0 infos|1#{2,number,integer} info|1<{2,number,integer} infos}
-problem.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected: {1}
-marker.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected.
-
-deleteCompletedAction.title = Delete Completed &Tasks
-
-filtersAction.title = &Filters...
-
-markCompletedAction.title = &Mark Completed
-
-resolveMarkerAction.title = &Quick Fix
-resolveMarkerAction.dialogTitle = Quick Fix
-resolveMarkerAction.noResolutionsLabel = There are no quick fixes available for the selected marker.
-
-deleteCompletedTasks.dialogTitle = Delete Completed Tasks
-deleteCompletedTasks.noneCompleted = No user-editable completed tasks to delete.
-deleteCompletedTasks.permanentPlural = Do you want to permanently delete the {0} completed tasks?
-deleteCompletedTasks.permanentSingular = Do you want to permanently delete the completed task?
-deleteCompletedTasks.errorMessage = Error deleting completed tasks
-
-addGlobalTaskAction.title = &Add Task
-addGlobalTaskAction.tooltip = Add Task
-
-addGlobalTaskDialog.title = Add Task
-
-completion.description = Completed
-priority.description = Priority
-
-priority.high = High
-priority.normal = Normal
-priority.low = Low
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-MarkerList.0=Searching for markers
-
-TableContentProvider.TableSynchronization=Table synchronization
-TableContentProvider.Updating=Updating table widget
-
-MarkerFilter.searching=Searching for markers
-MarkerView.refreshProgress=Refreshing marker view
-MarkerView.refreshTitle=Updating {0} view
-TableView.populating=Populating {0} view
-
-MarkerView.waiting_on_changes=Waiting for workspace changes to finish
-MarkerView.searching_for_markers=Searching for markers
-MarkerView.refreshing_counts=Refreshing marker counts
-MarkerView.queueing_updates=Queueing viewer updates
-DeferredQueue.setting_contents=Setting contents
-DeferredQueue.enqueueing_items=Enqueueing items
-MarkerView.18=Filtering on marker limit
-MarkerView.19=Refreshing view
-SortUtil.finding_first=Finding first items
-SortUtil.partitioning=Partitioning items
-MnemonicAssigner.valid_mnemonics=abcdefghijklmnopqrstuvwxyz1234567890-=[]\\;/
-MnemonicAssigner.missing_mnemonic_format={0} ({1})
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MnemonicAssigner.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MnemonicAssigner.java
deleted file mode 100644
index 022fa37..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MnemonicAssigner.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Can be used to automatically assign non-conflicting mnemonics to SWT widgets.
- * Note: the current implementation is pretty bare-bones, and is intended to fix
- * a couple dialogs where the widgets are generated programmatically. If this were
- * to go into more general use, it would have to take into account preferred hotkeys
- * for the locale and have preferences for words coming after whitespace, etc. 
- * 
- * @since 3.1
- */
-public class MnemonicAssigner {
-    // Stores keys that have already been assigned
-    private Set assigned = new HashSet();
-    
-    // List of all possible valid mnemonics
-    private String validHotkeys = new String();
-    
-    // Set of all possible valid mnemonics
-    private Set validKeys = new HashSet();
-    
-    public MnemonicAssigner() {
-        // Initialize the set of valid mnemonic keys
-        addKeys(Messages.getString("MnemonicAssigner.valid_mnemonics")); //$NON-NLS-1$
-    }
-    
-    /**
-     * Adds a set of keys to be considered as potentially valid mnemonics
-     * 
-     * @param keys
-     * @return
-     * @since 3.1
-     */
-    private void addKeys(String keys) {
-        validHotkeys = validHotkeys + keys;
-        
-        for(int idx = 0; idx < validHotkeys.length(); idx++) {
-            validKeys.add(new Character(Character.toLowerCase(keys.charAt(idx))));
-        }
-    }
-    
-    public boolean isReserved(char toCheck) {
-        return assigned.contains(new Character(Character.toLowerCase(toCheck)));
-    }
-    
-    /**
-     * Returns the index of the mnemonic in the given string. Returns 
-     * inputString.length() if the string does not contain a mnemonic.
-     * 
-     * @param inputString
-     * @return
-     * @since 3.1
-     */
-    private static int getAmpersandIndex(String inputString) {
-        for(int idx = 0; idx < inputString.length() - 1; idx++) {
-            char next = inputString.charAt(idx);
-            
-            if (next == '&') {
-                if (inputString.charAt(idx + 1) == '&') {
-                    // If dual-ampersand, skip it
-                    idx++;
-                } else {
-                    return idx;
-                }
-            }
-        }
-        
-        return inputString.length();
-    }
-    
-    /**
-     * Returns the current mnemonic in the given input string. Returns
-     * 0 if none.
-     * 
-     * @param inputString
-     * @return
-     * @since 3.1
-     */
-    public static char getMnemonic(String inputString) {
-        int idx = getAmpersandIndex(inputString);
-        
-        if (idx < inputString.length() - 1) {
-            return inputString.charAt(idx + 1);
-        }
-        
-        return 0;
-    }
-    
-    public void reserve(char toReserve) {
-        assigned.add(new Character(Character.toLowerCase(toReserve)));
-    }
-    
-    /**
-     * Returns the given string without its associated mnemonic
-     * 
-     * @param toRemove
-     * @return
-     * @since 3.1
-     */
-    public static String withoutMnemonic(String toRemove) {
-        String working = toRemove;
-        
-        int idx = getAmpersandIndex(working);
-        while(idx < working.length()) {
-            working = working.substring(0, idx) + working.substring(idx + 1, working.length());
-            idx = getAmpersandIndex(working);
-        }
-        
-        return working;
-    }
-    
-    /**
-     * Suggests a unique mnemonic for the given input string and reserves it, preventing
-     * future conflicts
-     * 
-     * @param inputString
-     * @return
-     * @since 3.1
-     */
-    public String assign(String inputString) {
-        String result = suggest(inputString);
-        reserve(result);
-        return result;
-    }
-    
-    /**
-     * Reserves the mnemonic that is currently being used by the given input string
-     * 
-     * @param inputString
-     * @since 3.1
-     */
-    public void reserve(String inputString) {
-        reserve(getMnemonic(inputString)); 
-    }
-    
-    /**
-     * Returns true iff the given character could possibly be used as a mnemonic
-     * 
-     * @param next
-     * @return
-     * @since 3.1
-     */
-    public boolean isValidMnemonic(char next) {
-        return validKeys.contains(new Character(Character.toLowerCase(next)));
-    }
-    
-    /**
-     * Suggests a unique mnemonic for the given input string that does not conflict with 
-     * any existing mnemonics.
-     * 
-     * @param inputString
-     * @return the string with a unique mnemonic
-     * @since 3.1
-     */
-    public String suggest(String inputString) {
-        char mnemonic = getMnemonic(inputString); 
-        
-        if (mnemonic != 0 && !isReserved(mnemonic)) {
-            return inputString;
-        }
-        
-        // Try to find a suitable mnemonic from the input string.
-        String stripped = withoutMnemonic(inputString);
-        
-        // Index of the best mnemonic found so far
-        int bestMnemonic = -1;
-        
-        // Rank of the best mnemonic found so far (whenever a potential mnemonic is
-        // discovered in the string, we heuristically assign it a rank indicating how 
-        // much we'd like this to be the mnemonic. Bigger ranks are preferred over smaller
-        // ones.
-        int mnemonicRank = -1;
-        
-        boolean lastWasWhitespace = true;
-        
-        for (int idx = 0; idx < stripped.length(); idx++) {
-            char next = stripped.charAt(idx);
-            
-            if (isValidMnemonic(next) && !isReserved(next)) {
-                int thisRank = 0;
-                
-                // Prefer upper-case characters to lower-case ones
-                if (Character.isUpperCase(next)) {
-                    thisRank += 1;
-                }
-                
-                // Give characters following whitespace the highest priority
-                if (lastWasWhitespace) {
-                    thisRank += 2;
-                }
-                
-                if (thisRank > mnemonicRank) {
-                    bestMnemonic = idx;
-                    mnemonicRank = thisRank;
-                }
-                
-                break;
-            }
-            
-            lastWasWhitespace = (Character.isWhitespace(next));
-        }
-        
-        // If there was a valid mnemonic within the string, return it
-        if (bestMnemonic >= 0) {
-            return stripped.substring(0, bestMnemonic) + '&' 
-            	+ stripped.substring(bestMnemonic, stripped.length()); 
-        }
-        
-        // No valid mnemonics within the string. Try to append one.
-        for (int idx = 0; idx < validHotkeys.length(); idx++) {
-            char next = validHotkeys.charAt(idx);
-            
-            if (!isReserved(next)) {
-                return Messages.format(Messages.getString("MnemonicAssigner.missing_mnemonic_format"), new String[] {stripped, "&" + next}); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-        }
-        
-        // No unique mnemonics remain. Leave the string unmodified
-        return inputString;
-    }
-}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java
deleted file mode 100644
index 39a3aa3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemFilter.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-public class ProblemFilter extends MarkerFilter {
-
-    private static final String TAG_CONTAINS = "contains"; //$NON-NLS-1$
-
-    private static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-
-    private static final String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$
-
-    private static final String TAG_SELECT_BY_SEVERITY = "selectBySeverity"; //$NON-NLS-1$
-
-    private static final String TAG_SEVERITY = "severity"; //$NON-NLS-1$
-
-    final static boolean DEFAULT_CONTAINS = true;
-
-    final static String DEFAULT_DESCRIPTION = ""; //$NON-NLS-1$	
-
-    final static boolean DEFAULT_SELECT_BY_SEVERITY = false;
-
-    final static int DEFAULT_SEVERITY = 0;
-
-    final static int SEVERITY_ERROR = 1 << 2;
-
-    final static int SEVERITY_WARNING = 1 << 1;
-
-    final static int SEVERITY_INFO = 1 << 0;
-
-    private boolean contains;
-
-    private String description;
-
-    private boolean selectBySeverity;
-
-    private int severity;
-
-    public ProblemFilter() {
-        super(new String[] { IMarker.PROBLEM });
-    }
-
-    public boolean selectMarker(ConcreteMarker marker) {
-        if (!(marker instanceof ProblemMarker)) {
-            return false;
-        }
-
-        ProblemMarker problemMarker = (ProblemMarker) marker;
-
-        return !isEnabled()
-                || (super.selectMarker(problemMarker)
-                        && selectByDescription(problemMarker) && selectBySeverity(problemMarker));
-    }
-
-    private boolean selectByDescription(ConcreteMarker item) {
-        if (description == null || description.equals("")) //$NON-NLS-1$
-            return true;
-
-        String markerDescription = item.getDescription();
-        int index = markerDescription.indexOf(description);
-        return contains ? (index >= 0) : (index < 0);
-    }
-
-    private boolean selectBySeverity(ProblemMarker item) {
-        if (selectBySeverity) {
-            int markerSeverity = item.getSeverity();
-
-            if (markerSeverity == IMarker.SEVERITY_ERROR)
-                return (severity & SEVERITY_ERROR) > 0;
-            else if (markerSeverity == IMarker.SEVERITY_WARNING)
-                return (severity & SEVERITY_WARNING) > 0;
-            else if (markerSeverity == IMarker.SEVERITY_INFO)
-                return (severity & SEVERITY_INFO) > 0;
-        }
-
-        return true;
-    }
-
-    public boolean getContains() {
-        return contains;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public boolean getSelectBySeverity() {
-        return selectBySeverity;
-    }
-
-    public int getSeverity() {
-        return severity;
-    }
-
-    public void setContains(boolean contains) {
-        this.contains = contains;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public void setSelectBySeverity(boolean selectBySeverity) {
-        this.selectBySeverity = selectBySeverity;
-    }
-
-    public void setSeverity(int severity) {
-        this.severity = severity;
-    }
-
-    public void resetState() {
-        super.resetState();
-        contains = DEFAULT_CONTAINS;
-        description = DEFAULT_DESCRIPTION;
-        selectBySeverity = DEFAULT_SELECT_BY_SEVERITY;
-        severity = DEFAULT_SEVERITY;
-    }
-
-    public void restoreState(IDialogSettings dialogSettings) {
-        super.restoreState(dialogSettings);
-        IDialogSettings settings = dialogSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings != null) {
-            String setting = settings.get(TAG_CONTAINS);
-
-            if (setting != null)
-                contains = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_DESCRIPTION);
-
-            if (setting != null)
-                description = new String(setting);
-
-            setting = settings.get(TAG_SELECT_BY_SEVERITY);
-
-            if (setting != null)
-                selectBySeverity = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_SEVERITY);
-
-            if (setting != null)
-                try {
-                    severity = Integer.parseInt(setting);
-                } catch (NumberFormatException eNumberFormat) {
-                }
-        }
-    }
-
-    public void saveState(IDialogSettings dialogSettings) {
-        super.saveState(dialogSettings);
-
-        if (dialogSettings != null) {
-            IDialogSettings settings = dialogSettings
-                    .getSection(TAG_DIALOG_SECTION);
-
-            if (settings == null)
-                settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-            settings.put(TAG_CONTAINS, contains);
-            settings.put(TAG_DESCRIPTION, description);
-            settings.put(TAG_SELECT_BY_SEVERITY, selectBySeverity);
-            settings.put(TAG_SEVERITY, severity);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.java
deleted file mode 100644
index bc75f6e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemMarker.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.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * 
- */
-public class ProblemMarker extends ConcreteMarker {
-
-    private int severity;
-
-    public ProblemMarker(IMarker toCopy) {
-        super(toCopy);
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.ConcreteMarker#refresh()
-     */
-    public void refresh() {
-        super.refresh();
-        severity = getMarker().getAttribute(IMarker.SEVERITY, -1);
-    }
-
-    public int getSeverity() {
-        return severity;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
deleted file mode 100644
index 246f580..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ProblemView.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class ProblemView extends MarkerView {
-
-    private final ColumnLayoutData[] DEFAULT_COLUMN_LAYOUTS = {
-            new ColumnPixelData(19, false), new ColumnWeightData(200),
-            new ColumnWeightData(75), new ColumnWeightData(150),
-            new ColumnWeightData(60) };
-
-    // Direction constants - use the ones on TableSorter to stay sane
-    private final static int ASCENDING = TableSorter.ASCENDING;
-
-    private final static int DESCENDING = TableSorter.DESCENDING;
-
-    private final IField[] VISIBLE_FIELDS = { new FieldSeverity(),
-            new FieldMessage(), new FieldResource(), new FieldFolder(),
-            new FieldLineNumber() };
-
-    private final IField[] HIDDEN_FIELDS = { new FieldCreationTime() };
-
-    // Field Tags
-    // These tags MUST occur in the same order as the VISIBLE_FIELDS +
-    // HIDDEN_FIELDS appear.  The TableSorter holds the priority and
-    // direction order as a set of indices into an array of fields.  This
-    // array of fields is set on instantiation of TableSorter (see method
-    // getSorter() in this (i.e. ProblemView) class).  When we instantiate
-    // TableSorter, we use the method TableView.getFields() as it is 
-    // inherited and we don't override it.  TableView.getFields() will
-    // return VISIBLE_FIELDS and then HIDDEN_FIELDS
-    private final static int SEVERITY = 0;
-
-    private final static int DESCRIPTION = 1;
-
-    private final static int RESOURCE = 2;
-
-    private final static int FOLDER = 3;
-
-    private final static int LOCATION = 4;
-
-    private final static int CREATION_TIME = 5;
-
-    private final static int[] DEFAULT_PRIORITIES = { SEVERITY, FOLDER,
-            RESOURCE, LOCATION, DESCRIPTION, CREATION_TIME };
-
-    private final static int[] DEFAULT_DIRECTIONS = { DESCENDING, // severity
-            ASCENDING, // folder
-            ASCENDING, // resource
-            ASCENDING, // location
-            ASCENDING, // description
-            ASCENDING, }; // creation time
-
-    private final static String[] ROOT_TYPES = { IMarker.PROBLEM };
-
-    private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.problem"; //$NON-NLS-1$
-
-    private ProblemFilter problemFilter = new ProblemFilter();
-
-    private ActionResolveMarker resolveMarkerAction;
-
-    private TableSorter sorter;
-
-    public void dispose() {
-        if (resolveMarkerAction != null)
-            resolveMarkerAction.dispose();
-
-        super.dispose();
-    }
-
-    public void init(IViewSite viewSite, IMemento memento)
-            throws PartInitException {
-        super.init(viewSite, memento);
-        problemFilter.restoreState(getDialogSettings());
-    }
-
-    public void saveState(IMemento memento) {
-        problemFilter.saveState(getDialogSettings());
-
-        super.saveState(memento);
-    }
-
-    protected ColumnLayoutData[] getDefaultColumnLayouts() {
-        return DEFAULT_COLUMN_LAYOUTS;
-    }
-
-    protected IDialogSettings getDialogSettings() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings settings = workbenchSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings == null)
-            settings = workbenchSettings.addNewSection(TAG_DIALOG_SECTION);
-
-        return settings;
-    }
-
-    protected void createActions() {
-        super.createActions();
-        propertiesAction = new ActionProblemProperties(this,
-                getSelectionProvider());
-        resolveMarkerAction = new ActionResolveMarker(this,
-                getSelectionProvider());
-    }
-
-    protected void createColumns(Table table) {
-        super.createColumns(table);
-        TableColumn[] columns = table.getColumns();
-
-        if (columns != null && columns.length >= 1)
-            columns[0].setResizable(false);
-    }
-
-    protected void fillContextMenuAdditions(IMenuManager manager) {
-        manager.add(new Separator());
-        manager.add(resolveMarkerAction);
-    }
-
-    protected DialogMarkerFilter getFiltersDialog() {
-        return new DialogProblemFilter(getViewer().getControl().getShell(),
-                problemFilter);
-    }
-
-    protected IField[] getHiddenFields() {
-        return HIDDEN_FIELDS;
-    }
-
-    protected String[] getRootTypes() {
-        return ROOT_TYPES;
-    }
-
-    protected TableSorter getSorter() {
-        if (sorter == null)
-            sorter = new TableSorter(getFields(), DEFAULT_PRIORITIES,
-                    DEFAULT_DIRECTIONS);
-        return sorter;
-    }
-
-    protected Object getViewerInput() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-    protected IField[] getVisibleFields() {
-        return VISIBLE_FIELDS;
-    }
-
-    protected void initMenu(IMenuManager menu) {
-        super.initMenu(menu);
-    }
-
-    void updateTitle() {
-        MarkerList visibleMarkers = getVisibleMarkers();
-        String breakdown = formatSummaryBreakDown(visibleMarkers);
-        int filteredCount = visibleMarkers.getItemCount();
-        int totalCount = getTotalMarkers();
-        if (filteredCount != totalCount)
-            breakdown = Messages.format("problem.filter.matchedMessage", //$NON-NLS-1$
-                    new Object[] { breakdown, new Integer(filteredCount),
-                            new Integer(totalCount) });
-        setContentDescription(breakdown);
-    }
-
-    private String formatSummaryBreakDown(MarkerList visibleMarkers) {
-        return Messages.format("problem.statusSummaryBreakdown", //$NON-NLS-1$
-                new Object[] { new Integer(visibleMarkers.getErrors()),
-                        new Integer(visibleMarkers.getWarnings()),
-                        new Integer(visibleMarkers.getInfos()) });
-    }
-
-    private String getSummary(MarkerList markers, String messageKey) {
-        String message = Messages.format(messageKey, new Object[] {
-                new Integer(markers.getItemCount()),
-                formatSummaryBreakDown(markers) });
-        return message;
-    }
-
-    /**
-     * Retrieves statistical information (the total number of markers with each
-     * severity type) for the markers contained in the selection passed in.
-     * This information is then massaged into a string which may be displayed
-     * by the caller.
-     * 
-     * @param selection a valid selection or <code>null</code>
-     * @return a message ready for display
-     */
-    protected String updateSummarySelected(IStructuredSelection selection) {
-        return getSummary(new MarkerList(selection.toList()),
-                "problem.statusSummarySelected"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
-     */
-    protected String[] getMarkerTypes() {
-        return new String[] { IMarker.PROBLEM };
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#getFilter()
-     */
-    protected MarkerFilter getFilter() {
-        return problemFilter;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#openFiltersDialog()
-     */
-    public void openFiltersDialog() {
-        DialogProblemFilter dialog = new DialogProblemFilter(getViewer()
-                .getControl().getShell(), problemFilter);
-
-        if (dialog.open() == Window.OK) {
-            problemFilter = (ProblemFilter) dialog.getFilter();
-            problemFilter.saveState(getDialogSettings());
-            refresh();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#updateFilterSelection(org.eclipse.core.resources.IResource[])
-     */
-    protected void updateFilterSelection(IResource[] resources) {
-        problemFilter.setFocusResource(resources);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
deleted file mode 100644
index 47e1ee7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.internal.ide.StatusUtil;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-/**
- * Represents a job that can be restarted. When a job is "restarted", the currently running
- * instance is cancelled and a new instance is scheduled once the previous one terminates.
- * This does not inherit from the Jobs API. Instead of subclassing this class, a pointer to
- * a IRunnableWithProgress should be passed into the constructor. 
- */
-public final class RestartableJob {
-    IRunnableWithProgress runnable;
-
-    Job theJob;
-
-    boolean restartNeeded = false;
-
-    private Object lock = new Object();
-
-    private IProgressMonitor currentMonitor = null;
-
-    IWorkbenchSiteProgressService progressService;
-
-    /**
-     * Constructs a new RestartableJob with the given name that will run the given
-     * runnable.
-     * 
-     * @param name
-     * @param newRunnable
-     * @param service IWorkbenchSiteProgressService the service we are
-     * going to use to show progress or <code>null</code>.
-     */
-    public RestartableJob(String name, IRunnableWithProgress newRunnable,
-            IWorkbenchSiteProgressService service) {
-        this.runnable = newRunnable;
-        progressService = service;
-
-        createJob(name);
-
-        theJob.addJobChangeListener(new JobChangeAdapter() {
-            public void done(IJobChangeEvent e) {
-                synchronized (lock) {
-                    currentMonitor = null;
-                    if (restartNeeded) {
-                        scheduleInService();
-                    }
-                }
-            }
-        });
-    }
-
-    /**
-     * Instantiates the actual Job object.
-     * 
-     * @param name
-     */
-    private void createJob(String name) {
-        theJob = new Job(name) {
-            protected IStatus run(IProgressMonitor innerMonitor) {
-                try {
-                    synchronized (lock) {
-                        restartNeeded = false;
-                        currentMonitor = innerMonitor;
-                    }
-                    runnable.run(innerMonitor);
-                } catch (InvocationTargetException e) {
-                    return StatusUtil.newStatus(IStatus.ERROR, e.toString(), e
-                            .getTargetException());
-                } catch (InterruptedException e) {
-                    return Status.CANCEL_STATUS;
-                }
-                if (innerMonitor.isCanceled()) {
-                    return Status.CANCEL_STATUS;
-                } else {
-                    return Status.OK_STATUS;
-                }
-            }
-        };
-
-        theJob.setPriority(Job.DECORATE);
-        theJob.setSystem(true);
-    }
-
-    /**
-     * Aborts the currently running job (if any) by cancelling its progress
-     * monitor, and reschedules it. If there is no currently running job,
-     * it will be started.
-     */
-    public void restart() {
-        synchronized (lock) {
-            if (currentMonitor == null) {
-                scheduleInService();
-            } else if (!restartNeeded) {
-                restartNeeded = true;
-                theJob.cancel();
-            }
-        }
-    }
-
-    /**
-     * Schedules the job. Does nothing if the job is already running. 
-     */
-    public void schedule() {
-        synchronized (lock) {
-            if (currentMonitor == null) {
-                scheduleInService();
-            } else {
-                if (currentMonitor.isCanceled()) {
-                    restartNeeded = true;
-                }
-            }
-        }
-    }
-
-    /**
-     * Schedule theJob using the progress service if there
-     * is one.
-     */
-    private void scheduleInService() {
-        if (progressService == null)
-            theJob.schedule();
-        else
-            progressService.schedule(theJob, 0, true);
-    }
-
-    /**
-     * Cancels the job. If the job is currently running, it will be
-     * terminated as soon as possible.
-     */
-    public void cancel() {
-        synchronized (lock) {
-            theJob.cancel();
-            restartNeeded = false;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.java
deleted file mode 100644
index 56a1844..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SelectionProviderAdapter.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.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-
-/**
- * 
- */
-class SelectionProviderAdapter implements ISelectionProvider {
-
-    List listeners = new ArrayList();
-
-    ISelection theSelection = null;
-
-    public void addSelectionChangedListener(ISelectionChangedListener listener) {
-        listeners.add(listener);
-    }
-
-    public ISelection getSelection() {
-        return theSelection;
-    }
-
-    public void removeSelectionChangedListener(
-            ISelectionChangedListener listener) {
-        listeners.remove(listener);
-    }
-
-    public void setSelection(ISelection selection) {
-        theSelection = selection;
-        final SelectionChangedEvent e = new SelectionChangedEvent(this, selection);
-        Object[] listenersArray = listeners.toArray();
-        
-        for (int i = 0; i < listenersArray.length; i++) {
-            final ISelectionChangedListener l = (ISelectionChangedListener) listenersArray[i];
-            Platform.run(new SafeRunnable() {
-                public void run() {
-                    l.selectionChanged(e);
-                }
-            });
-		}
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java
deleted file mode 100644
index 6f40687..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/SortUtil.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.SortedSet;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * 
- */
-class SortUtil {
-
-    /**
-     * Returns the k smallest items in the given collection. Runs in
-     * O(n) time, average case. The resulting collection is not sorted.
-     *  
-     * @param elements
-     * @param c
-     * @return
-     */
-    public static Collection getFirst(Collection elements, Comparator c, int k,
-            IProgressMonitor mon) {
-        Collection result = new ArrayList(elements.size());
-
-        mon.beginTask(Messages.getString("SortUtil.finding_first"), 1000); //$NON-NLS-1$
-
-        getFirst(result, elements, c, k, mon, 1000);
-
-        mon.done();
-
-        return result;
-    }
-
-    private static void getFirst(Collection result, Collection elements,
-            Comparator c, int k, IProgressMonitor mon, int totalWork) {
-
-        if (mon.isCanceled()) {
-            return;
-        }
-
-        if (elements.size() <= k) {
-            result.addAll(elements);
-            mon.worked(totalWork);
-            return;
-        }
-
-        Object pivot;
-
-        if (elements instanceof ArrayList) {
-            pivot = ((ArrayList) elements).get(elements.size() / 2);
-        } else {
-            pivot = elements.iterator().next();
-        }
-        Collection more = new ArrayList(elements.size());
-        Collection less = new ArrayList(elements.size());
-        Collection equal = new ArrayList();
-
-        partitionHelper(less, more, equal, elements, c, pivot, mon,
-                totalWork / 2);
-
-        if (less.size() >= k) {
-            getFirst(result, less, c, k, mon, totalWork / 2);
-        } else if (less.size() + equal.size() >= k) {
-
-            int count = k - less.size();
-
-            result.addAll(less);
-
-            Iterator iter = equal.iterator();
-            while (iter.hasNext() && count > 0) {
-                Object next = iter.next();
-
-                result.add(next);
-                count--;
-            }
-            mon.worked(totalWork / 2);
-        } else if (less.size() + equal.size() + more.size() >= k) {
-            result.addAll(less);
-            result.addAll(equal);
-
-            getFirst(result, more, c, k - less.size() - equal.size(), mon,
-                    totalWork / 2);
-        }
-    }
-
-    private static void partitionHelper(Collection less, Collection more,
-            Collection equal, Collection input, Comparator c, Object toTest,
-            IProgressMonitor mon, int totalWork) {
-        int workRemaining = totalWork;
-        int counter = 0;
-        int totalItems = input.size();
-
-        Iterator iter = input.iterator();
-
-        while (iter.hasNext()) {
-            Object next = iter.next();
-
-            int compareResult = c.compare(next, toTest);
-
-            if (compareResult < 0) {
-                less.add(next);
-            } else if (compareResult > 0) {
-                more.add(next);
-            } else {
-                equal.add(next);
-            }
-
-            counter++;
-            if (counter > 100) {
-                if (mon.isCanceled()) {
-                    return;
-                }
-                int nextWorked = counter * workRemaining / totalItems;
-                mon.worked(nextWorked);
-                workRemaining -= nextWorked;
-                totalItems -= counter;
-                counter = 0;
-            }
-        }
-
-        mon.worked(workRemaining);
-    }
-
-    /**
-     * Divides the items in the input collection into three sets based on whether they are less than,
-     * equal to, or greater than the test item.
-     * 
-     * If the given monitor is cancelled (possibly by another thread), the operation will
-     * be aborted. In this case, the insertions may only be partially complete. 
-     * 
-     * @param less
-     * @param more
-     * @param equal
-     * @param input
-     * @param c
-     * @param toTest
-     * @param mon
-     */
-    public static void partition(Collection less, Collection more,
-            Collection equal, Collection input, Comparator c, Object toTest,
-            IProgressMonitor mon) {
-        mon
-                .beginTask(
-                        Messages.getString("SortUtil.partitioning"), input.size()); //$NON-NLS-1$
-
-        if (toTest == null || c == null) {
-            int counter = 0;
-            Iterator iter = input.iterator();
-            while (iter.hasNext()) {
-                Object next = iter.next();
-
-                counter++;
-                if (counter >= 20) {
-                    mon.worked(counter);
-                    counter = 0;
-                    if (mon.isCanceled()) {
-                        return;
-                    }
-                }
-
-                more.add(next);
-            }
-            mon.worked(counter);
-        } else {
-            partitionHelper(less, more, equal, input, c, toTest, mon, input
-                    .size());
-        }
-
-        mon.done();
-    }
-
-    /**
-     * Removes and returns the first n items from the given collection.
-     * 
-     * @param collection
-     * @param numToRemove
-     * @return
-     */
-    public static List removeFirst(Collection collection, int numToRemove) {
-        int toRemove = Math.min(collection.size(), numToRemove);
-
-        List removed = new ArrayList(toRemove);
-
-        Iterator iter = collection.iterator();
-
-        for (int idx = 0; idx < toRemove; idx++) {
-            removed.add(iter.next());
-
-            iter.remove();
-        }
-
-        return removed;
-    }
-
-    /**
-     * Finds and returns the greatest element in the given collection, or null if the collection
-     * is empty.
-     *  
-     * @param toSearch collection to search
-     * @param c comparator used to determine the greatest item
-     * @return the greatest item in the collection
-     */
-    public static Object findGreatest(Collection toSearch, Comparator c) {
-        // If this set is already sorted using the given comparator, just return the last element
-        if (toSearch instanceof SortedSet
-                && ((SortedSet) toSearch).comparator().equals(c)) {
-            return ((SortedSet) toSearch).last();
-        }
-
-        // Otherwise, exhaustively search for the greatest element
-        Object result = null;
-        Iterator iter = toSearch.iterator();
-
-        while (iter.hasNext()) {
-            Object next = iter.next();
-
-            if (result == null || c.compare(result, next) > 0) {
-                result = next;
-            }
-        }
-
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
deleted file mode 100644
index 26405e8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Provides a threaded content provider for efficiently handling large tables.
- * The owner of this object is responsible for adding and removing the items in the
- * table (by invoking the add, remove, set, and change methods, respectively). However,
- * the changes are buffered and applied to the actual table incrementally
- * using a background thread. This keeps the UI responsive when manipulating very
- * large tables. 
- * 
- * <p>
- * Other objects should set the contents of the table by manipulating
- * this object rather than manipulating the table itself. Threading issues
- * are encapsulated internally.
- * </p>
- *
- */
-class TableContentProvider implements IStructuredContentProvider {
-
-    // NLS strings
-    private static final String TABLE_SYNCHRONIZATION = Messages
-            .getString("TableContentProvider.TableSynchronization"); //$NON-NLS-1$
-
-    private static final String UPDATING_TABLE_WIDGET = Messages
-            .getString("TableContentProvider.Updating"); //$NON-NLS-1$
-
-    /**
-     * Currently running update job.
-     */
-    private String description = ""; //$NON-NLS-1$
-
-    /**
-     * Comparator to use for sorting the view
-     */
-    private TableSorter sortOrder = null;
-
-    // Pending changes
-    private DeferredQueue queues;
-
-    /**
-     * This job disables redraw on the table
-     */
-    private Job disableUpdatesJob = new WorkbenchJob(TABLE_SYNCHRONIZATION) {
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-            if (controlExists()) {
-                getViewer().getTable().setRedraw(false);
-            }
-
-            return Status.OK_STATUS;
-        }
-    };
-
-    /**
-     * This job re-enables redraw on the table
-     */
-    private Job enableUpdatesJob = new WorkbenchJob(TABLE_SYNCHRONIZATION) {
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-            if (controlExists()) {
-                getViewer().getTable().setRedraw(true);
-            }
-
-            return Status.OK_STATUS;
-        }
-    };
-
-    /**
-     * This job is responsible for performing a single incremental update to the
-     * viewer. It will either add, remove, or change items in the viewer depending
-     * on the contents of the pending* sets, above. It is scheduled repeatedly by 
-     * the OverallUpdateJob, below.
-     */
-    private class WidgetRefreshJob extends WorkbenchJob {
-
-        /**
-         * Number of items modified in the last update
-         */
-        int lastWorked = 0;
-
-        /**
-         * Remembers whether the viewer existed the last time this job was run
-         */
-        boolean controlExists = true;
-
-        WidgetRefreshJob(String title) {
-            super(title);
-        }
-
-        /**
-         * Will be executed each time the update thread wakes up. This makes
-         * a single incremental update to the viewer (ie: adds or removes a few items)
-         */
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-
-            // If we can't get the lock, terminate without blocking the UI thread.
-            if (lock.getDepth() > 0) {
-                lastWorked = 0;
-                return Status.OK_STATUS;
-            }
-
-            lock.acquire();
-            try {
-                if (!PlatformUI.isWorkbenchRunning()) {
-                    controlExists = false;
-                } else {
-                    controlExists = controlExists();
-                    if (controlExists) {
-                        lastWorked = updateViewer();
-                    }
-                }
-            } finally {
-                lock.release();
-            }
-
-            return Status.OK_STATUS;
-        }
-    }
-
-    /**
-     * Job that does the real work for individual updates
-     */
-    WidgetRefreshJob uiJob;
-
-    /**
-     * This job incrementally updates the viewer until all pending changes have
-     * been applied. It repeatedly schedules WidgetRefreshJobs until there are no more
-     * changes to apply. This job doesn't actually do any real work -- it simply
-     * schedules updates and updates the progress bar.
-     */
-    RestartableJob updateJob;
-
-    private ILock lock;
-
-    /**
-     * Creates a new TableContentProvider that will control the contents of the given
-     * viewer. 
-     * 
-     * @param viewer
-     * @param description user-readable string that will be included in progress monitors
-     * @param service IWorkbenchSiteProgressService or <code>null</null>
-     * 	 the service that this content provider will inform of 
-     * 	updates.
-     */
-    public TableContentProvider(TableViewer viewer, String description,
-            IWorkbenchSiteProgressService service) {
-        this.queues = new DeferredQueue(viewer);
-        this.description = description;
-
-        uiJob = new WidgetRefreshJob(UPDATING_TABLE_WIDGET);
-        uiJob.setPriority(Job.LONG);
-        uiJob.setSystem(true);
-
-        updateJob = new RestartableJob(TABLE_SYNCHRONIZATION,
-                new IRunnableWithProgress() {
-                    public void run(IProgressMonitor monitor)
-                            throws InvocationTargetException,
-                            InterruptedException {
-                        doUpdate(monitor);
-                    }
-                }, service);
-
-        lock = Platform.getJobManager().newLock();
-    }
-
-    /**
-     * Sets the view's sorter (or null if no sorting is to be used)
-     * 
-     * @param c comparator that controls the view's sort order (or null if no sorting)
-     */
-    public void setSorter(TableSorter c) {
-        if (sortOrder != c) {
-            sortOrder = c;
-            scheduleUpdate();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-     */
-    public Object[] getElements(Object inputElement) {
-        return queues.getVisibleItems();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-     */
-    public void dispose() {
-        //No state to dispose here
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-     */
-    public void inputChanged(Viewer inputViewer, Object oldInput,
-            Object newInput) {
-        scheduleUpdate();
-    }
-
-    /**
-     * Sets the contents of the table. Note that the changes may not become visible
-     * immediately, as the viewer will actually be updated in a background thread.
-     * 
-     * @param newVisibleItems
-     */
-    public void set(Collection newVisibleItems, IProgressMonitor mon) {
-        lock.acquire();
-
-        try {
-            queues.set(newVisibleItems, mon);
-
-            scheduleUpdate();
-        } finally {
-            lock.release();
-        }
-    }
-
-    /**
-     * If the contents of the viewer have somehow become out-of-sync with the "visibleItems"
-     * set, this method will restore synchronization.
-     */
-    private void resync() {
-        if (controlExists()) {
-            int count = queues.getViewer().getTable().getItemCount();
-            if (count != queues.countVisibleItems()) {
-                queues.getViewer().refresh();
-            }
-        }
-    }
-
-    /**
-     * Causes the given collection of items to be refreshed
-     * 
-     * @param changes collection of objects that have changed
-     */
-    void change(Collection changes) {
-
-        lock.acquire();
-        try {
-            // Ensure that this is never done in the user interface thread.
-            //Assert.isTrue(Display.getCurrent() == null);
-
-            queues.change(changes);
-            scheduleUpdate();
-        } finally {
-            lock.release();
-        }
-    }
-
-    /**
-     * Returns the TableViewer being populated by this content provider
-     * 
-     * @return the TableViewer being populated by this content provider
-     */
-    private TableViewer getViewer() {
-        return queues.getViewer();
-    }
-
-    /**
-     * Returns true iff the control exists and has not yet been disposed
-     * 
-     * @return
-     */
-    private boolean controlExists() {
-        Control control = getViewer().getControl();
-
-        if (control == null || control.isDisposed()) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns true iff this content provider contains changes that are not yet
-     * reflected in the viewer.
-     * 
-     * @return true iff the reciever has unprocessed changes
-     */
-    public boolean hasPendingChanges() {
-        return queues.hasPendingChanges() || sortOrder != queues.getSorter();
-    }
-
-    /**
-     * Returns an estimate of the total work remaining (used for progress monitors)
-     * 
-     * @return
-     */
-    private int totalWork() {
-        return queues.workRemaining() + 1;
-    }
-
-    /**
-     * Starts the update thread... this will continue to make incremental changes
-     * to the viewer until the pending* sets become empty. Does nothing if the
-     * update thread is already running or if there are no changes to process.
-     */
-    private void scheduleUpdate() {
-        if (hasPendingChanges()) {
-            updateJob.schedule();
-        }
-    }
-
-    /**
-     * Cancels any pending changes to the viewer. The contents of the viewer
-     * will be left in whatever state they are in at the time. Any changes that
-     * have not yet been applied will be lost. It is a good idea to call this
-     * method before performing a long computation that will ultimately invalidate
-     * the contents of the viewer.
-     */
-    public void cancelPendingChanges() {
-        updateJob.cancel();
-
-        lock.acquire();
-        try {
-            queues.cancelPending();
-        } finally {
-            lock.release();
-        }
-    }
-
-    private void doUpdate(IProgressMonitor monitor) throws InterruptedException {
-
-        //Do not update if the workbench is shutdown
-        if (!PlatformUI.isWorkbenchRunning())
-            return;
-
-        // This counter represents how many work units remain unused in the progress monitor.
-        int remainingWorkUnits = 100000;
-
-        monitor.beginTask(description, remainingWorkUnits);
-
-        disableUpdatesJob.schedule();
-        disableUpdatesJob.join();
-        try {
-
-            // Loop until there are no more changes to apply, the control is destroyed, the monitor is cancelled,
-            // or another job takes over.
-            while (hasPendingChanges() && !monitor.isCanceled()) {
-
-                // Ensure that we aren't running in the UI thread
-                //Assert.isTrue(Display.getCurrent() == null);
-
-                try {
-
-                    int totalWork;
-                    lock.acquire();
-                    try {
-                        totalWork = totalWork();
-                        if (sortOrder != queues.getSorter()) {
-                            queues.setComparator(sortOrder);
-                        }
-
-                        SubProgressMonitor sub = new SubProgressMonitor(
-                                monitor, 0);
-                        queues.refreshQueues(sub);
-                    } finally {
-                        lock.release();
-                    }
-
-                    try {
-                        uiJob.schedule();
-                        // Wait for the current update job to complete before scheduling another
-                        uiJob.join();
-                    } catch (IllegalStateException e) {
-                        // Ignore this exception -- it means that the Job manager was shut down, which is expected
-                        // at the end of the application. Note that we need to check for this by catching the exception
-                        // rather than using something like if (jobManagerIsShutDown())... since the job manager might
-                        // be shut down in another thread between the time we evaluate the if statement and when
-                        // we schedule the job.
-                    }
-
-                    // Estimate how much of the remaining work we'll be doing in this update,
-                    // and update the progress bar appropriately.
-                    int consumedUnits = uiJob.lastWorked * remainingWorkUnits
-                            / totalWork;
-                    monitor.worked(consumedUnits);
-                    remainingWorkUnits -= consumedUnits;
-
-                } catch (InterruptedException e) {
-                    monitor.setCanceled(true);
-                }
-
-                if (!uiJob.controlExists) {
-                    break;
-                }
-            }
-        } finally {
-            //Only send updates if we can send them to the workbench
-            if (PlatformUI.isWorkbenchRunning()) {
-                enableUpdatesJob.schedule();
-                enableUpdatesJob.join();
-            }
-
-            monitor.done();
-        }
-    }
-
-    /**
-     * Performs a single update to the viewer. Based on the contents of the pending* queues,
-     * items will either be removed, added, or refreshed in the viewer (in that order). This
-     * should only be called within a synchronized block, since the various queues shouldn't
-     * be modified during an update. This method is invoked repeatedly by jobs to gradually
-     * apply the pending changes.
-     */
-    private int updateViewer() {
-
-        int result;
-
-        // Note that this method is only called when we have the lock so acquiring it here
-        // does nothing... but we re-acquire it anyway in case future refactoring causes
-        // this to be called when we don't own the lock.
-        lock.acquire();
-        try {
-            if (getViewer().getSorter() != null) {
-                getViewer().setSorter(null);
-            }
-
-            resync();
-
-            result = queues.nextUpdate();
-        } finally {
-            lock.release();
-        }
-
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java
deleted file mode 100644
index e635234..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-
-public class TableSortAction extends Action {
-
-    private TableView view;
-
-    private TableSortDialog dialog;
-
-    public TableSortAction(TableView view, TableSortDialog dialog) {
-        super(Messages.getString("sortAction.title")); //$NON-NLS-1$
-        this.view = view;
-        this.dialog = dialog;
-        setEnabled(true);
-    }
-
-    public void run() {
-        if (dialog.open() == Window.OK && dialog.isDirty()) {
-            view.setSorter(dialog.getSorter());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java
deleted file mode 100644
index a3239e2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSortDialog.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-public class TableSortDialog extends Dialog {
-
-    private TableSorter sorter;
-
-    private Combo[] priorityCombos;
-
-    private String[] propertyText;
-
-    private IField[] properties;
-
-    private Button[] ascendingButtons;
-
-    private Button[] descendingButtons;
-
-    private boolean dirty;
-
-    private final Comparator columnComparator = new Comparator() {
-        public int compare(Object arg0, Object arg1) {
-            int index0 = -1;
-            int index1 = -1;
-            for (int i = 0; i < propertyText.length; i++) {
-                if (propertyText[i].equals(arg0))
-                    index0 = i;
-                if (propertyText[i].equals(arg1))
-                    index1 = i;
-            }
-            return index0 - index1;
-        }
-    };
-
-    public TableSortDialog(Shell parentShell, TableSorter sorter) {
-        super(parentShell);
-        this.sorter = sorter;
-        dirty = false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText(Messages.getString("sortDialog.title")); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        if (sorter == null)
-            return composite;
-
-        MnemonicAssigner mnemonics = new MnemonicAssigner();
-        
-        createPrioritiesArea(composite, mnemonics);
-        createRestoreDefaultsButton(composite, mnemonics);
-        createSeparatorLine(composite);
-
-        return composite;
-    }
-
-    private void createPrioritiesArea(Composite parent, MnemonicAssigner mnemonics) {
-        Composite prioritiesArea = new Composite(parent, SWT.NULL);
-        prioritiesArea.setLayout(new GridLayout(3, false));
-        
-        int[] priorities = sorter.getPriorities();
-
-        ascendingButtons = new Button[priorities.length];
-        descendingButtons = new Button[priorities.length];
-        priorityCombos = new Combo[Math.min(priorities.length,
-                TableSorter.MAX_DEPTH)];
-        initPriotityText();
-
-        Label sortByLabel = new Label(prioritiesArea, SWT.NULL);
-        sortByLabel.setText(Messages.getString("sortDialog.label")); //$NON-NLS-1$
-        GridData data = new GridData();
-        data.horizontalSpan = 3;
-        sortByLabel.setLayoutData(data);
-
-        for (int i = 0; i < priorityCombos.length; i++) {
-            final int index = i;
-            Label numberLabel = new Label(prioritiesArea, SWT.NULL);
-            numberLabel
-                    .setText(mnemonics.assign(Messages
-                            .format(
-                                    "sortDialog.columnLabel", new Object[] { new Integer(i + 1) }))); //$NON-NLS-1$
-
-            priorityCombos[i] = new Combo(prioritiesArea, SWT.READ_ONLY);
-            priorityCombos[i].setLayoutData(new GridData(
-                    GridData.FILL_HORIZONTAL));
-
-            Composite directionGroup = new Composite(prioritiesArea, SWT.NONE);
-            directionGroup.setLayout(new GridLayout(2, false));
-            ascendingButtons[i] = new Button(directionGroup, SWT.RADIO);
-            ascendingButtons[i].setText(mnemonics.assign(Messages
-                    .getString("sortDirectionAscending.text"))); //$NON-NLS-1$
-            ascendingButtons[i].addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    markDirty();
-                }
-            });
-            descendingButtons[i] = new Button(directionGroup, SWT.RADIO);
-            descendingButtons[i].setText(mnemonics.assign(Messages
-                    .getString("sortDirectionDescending.text"))); //$NON-NLS-1$
-            descendingButtons[i].addSelectionListener(new SelectionAdapter() {
-                public void widgetSelected(SelectionEvent e) {
-                    markDirty();
-                }
-            });
-
-            if (i < priorityCombos.length - 1) {
-                priorityCombos[i].addSelectionListener(new SelectionAdapter() {
-                    public void widgetSelected(SelectionEvent e) {
-                        int oldSelectionDirection = TableSorter.ASCENDING;
-                        if (descendingButtons[index].getSelection())
-                            oldSelectionDirection = TableSorter.DESCENDING;
-                        ArrayList oldSelectionList = new ArrayList(Arrays
-                                .asList(priorityCombos[index].getItems()));
-                        oldSelectionList.removeAll(Arrays
-                                .asList(priorityCombos[index + 1].getItems()));
-                        if (oldSelectionList.size() != 1)
-                            return;
-                        String oldSelection = (String) oldSelectionList.get(0);
-                        String newSelection = priorityCombos[index]
-                                .getItem(priorityCombos[index]
-                                        .getSelectionIndex());
-                        if (oldSelection.equals(newSelection)) {
-                            return;
-                        }
-                        for (int j = index + 1; j < priorityCombos.length; j++) {
-                            int newSelectionIndex = priorityCombos[j]
-                                    .indexOf(newSelection);
-                            //this combo's current selection is equal to newSelection
-                            if (priorityCombos[j].getSelectionIndex() == newSelectionIndex) {
-                                priorityCombos[j].remove(newSelection);
-                                int insertionPoint = -1
-                                        - Arrays.binarySearch(priorityCombos[j]
-                                                .getItems(), oldSelection,
-                                                columnComparator);
-                                if (insertionPoint >= 0
-                                        && insertionPoint <= priorityCombos[j]
-                                                .getItemCount())
-                                    priorityCombos[j].add(oldSelection,
-                                            insertionPoint);
-                                else
-                                    priorityCombos[j].add(oldSelection);
-                                priorityCombos[j].select(priorityCombos[j]
-                                        .indexOf(oldSelection));
-                                ascendingButtons[index]
-                                        .setSelection(ascendingButtons[j]
-                                                .getSelection());
-                                descendingButtons[index]
-                                        .setSelection(descendingButtons[j]
-                                                .getSelection());
-                                ascendingButtons[j]
-                                        .setSelection(oldSelectionDirection == TableSorter.ASCENDING);
-                                descendingButtons[j]
-                                        .setSelection(oldSelectionDirection == TableSorter.DESCENDING);
-                            }
-                            //this combo contains newSelection
-                            else if (newSelectionIndex >= 0) {
-                                priorityCombos[j].remove(newSelection);
-                                int insertionPoint = -1
-                                        - Arrays.binarySearch(priorityCombos[j]
-                                                .getItems(), oldSelection,
-                                                columnComparator);
-                                if (insertionPoint >= 0
-                                        && insertionPoint <= priorityCombos[j]
-                                                .getItemCount())
-                                    priorityCombos[j].add(oldSelection,
-                                            insertionPoint);
-                                else
-                                    priorityCombos[j].add(oldSelection);
-                            }
-                        }
-                        markDirty();
-                    }
-                });
-            } else {
-                priorityCombos[i].addSelectionListener(new SelectionAdapter() {
-                    public void widgetSelected(SelectionEvent e) {
-                        markDirty();
-                    }
-                });
-            }
-        }
-        updateUIFromSorter();
-    }
-
-    private void createRestoreDefaultsButton(Composite parent, MnemonicAssigner mnemonics) {
-        Button defaultsButton = new Button(parent, SWT.PUSH);
-        defaultsButton.setText(mnemonics.assign(Messages.getString("restoreDefaults.text"))); //$NON-NLS-1$
-        setButtonSize(defaultsButton, new GridData(
-                GridData.HORIZONTAL_ALIGN_END | GridData.FILL_HORIZONTAL));
-        defaultsButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                restoreDefaults();
-                markDirty();
-            }
-        });
-    }
-
-    private void createSeparatorLine(Composite parent) {
-        Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-        separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL
-                | GridData.VERTICAL_ALIGN_CENTER));
-        //		separator.setForeground(new Color(parent.getDisplay(), 150, 150, 150));
-        //		separator.setBackground(new Color(parent.getDisplay(), 150, 150, 150));
-    }
-
-    private void restoreDefaults() {
-        updateUI(sorter.getDefaultPriorities(), sorter.getDefaultDirections());
-    }
-
-    private void updateUIFromSorter() {
-        updateUI(sorter.getPriorities(), sorter.getDirections());
-    }
-
-    private void updateUI(int[] priorities, int[] directions) {
-        ArrayList availablePriorities = new ArrayList(Arrays
-                .asList(propertyText));
-
-        for (int i = 0; i < priorityCombos.length; i++) {
-            priorityCombos[i].removeAll();
-            for (int j = 0; j < availablePriorities.size(); j++)
-                priorityCombos[i].add((String) availablePriorities.get(j));
-            priorityCombos[i].select(priorityCombos[i]
-                    .indexOf(propertyText[priorities[i]]));
-            availablePriorities.remove(propertyText[priorities[i]]);
-
-            ascendingButtons[i]
-                    .setSelection(directions[priorities[i]] == TableSorter.ASCENDING);
-            descendingButtons[i]
-                    .setSelection(directions[priorities[i]] == TableSorter.DESCENDING);
-        }
-    }
-
-    protected void okPressed() {
-        if (isDirty()) {
-            for (int i = priorityCombos.length - 1; i >= 0; i--) {
-                String column = priorityCombos[i].getItem(priorityCombos[i]
-                        .getSelectionIndex());
-                int index = -1;
-                for (int j = 0; j < propertyText.length && index == -1; j++) {
-                    if (propertyText[j].equals(column))
-                        index = j;
-                }
-                if (index == -1) {
-                    sorter.resetState();
-                    return;
-                }
-                sorter.setTopPriority(properties[index]);
-                int direction = TableSorter.ASCENDING;
-                if (descendingButtons[i].getSelection())
-                    direction = TableSorter.DESCENDING;
-                sorter.setTopPriorityDirection(direction);
-            }
-        }
-        super.okPressed();
-    }
-
-    /**
-     * @return boolean
-     */
-    public boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Sets the dirty flag to true.
-     */
-    public void markDirty() {
-        dirty = true;
-    }
-
-    /**
-     * Set the layout data of the button to a GridData with 
-     * appropriate heights and widths.
-     * @param button
-     */
-    private void setButtonSize(Button button, GridData buttonData) {
-        int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-        buttonData.widthHint = Math.max(widthHint, button.computeSize(
-                SWT.DEFAULT, SWT.DEFAULT, true).x);
-        button.setLayoutData(buttonData);
-    }
-
-    private void initPriotityText() {
-        IField[] unorderedProperties = sorter.getFields();
-        properties = new IField[unorderedProperties.length];
-        System.arraycopy(unorderedProperties, 0, properties, 0,
-                properties.length);
-        propertyText = new String[properties.length];
-        for (int i = 0; i < properties.length; i++) {
-            propertyText[i] = properties[i].getDescription();
-        }
-    }
-
-    public TableSorter getSorter() {
-        return sorter;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java
deleted file mode 100644
index 6decdc8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableSorter.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.Collator;
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public class TableSorter extends ViewerSorter implements Comparator {
-
-    public static final int MAX_DEPTH = 4;
-
-    public static final int ASCENDING = 1;
-
-    public static final int DESCENDING = -1;
-
-    protected IField[] fields;
-
-    protected Collator collator = Collator.getInstance();
-
-    protected int[] priorities;
-
-    protected int[] directions;
-
-    protected int[] defaultPriorities;
-
-    protected int[] defaultDirections;
-
-    private final String TAG_DIALOG_SECTION = "sorter"; //$NON-NLS-1$
-
-    private final String TAG_PRIORITY = "priority"; //$NON-NLS-1$ 
-
-    private final String TAG_DIRECTION = "direction"; //$NON-NLS-1$
-
-    private final String TAG_DEFAULT_PRIORITY = "defaultPriority"; //$NON-NLS-1$
-
-    private final String TAG_DEFAULT_DIRECTION = "defaultDirection"; //$NON-NLS-1$
-
-    public TableSorter(TableSorter other) {
-        this(other.getFields(), other.getDefaultPriorities(), other
-                .getDefaultDirections());
-        priorities = other.getPriorities();
-        directions = other.getDirections();
-    }
-
-    public TableSorter(IField[] properties, final int[] defaultPriorities,
-            final int[] defaultDirections) {
-        super();
-        this.fields = properties;
-        if (properties == null
-                || defaultPriorities == null
-                || defaultDirections == null
-                || !(properties.length == defaultPriorities.length && properties.length == defaultDirections.length)
-                || !verifyPriorities(defaultPriorities)
-                || !verifyDirections(defaultDirections)) {
-            this.priorities = new int[0];
-            this.directions = new int[0];
-            this.defaultPriorities = new int[0];
-            this.defaultDirections = new int[0];
-        } else {
-            this.priorities = new int[defaultPriorities.length];
-            System.arraycopy(defaultPriorities, 0, this.priorities, 0,
-                    priorities.length);
-            this.directions = new int[defaultDirections.length];
-            System.arraycopy(defaultDirections, 0, this.directions, 0,
-                    directions.length);
-            this.defaultPriorities = new int[defaultPriorities.length];
-            System.arraycopy(defaultPriorities, 0, this.defaultPriorities, 0,
-                    defaultPriorities.length);
-            this.defaultDirections = new int[defaultDirections.length];
-            System.arraycopy(defaultDirections, 0, this.defaultDirections, 0,
-                    defaultDirections.length);
-        }
-    }
-
-    protected void resetState() {
-        System
-                .arraycopy(defaultPriorities, 0, priorities, 0,
-                        priorities.length);
-        System
-                .arraycopy(defaultDirections, 0, directions, 0,
-                        directions.length);
-    }
-
-    public void reverseTopPriority() {
-        directions[priorities[0]] *= -1;
-    }
-
-    public void setTopPriority(IField property) {
-        for (int i = 0; i < fields.length; i++) {
-            if (fields[i].equals(property)) {
-                setTopPriority(i);
-                return;
-            }
-        }
-    }
-
-    public void setTopPriority(int priority) {
-        if (priority < 0 || priority >= priorities.length)
-            return;
-
-        int index = -1;
-        for (int i = 0; i < priorities.length; i++) {
-            if (priorities[i] == priority)
-                index = i;
-        }
-
-        if (index == -1) {
-            resetState();
-            return;
-        }
-
-        //shift the array
-        for (int i = index; i > 0; i--) {
-            priorities[i] = priorities[i - 1];
-        }
-        priorities[0] = priority;
-        directions[priority] = defaultDirections[priority];
-    }
-
-    public void setTopPriorityDirection(int direction) {
-        if (direction == ASCENDING || direction == DESCENDING)
-            directions[priorities[0]] = direction;
-    }
-
-    public int getTopPriorityDirection() {
-        return directions[priorities[0]];
-    }
-
-    public int getTopPriority() {
-        return priorities[0];
-    }
-
-    public int[] getPriorities() {
-        int[] copy = new int[priorities.length];
-        System.arraycopy(priorities, 0, copy, 0, copy.length);
-        return copy;
-    }
-
-    public int[] getDirections() {
-        int[] copy = new int[directions.length];
-        System.arraycopy(directions, 0, copy, 0, copy.length);
-        return copy;
-    }
-
-    public int[] getDefaultPriorities() {
-        int[] copy = new int[defaultPriorities.length];
-        System.arraycopy(defaultPriorities, 0, copy, 0, copy.length);
-        return copy;
-    }
-
-    public int[] getDefaultDirections() {
-        int[] copy = new int[defaultDirections.length];
-        System.arraycopy(defaultDirections, 0, copy, 0, copy.length);
-        return copy;
-    }
-
-    public int compare(Viewer viewer, Object e1, Object e2) {
-        return compare(e1, e2, 0);
-    }
-
-    protected int compare(Object obj1, Object obj2, int depth) {
-        if (depth >= priorities.length) {
-            return 0;
-        }
-
-        int column = priorities[depth];
-        IField property = fields[column];
-        int result = property.compare(obj1, obj2);
-        if (result == 0)
-            return compare(obj1, obj2, depth + 1);
-        return result * directions[column];
-    }
-
-    /**
-     * @return IField[]  an array of fields
-     */
-    public IField[] getFields() {
-        return fields;
-    }
-
-    private boolean verifyPriorities(int[] priorities) {
-        int length = priorities.length;
-        boolean[] included = new boolean[length];
-        Arrays.fill(included, false);
-        for (int i = 0; i < length; i++) {
-            int priority = priorities[i];
-            if (priority < 0 || priority >= length)
-                return false;
-            if (included[priority])
-                return false;
-            included[priority] = true;
-        }
-        return true;
-    }
-
-    private boolean verifyDirections(int[] directions) {
-        for (int i = 0; i < directions.length; i++) {
-            if (directions[i] != ASCENDING && directions[i] != DESCENDING)
-                return false;
-        }
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-     */
-    public int compare(Object o1, Object o2) {
-        return compare(null, o1, o2);
-    }
-
-    public void saveState(IDialogSettings dialogSettings) {
-        if (dialogSettings == null) {
-            return;
-        }
-
-        IDialogSettings settings = dialogSettings
-                .getSection(TAG_DIALOG_SECTION);
-        if (settings == null) {
-            settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-        }
-
-        for (int i = 0; i < priorities.length; i++) {
-            settings.put(TAG_PRIORITY + i, priorities[i]);
-            settings.put(TAG_DIRECTION + i, directions[i]);
-            settings.put(TAG_DEFAULT_PRIORITY + i, defaultPriorities[i]);
-            settings.put(TAG_DEFAULT_DIRECTION + i, defaultDirections[i]);
-        }
-    }
-
-    public void restoreState(IDialogSettings dialogSettings) {
-        if (dialogSettings == null) {
-            resetState();
-            return;
-        }
-
-        IDialogSettings settings = dialogSettings
-                .getSection(TAG_DIALOG_SECTION);
-        if (settings == null) {
-            resetState();
-            return;
-        }
-
-        try {
-            for (int i = 0; i < priorities.length; i++) {
-                String priority = settings.get(TAG_PRIORITY + i);
-                if (priority == null) {
-                    resetState();
-                    return;
-                }
-                priorities[i] = Integer.parseInt(priority);
-                String direction = settings.get(TAG_DIRECTION + i);
-                if (direction == null) {
-                    resetState();
-                    return;
-                }
-                directions[i] = Integer.parseInt(direction);
-                String defaultPriority = settings.get(TAG_DEFAULT_PRIORITY + i);
-                if (defaultPriority == null) {
-                    resetState();
-                    return;
-                }
-                defaultPriorities[i] = Integer.parseInt(defaultPriority);
-                String defaultDirection = settings.get(TAG_DEFAULT_DIRECTION
-                        + i);
-                if (defaultDirection == null) {
-                    resetState();
-                    return;
-                }
-                defaultDirections[i] = Integer.parseInt(defaultDirection);
-            }
-        } catch (NumberFormatException e) {
-            resetState();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
deleted file mode 100644
index 0636837..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableView.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-public abstract class TableView extends ViewPart {
-
-    private TableContentProvider content;
-
-    private static final String TAG_COLUMN_WIDTH = "columnWidth"; //$NON-NLS-1$
-
-    private static final String TAG_VERTICAL_POSITION = "verticalPosition"; //$NON-NLS-1$
-
-    private static final String TAG_HORIZONTAL_POSITION = "horizontalPosition"; //$NON-NLS-1$
-
-    public static final String SORT_ACTION_ID = "sort"; //$NON-NLS-1$
-
-    public static final String FILTERS_ACTION_ID = "filters"; //$NON-NLS-1$
-
-    private TableViewer viewer;
-
-    private IMemento memento;
-
-    protected ColumnLayoutData[] columnLayouts;
-
-    private Map actions = new HashMap();
-
-    private ISelectionProvider selectionProvider = new SelectionProviderAdapter();
-
-    private TableSorter sorter;
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     */
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        this.memento = memento;
-    }
-
-    /**
-     * 
-     */
-    void haltTableUpdates() {
-        content.cancelPendingChanges();
-    }
-
-    void change(Collection toRefresh) {
-        content.change(toRefresh);
-    }
-
-    void setContents(Collection contents, IProgressMonitor mon) {
-        content.set(contents, mon);
-    }
-
-    protected ISelectionProvider getSelectionProvider() {
-        return selectionProvider;
-    }
-
-    abstract protected void viewerSelectionChanged(
-            IStructuredSelection selection);
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createPartControl(Composite parent) {
-        parent.setLayout(new FillLayout());
-
-        viewer = new TableViewer(createTable(parent));
-        restoreColumnWidths(memento);
-        createColumns(viewer.getTable());
-        content = new TableContentProvider(viewer, Messages.format(
-                "TableView.populating", //$NON-NLS-1$
-                new Object[] { getTitle() }), getProgressService());
-
-        viewer.setContentProvider(content);
-
-        viewer.setLabelProvider(new TableViewLabelProvider(getVisibleFields()));
-
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                IStructuredSelection selection = (IStructuredSelection) event
-                        .getSelection();
-                viewerSelectionChanged(selection);
-            }
-        });
-
-        setSorter(getSorter());
-
-        //create the actions before the input is set on the viewer but after the 
-        //sorter and filter are set so the actions will be enabled correctly.
-        createActions();
-
-        viewer.setInput(getViewerInput());
-
-        viewer.setSelection(restoreSelection(memento));
-
-        Scrollable scrollable = (Scrollable) viewer.getControl();
-        ScrollBar bar = scrollable.getVerticalBar();
-        if (bar != null) {
-            bar.setSelection(restoreVerticalScrollBarPosition(memento));
-        }
-        bar = scrollable.getHorizontalBar();
-        if (bar != null) {
-            bar.setSelection(restoreHorizontalScrollBarPosition(memento));
-        }
-
-        MenuManager mgr = initContextMenu();
-        Menu menu = mgr.createContextMenu(viewer.getControl());
-        viewer.getControl().setMenu(menu);
-        getSite().registerContextMenu(mgr, getSelectionProvider());
-
-        getSite().setSelectionProvider(getSelectionProvider());
-
-        initActionBars(getViewSite().getActionBars());
-        registerGlobalActions(getViewSite().getActionBars());
-
-        viewer.addOpenListener(new IOpenListener() {
-            public void open(OpenEvent event) {
-                handleOpenEvent(event);
-            }
-        });
-        viewer.getControl().addKeyListener(new KeyAdapter() {
-            public void keyPressed(KeyEvent e) {
-                handleKeyPressed(e);
-            }
-        });
-    }
-
-    /**
-     * @param selection
-     */
-    protected void setSelection(IStructuredSelection selection) {
-        getSelectionProvider().setSelection(selection);
-    }
-
-    /**
-     * @param sorter2
-     */
-    void setSorter(TableSorter sorter2) {
-        TableSorter newSorter = new TableSorter(sorter2);
-
-        sorter = newSorter;
-        content.setSorter(newSorter);
-        newSorter.saveState(getDialogSettings());
-        sorterChanged();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchPart#dispose()
-     */
-    public void dispose() {
-
-    }
-
-    /**
-     * Creates the table control.
-     */
-    protected Table createTable(Composite parent) {
-        Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI
-                | SWT.FULL_SELECTION);
-        table.setLinesVisible(true);
-        table.setFont(parent.getFont());
-        return table;
-    }
-
-    protected void createColumns(final Table table) {
-        SelectionListener headerListener = getHeaderListener();
-        TableLayout layout = new TableLayout();
-        table.setLayout(layout);
-        table.setHeaderVisible(true);
-        final IField[] fields = getVisibleFields();
-        ColumnLayoutData[] columnWidths = columnLayouts;
-        if (columnWidths == null) {
-            columnWidths = getDefaultColumnLayouts();
-        }
-        for (int i = 0; i < fields.length; i++) {
-            if (columnWidths == null || i >= columnWidths.length
-                    || columnWidths[i] == null) {
-                layout.addColumnData(new ColumnPixelData(504 / fields.length,
-                        true));
-            } else {
-                layout.addColumnData(columnWidths[i]);
-            }
-            TableColumn tc = new TableColumn(table, SWT.NONE, i);
-            tc.setText(fields[i].getColumnHeaderText());
-            tc.setImage(fields[i].getColumnHeaderImage());
-            tc.addSelectionListener(headerListener);
-        }
-    }
-
-    protected void createActions() {
-        if (getSortDialog() != null) {
-            putAction(SORT_ACTION_ID,
-                    new TableSortAction(this, getSortDialog()));
-        }
-    }
-
-    protected IAction getAction(String id) {
-        return (IAction) actions.get(id);
-    }
-
-    protected void putAction(String id, IAction action) {
-        actions.put(id, action);
-    }
-
-    protected MenuManager initContextMenu() {
-        MenuManager mgr = new MenuManager();
-        mgr.setRemoveAllWhenShown(true);
-        mgr.addMenuListener(new IMenuListener() {
-            public void menuAboutToShow(IMenuManager mgr) {
-
-                getViewer().cancelEditing();
-                fillContextMenu(mgr);
-            }
-        });
-        return mgr;
-    }
-
-    protected abstract void initToolBar(IToolBarManager tbm);
-
-    protected void initActionBars(IActionBars actionBars) {
-        initMenu(actionBars.getMenuManager());
-        initToolBar(actionBars.getToolBarManager());
-    }
-
-    protected void initMenu(IMenuManager menu) {
-        IAction sortAction = getAction(SORT_ACTION_ID);
-        if (sortAction != null)
-            menu.add(sortAction);
-        IAction filtersAction = getAction(FILTERS_ACTION_ID);
-        if (filtersAction != null)
-            menu.add(filtersAction);
-    }
-
-    protected abstract void registerGlobalActions(IActionBars actionBars);
-
-    protected abstract void fillContextMenu(IMenuManager manager);
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-        TableViewer viewer = getViewer();
-        if (viewer != null && !viewer.getControl().isDisposed()) {
-
-            viewer.getControl().setFocus();
-        }
-    }
-
-    protected TableSorter getSorter() {
-        if (sorter == null) {
-            int[] priorities = new int[getFields().length];
-            int[] directions = new int[getFields().length];
-            for (int i = 0; i < getFields().length; i++) {
-                priorities[i] = i;
-            }
-            Arrays.fill(directions, TableSorter.ASCENDING);
-            sorter = new TableSorter(getFields(), priorities, directions);
-            sorter.restoreState(getDialogSettings());
-        }
-        return sorter;
-    }
-
-    //protected abstract ITableViewContentProvider getContentProvider();
-
-    protected IField[] getFields() {
-        IField[] vProps = getVisibleFields();
-        IField[] hProps = getHiddenFields();
-        IField[] fields = new IField[vProps.length + hProps.length];
-        System.arraycopy(vProps, 0, fields, 0, vProps.length);
-        System.arraycopy(hProps, 0, fields, vProps.length, hProps.length);
-        return fields;
-    }
-
-    protected abstract Object getViewerInput();
-
-    protected abstract IField[] getVisibleFields();
-
-    protected abstract IField[] getHiddenFields();
-
-    protected abstract IDialogSettings getDialogSettings();
-
-    protected TableViewer getViewer() {
-        return viewer;
-    }
-
-    protected SelectionListener getHeaderListener() {
-        return new SelectionAdapter() {
-            /**
-             * Handles the case of user selecting the
-             * header area.
-             */
-            public void widgetSelected(SelectionEvent e) {
-
-                int column = getViewer().getTable().indexOf(
-                        (TableColumn) e.widget);
-                if (column == getSorter().getTopPriority())
-                    getSorter().reverseTopPriority();
-                else {
-                    getSorter().setTopPriority(column);
-                }
-                setSorter(getSorter());
-            }
-        };
-    }
-
-    protected abstract ColumnLayoutData[] getDefaultColumnLayouts();
-
-    protected TableSortDialog getSortDialog() {
-        if (getSorter() != null) {
-            return new TableSortDialog(getSite().getShell(), getSorter());
-        }
-        return null;
-    }
-
-    protected void sorterChanged() {
-
-        viewer.setSorter(getSorter());
-
-        final TableViewer viewer = getViewer();
-        if (viewer == null) {
-            return;
-        }
-
-        getSite().getShell().getDisplay().asyncExec(new Runnable() {
-            public void run() {
-                viewer.getControl().setRedraw(false);
-                viewer.refresh(false);
-                viewer.getControl().setRedraw(true);
-            }
-        });
-    }
-
-    protected abstract void handleKeyPressed(KeyEvent event);
-
-    protected abstract void handleOpenEvent(OpenEvent event);
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.ViewPart#saveState(org.eclipse.ui.IMemento)
-     */
-    public void saveState(IMemento memento) {
-        super.saveState(memento);
-
-        //save column widths
-        TableColumn[] columns = viewer.getTable().getColumns();
-        for (int i = 0; i < columns.length; i++) {
-            memento.putInteger(TAG_COLUMN_WIDTH + i, columns[i].getWidth());
-        }
-
-        saveSelection(memento);
-
-        //save vertical position
-        Scrollable scrollable = (Scrollable) viewer.getControl();
-        ScrollBar bar = scrollable.getVerticalBar();
-        int position = (bar != null) ? bar.getSelection() : 0;
-        memento.putInteger(TAG_VERTICAL_POSITION, position);
-        //save horizontal position
-        bar = scrollable.getHorizontalBar();
-        position = (bar != null) ? bar.getSelection() : 0;
-        memento.putInteger(TAG_HORIZONTAL_POSITION, position);
-    }
-
-    protected abstract void saveSelection(IMemento memento);
-
-    private void restoreColumnWidths(IMemento memento) {
-        if (memento == null) {
-            return;
-        }
-        columnLayouts = new ColumnLayoutData[getFields().length];
-        for (int i = 0; i < columnLayouts.length; i++) {
-            Integer width = memento.getInteger(TAG_COLUMN_WIDTH + i);
-            if (width == null) {
-                columnLayouts = null;
-                break;
-            } else {
-                columnLayouts[i] = new ColumnPixelData(width.intValue(), true);
-            }
-        }
-    }
-
-    protected abstract IStructuredSelection restoreSelection(IMemento memento);
-
-    private int restoreVerticalScrollBarPosition(IMemento memento) {
-        if (memento == null) {
-            return 0;
-        }
-        Integer position = memento.getInteger(TAG_VERTICAL_POSITION);
-        return (position == null) ? 0 : position.intValue();
-    }
-
-    private int restoreHorizontalScrollBarPosition(IMemento memento) {
-        if (memento == null) {
-            return 0;
-        }
-        Integer position = memento.getInteger(TAG_HORIZONTAL_POSITION);
-        return (position == null) ? 0 : position.intValue();
-    }
-
-    /**
-     * Get the IWorkbenchSiteProgressService for the receiver.
-     * @return IWorkbenchSiteProgressService or <code>null</code>.
-     */
-    protected IWorkbenchSiteProgressService getProgressService() {
-        IWorkbenchSiteProgressService service = null;
-        Object siteService = getSite().getAdapter(
-                IWorkbenchSiteProgressService.class);
-        if (siteService != null)
-            service = (IWorkbenchSiteProgressService) siteService;
-        return service;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java
deleted file mode 100644
index a1421be..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableViewLabelProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class TableViewLabelProvider extends LabelProvider implements
-        ITableLabelProvider {
-
-    IField[] fields;
-
-    public TableViewLabelProvider(IField[] fields) {
-        this.fields = fields;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-     */
-    public Image getColumnImage(Object element, int columnIndex) {
-        if (fields == null || columnIndex < 0 || columnIndex >= fields.length) {
-            return null;
-        }
-        return fields[columnIndex].getImage(element);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-     */
-    public String getColumnText(Object element, int columnIndex) {
-        if (fields == null || columnIndex < 0 || columnIndex >= fields.length) {
-            return null;
-        }
-        return fields[columnIndex].getValue(element);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java
deleted file mode 100644
index 0dedf77..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskFilter.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.IDialogSettings;
-
-public class TaskFilter extends MarkerFilter {
-
-    private static final String TAG_CONTAINS = "contains"; //$NON-NLS-1$
-
-    private static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-
-    private static final String TAG_DIALOG_SECTION = "filter"; //$NON-NLS-1$	
-
-    private static final String TAG_DONE = "done"; //$NON-NLS-1$
-
-    private static final String TAG_PRIORITY = "priority"; //$NON-NLS-1$
-
-    private static final String TAG_SELECT_BY_DONE = "selectByDone"; //$NON-NLS-1$
-
-    private static final String TAG_SELECT_BY_PRIORITY = "selectByPriority"; //$NON-NLS-1$
-
-    final static boolean DEFAULT_CONTAINS = true;
-
-    final static String DEFAULT_DESCRIPTION = ""; //$NON-NLS-1$	
-
-    final static boolean DEFAULT_DONE = false;
-
-    final static int DEFAULT_PRIORITY = 0;
-
-    final static boolean DEFAULT_SELECT_BY_DONE = false;
-
-    final static boolean DEFAULT_SELECT_BY_PRIORITY = false;
-
-    final static int PRIORITY_HIGH = 1 << 2;
-
-    final static int PRIORITY_NORMAL = 1 << 1;
-
-    final static int PRIORITY_LOW = 1 << 0;
-
-    private boolean contains;
-
-    private String description;
-
-    private boolean done;
-
-    private int priority;
-
-    private boolean selectByPriority;
-
-    private boolean selectByDone;
-
-    public TaskFilter() {
-        super(new String[] { IMarker.TASK });
-    }
-
-    public boolean selectMarker(ConcreteMarker marker) {
-        if (!(marker instanceof TaskMarker)) {
-            return false;
-        }
-
-        TaskMarker taskMarker = (TaskMarker) marker;
-
-        return !isEnabled()
-                || (super.selectMarker(taskMarker)
-                        && selectByDescription(taskMarker)
-                        && selectByDone(taskMarker) && selectByPriority(taskMarker));
-    }
-
-    private boolean selectByDescription(ConcreteMarker marker) {
-        if (description == null || description.equals("")) //$NON-NLS-1$
-            return true;
-
-        int index = marker.getDescription().indexOf(description);
-        return contains ? (index >= 0) : (index < 0);
-    }
-
-    private boolean selectByDone(TaskMarker item) {
-        if (selectByDone)
-            return done == (item.getDone() == 1);
-
-        return true;
-    }
-
-    private boolean selectByPriority(TaskMarker marker) {
-        if (priority != 0 && selectByPriority) {
-            int markerPriority = marker.getPriority();
-
-            if (markerPriority == IMarker.PRIORITY_HIGH)
-                return (priority & PRIORITY_HIGH) > 0;
-            else if (markerPriority == IMarker.PRIORITY_NORMAL)
-                return (priority & PRIORITY_NORMAL) > 0;
-            else if (markerPriority == IMarker.PRIORITY_LOW)
-                return (priority & PRIORITY_LOW) > 0;
-        }
-
-        return true;
-    }
-
-    public boolean getContains() {
-        return contains;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public boolean getDone() {
-        return done;
-    }
-
-    public int getPriority() {
-        return priority;
-    }
-
-    public boolean getSelectByDone() {
-        return selectByDone;
-    }
-
-    public boolean getSelectByPriority() {
-        return selectByPriority;
-    }
-
-    public void setContains(boolean contains) {
-        this.contains = contains;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public void setDone(boolean done) {
-        this.done = done;
-    }
-
-    public void setPriority(int priority) {
-        this.priority = priority;
-    }
-
-    public void setSelectByDone(boolean selectByDone) {
-        this.selectByDone = selectByDone;
-    }
-
-    public void setSelectByPriority(boolean selectByPriority) {
-        this.selectByPriority = selectByPriority;
-    }
-
-    public void resetState() {
-        super.resetState();
-        contains = DEFAULT_CONTAINS;
-        description = DEFAULT_DESCRIPTION;
-        done = DEFAULT_DONE;
-        priority = DEFAULT_PRIORITY;
-        selectByDone = DEFAULT_SELECT_BY_DONE;
-        selectByPriority = DEFAULT_SELECT_BY_PRIORITY;
-    }
-
-    public void restoreState(IDialogSettings dialogSettings) {
-        super.restoreState(dialogSettings);
-        IDialogSettings settings = dialogSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings != null) {
-            String setting = settings.get(TAG_CONTAINS);
-
-            if (setting != null)
-                contains = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_DESCRIPTION);
-
-            if (setting != null)
-                description = new String(setting);
-
-            setting = settings.get(TAG_DONE);
-
-            if (setting != null)
-                done = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_PRIORITY);
-
-            if (setting != null)
-                try {
-                    priority = Integer.parseInt(setting);
-                } catch (NumberFormatException eNumberFormat) {
-                }
-
-            setting = settings.get(TAG_SELECT_BY_DONE);
-
-            if (setting != null)
-                selectByDone = Boolean.valueOf(setting).booleanValue();
-
-            setting = settings.get(TAG_SELECT_BY_PRIORITY);
-
-            if (setting != null)
-                selectByPriority = Boolean.valueOf(setting).booleanValue();
-        }
-    }
-
-    public void saveState(IDialogSettings dialogSettings) {
-        super.saveState(dialogSettings);
-
-        if (dialogSettings != null) {
-            IDialogSettings settings = dialogSettings
-                    .getSection(TAG_DIALOG_SECTION);
-
-            if (settings == null)
-                settings = dialogSettings.addNewSection(TAG_DIALOG_SECTION);
-
-            settings.put(TAG_CONTAINS, contains);
-            settings.put(TAG_DESCRIPTION, description);
-            settings.put(TAG_DONE, done);
-            settings.put(TAG_PRIORITY, priority);
-            settings.put(TAG_SELECT_BY_DONE, selectByDone);
-            settings.put(TAG_SELECT_BY_PRIORITY, selectByPriority);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.java
deleted file mode 100644
index 34a3d8d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskMarker.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.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * Represents a marker visible in the Tasks view. Additional members should be added
- * to this class if new fields are added to the Tasks view. Such members should be
- * initialized in the constructor, and accessed via get methods rather than accessing
- * the IMarker instance directly. This is necessary to support sorting in a reasonable
- * time bound.
- */
-public class TaskMarker extends ConcreteMarker {
-
-    private int priority;
-
-    private int done;
-
-    /**
-     * @param toCopy
-     */
-    public TaskMarker(IMarker toCopy) {
-        super(toCopy);
-    }
-
-    public void refresh() {
-        super.refresh();
-        priority = getMarker().getAttribute(IMarker.PRIORITY,
-                IMarker.PRIORITY_NORMAL);
-        done = -1;
-        if (getMarker().getAttribute(IMarker.USER_EDITABLE, true)) {
-            done = 0;
-            if (getMarker().getAttribute(IMarker.DONE, false)) {
-                done = 1;
-            }
-        }
-    }
-
-    public int getPriority() {
-        return priority;
-    }
-
-    public int getDone() {
-        return done;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java
deleted file mode 100644
index 34ae704..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TaskView.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class TaskView extends MarkerView {
-
-    private static final String COMPLETION = "completion"; //$NON-NLS-1$
-
-    private final ColumnLayoutData[] DEFAULT_COLUMN_LAYOUTS = {
-            new ColumnPixelData(19, false), new ColumnPixelData(19, false),
-            new ColumnWeightData(200), new ColumnWeightData(75),
-            new ColumnWeightData(150), new ColumnWeightData(60) };
-
-    private final IField[] HIDDEN_FIELDS = { new FieldCreationTime() };
-
-    private final static String[] ROOT_TYPES = { IMarker.TASK };
-
-    private final static String[] TABLE_COLUMN_PROPERTIES = { COMPLETION,
-            IMarker.PRIORITY, IMarker.MESSAGE, "", //$NON-NLS-1$
-            "", //$NON-NLS-1$
-            "" //$NON-NLS-1$
-    };
-
-    private final static String TAG_DIALOG_SECTION = "org.eclipse.ui.views.task"; //$NON-NLS-1$
-
-    private final IField[] VISIBLE_FIELDS = { new FieldDone(),
-            new FieldPriority(), new FieldMessage(), new FieldResource(),
-            new FieldFolder(), new FieldLineNumber() };
-
-    private ICellModifier cellModifier = new ICellModifier() {
-        public Object getValue(Object element, String property) {
-            if (element instanceof ConcreteMarker) {
-                IMarker marker = ((ConcreteMarker) element).getMarker();
-
-                if (COMPLETION.equals(property))
-                    return new Boolean(marker.getAttribute(IMarker.DONE, false));
-
-                if (IMarker.PRIORITY.equals(property))
-                    return new Integer(IMarker.PRIORITY_HIGH
-                            - marker.getAttribute(IMarker.PRIORITY,
-                                    IMarker.PRIORITY_NORMAL));
-
-                if (IMarker.MESSAGE.equals(property))
-                    return marker.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
-            }
-
-            return null;
-        }
-
-        public boolean canModify(Object element, String property) {
-            return Util.isEditable(((ConcreteMarker) element).getMarker());
-        }
-
-        public void modify(Object element, String property, Object value) {
-            if (element instanceof Item) {
-                Item item = (Item) element;
-                Object data = item.getData();
-
-                if (data instanceof ConcreteMarker) {
-                    ConcreteMarker concreteMarker = (ConcreteMarker) data;
-
-                    IMarker marker = concreteMarker.getMarker();
-
-                    try {
-                        Object oldValue = getValue(data, property);
-                        if (oldValue != null && !oldValue.equals(value)) {
-                            if (COMPLETION.equals(property))
-                                marker.setAttribute(IMarker.DONE, value);
-                            else if (IMarker.PRIORITY.equals(property))
-                                marker.setAttribute(IMarker.PRIORITY,
-                                        IMarker.PRIORITY_HIGH
-                                                - ((Integer) value).intValue());
-                            else if (IMarker.MESSAGE.equals(property))
-                                marker.setAttribute(IMarker.MESSAGE, value);
-                        }
-
-                        concreteMarker.refresh();
-                    } catch (CoreException e) {
-                        ErrorDialog
-                                .openError(
-                                        getSite().getShell(),
-                                        Messages
-                                                .getString("errorModifyingTask"), null, e.getStatus()); //$NON-NLS-1$
-                    }
-                }
-            }
-        }
-    };
-
-    private CellEditorActionHandler cellEditorActionHandler;
-
-    private TaskFilter taskFilter;
-
-    private ActionAddGlobalTask addGlobalTaskAction;
-
-    private ActionDeleteCompleted deleteCompletedAction;
-
-    private ActionMarkCompleted markCompletedAction;
-
-    public void createPartControl(Composite parent) {
-        super.createPartControl(parent);
-
-        TableViewer tableViewer = getViewer();
-        CellEditor cellEditors[] = new CellEditor[tableViewer.getTable()
-                .getColumnCount()];
-        cellEditors[0] = new CheckboxCellEditor(tableViewer.getTable());
-
-        String[] priorities = new String[] {
-                Messages.getString("priority.high"), //$NON-NLS-1$
-                Messages.getString("priority.normal"), //$NON-NLS-1$
-                Messages.getString("priority.low") //$NON-NLS-1$
-        };
-
-        cellEditors[1] = new ComboBoxCellEditor(tableViewer.getTable(),
-                priorities, SWT.READ_ONLY);
-        CellEditor descriptionCellEditor = new TextCellEditor(tableViewer
-                .getTable());
-        cellEditors[2] = descriptionCellEditor;
-        tableViewer.setCellEditors(cellEditors);
-        tableViewer.setCellModifier(cellModifier);
-        tableViewer.setColumnProperties(TABLE_COLUMN_PROPERTIES);
-
-        cellEditorActionHandler = new CellEditorActionHandler(getViewSite()
-                .getActionBars());
-        cellEditorActionHandler.addCellEditor(descriptionCellEditor);
-        cellEditorActionHandler.setCopyAction(copyAction);
-        cellEditorActionHandler.setPasteAction(pasteAction);
-        cellEditorActionHandler.setDeleteAction(deleteAction);
-        cellEditorActionHandler.setSelectAllAction(selectAllAction);
-    }
-
-    public void dispose() {
-        if (cellEditorActionHandler != null)
-            cellEditorActionHandler.dispose();
-
-        if (markCompletedAction != null)
-            markCompletedAction.dispose();
-
-        super.dispose();
-    }
-
-    public void init(IViewSite viewSite, IMemento memento)
-            throws PartInitException {
-        super.init(viewSite, memento);
-        taskFilter = new TaskFilter();
-        IDialogSettings dialogSettings = getDialogSettings();
-
-        if (taskFilter != null)
-            taskFilter.restoreState(dialogSettings);
-    }
-
-    public void saveState(IMemento memento) {
-        IDialogSettings dialogSettings = getDialogSettings();
-
-        if (taskFilter != null)
-            taskFilter.saveState(dialogSettings);
-
-        super.saveState(memento);
-    }
-
-    protected ColumnLayoutData[] getDefaultColumnLayouts() {
-        return DEFAULT_COLUMN_LAYOUTS;
-    }
-
-    protected IDialogSettings getDialogSettings() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings settings = workbenchSettings
-                .getSection(TAG_DIALOG_SECTION);
-
-        if (settings == null)
-            settings = workbenchSettings.addNewSection(TAG_DIALOG_SECTION);
-
-        return settings;
-    }
-
-    protected void createActions() {
-        super.createActions();
-
-        ISelectionProvider selProvider = getSelectionProvider();
-
-        addGlobalTaskAction = new ActionAddGlobalTask(this);
-        deleteCompletedAction = new ActionDeleteCompleted(this, selProvider);
-        markCompletedAction = new ActionMarkCompleted(selProvider);
-        propertiesAction = new ActionTaskProperties(this, selProvider);
-    }
-
-    protected void createColumns(Table table) {
-        super.createColumns(table);
-        TableColumn[] columns = table.getColumns();
-
-        if (columns != null && columns.length >= 1) {
-            columns[0].setResizable(false);
-
-            if (columns.length >= 2)
-                columns[1].setResizable(false);
-        }
-    }
-
-    protected void fillContextMenu(IMenuManager manager) {
-        manager.add(addGlobalTaskAction);
-        manager.add(new Separator());
-        super.fillContextMenu(manager);
-    }
-
-    protected void fillContextMenuAdditions(IMenuManager manager) {
-        manager.add(new Separator());
-        manager.add(markCompletedAction);
-        manager.add(deleteCompletedAction);
-    }
-
-    protected DialogMarkerFilter getFiltersDialog() {
-        return new DialogTaskFilter(getSite().getShell(), taskFilter);
-    }
-
-    protected IField[] getHiddenFields() {
-        return HIDDEN_FIELDS;
-    }
-
-    protected String[] getRootTypes() {
-        return ROOT_TYPES;
-    }
-
-    protected Object getViewerInput() {
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-    protected IField[] getVisibleFields() {
-        return VISIBLE_FIELDS;
-    }
-
-    protected void initToolBar(IToolBarManager toolBarManager) {
-        toolBarManager.add(addGlobalTaskAction);
-        super.initToolBar(toolBarManager);
-    }
-
-    public void setSelection(IStructuredSelection structuredSelection,
-            boolean reveal) {
-        // TODO: added because nick doesn't like public API inherited from internal classes
-        super.setSelection(structuredSelection, reveal);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#getMarkerTypes()
-     */
-    protected String[] getMarkerTypes() {
-        return new String[] { IMarker.TASK };
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#getFilter()
-     */
-    protected MarkerFilter getFilter() {
-        return taskFilter;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#openFiltersDialog()
-     */
-    public void openFiltersDialog() {
-        DialogTaskFilter dialog = new DialogTaskFilter(getSite().getShell(),
-                taskFilter);
-
-        if (dialog.open() == Window.OK) {
-            taskFilter = (TaskFilter) dialog.getFilter();
-            taskFilter.saveState(getDialogSettings());
-            refresh();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.views.markers.internal.MarkerView#updateFilterSelection(org.eclipse.core.resources.IResource[])
-     */
-    protected void updateFilterSelection(IResource[] resources) {
-        taskFilter.setFocusResource(resources);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
deleted file mode 100644
index bb0c0fb..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.markers.internal;
-
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-
-public final class Util {
-
-    public static String getString(ResourceBundle resourceBundle, String key)
-            throws IllegalArgumentException {
-        if (resourceBundle == null || key == null)
-            throw new IllegalArgumentException();
-
-        String value = key;
-
-        try {
-            value = resourceBundle.getString(key);
-        } catch (MissingResourceException eMissingResource) {
-            System.err.println(eMissingResource);
-        }
-
-        return value != null ? value.trim() : null;
-    }
-
-    public static String getProperty(String property, IMarker marker) {
-        if (marker == null)
-            return ""; //$NON-NLS-1$
-        try {
-            Object obj = marker.getAttribute(property);
-            if (obj != null)
-                return obj.toString();
-            return ""; //$NON-NLS-1$
-        } catch (CoreException e) {
-            return ""; //$NON-NLS-1$
-        }
-    }
-
-    public static String getCreationTime(long timestamp) {
-        return DateFormat.getDateTimeInstance(DateFormat.LONG,
-                DateFormat.MEDIUM).format(new Date(timestamp));
-    }
-
-    public static String getCreationTime(IMarker marker) {
-        try {
-            return getCreationTime(marker.getCreationTime());
-        } catch (CoreException e) {
-            return ""; //$NON-NLS-1$
-        }
-    }
-
-    public static String getContainerName(IMarker marker) {
-        IPath path = marker.getResource().getFullPath();
-        int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-        if (n <= 0)
-            return ""; //$NON-NLS-1$
-        int len = 0;
-        for (int i = 0; i < n; ++i)
-            len += path.segment(i).length();
-        // account for /'s
-        if (n > 1)
-            len += n - 1;
-        StringBuffer sb = new StringBuffer(len);
-        for (int i = 0; i < n; ++i) {
-            if (i != 0)
-                sb.append('/');
-            sb.append(path.segment(i));
-        }
-        return sb.toString();
-    }
-
-    public static String getResourceName(IMarker marker) {
-        return marker.getResource().getName();
-    }
-
-    public static boolean isEditable(IMarker marker) {
-        if (marker == null) {
-            return false;
-        }
-        try {
-            return marker.isSubtypeOf(IMarker.BOOKMARK)
-                    || (marker.isSubtypeOf(IMarker.TASK) && marker
-                            .getAttribute(IMarker.USER_EDITABLE, true));
-        } catch (CoreException e) {
-            return false;
-        }
-    }
-
-    private Util() {
-        super();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html
deleted file mode 100644
index dc9191d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/package.html
+++ /dev/null
@@ -1,13 +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.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Utility classes for working with markers in views
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java
deleted file mode 100644
index fa0b885..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CollapseAllAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/cpl-v10.html 
- * 
- * Contributors: 
- *   IBM Corporation - initial API and implementation 
- *   Sebastian Davids <sdavids@gmx.de> - Collapse all action (25826)
- ******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Collapse all project nodes.
- */
-public class CollapseAllAction extends ResourceNavigatorAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param navigator the resource navigator
-     * @param label the label for the action
-     */
-    public CollapseAllAction(IResourceNavigator navigator, String label) {
-        super(navigator, label);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                INavigatorHelpContextIds.COLLAPSE_ALL_ACTION);
-        setEnabled(true);
-    }
-
-    /*
-     * Implementation of method defined on <code>IAction</code>.
-     */
-    public void run() {
-        getNavigator().getViewer().collapseAll();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.java
deleted file mode 100644
index b1204d8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/CopyAction.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.ui.views.navigator;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Standard action for copying the currently selected resources to the clipboard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-/*package*/class CopyAction extends SelectionListenerAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".CopyAction"; //$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * System clipboard
-     */
-    private Clipboard clipboard;
-
-    /**
-     * Associated paste action. May be <code>null</code>
-     */
-    private PasteAction pasteAction;
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     * @param clipboard a platform clipboard
-     */
-    public CopyAction(Shell shell, Clipboard clipboard) {
-        super(ResourceNavigatorMessages.getString("CopyAction.title")); //$NON-NLS-1$
-        Assert.isNotNull(shell);
-        Assert.isNotNull(clipboard);
-        this.shell = shell;
-        this.clipboard = clipboard;
-        setToolTipText(ResourceNavigatorMessages
-                .getString("CopyAction.toolTip")); //$NON-NLS-1$
-        setId(CopyAction.ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				INavigatorHelpContextIds.COPY_ACTION);
-    }
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     * @param clipboard a platform clipboard
-     * @param pasteAction a paste action
-     * 
-     * @since 2.0
-     */
-    public CopyAction(Shell shell, Clipboard clipboard, PasteAction pasteAction) {
-        this(shell, clipboard);
-        this.pasteAction = pasteAction;
-    }
-
-    /**
-     * The <code>CopyAction</code> implementation of this method defined 
-     * on <code>IAction</code> copies the selected resources to the 
-     * clipboard.
-     */
-    public void run() {
-        List selectedResources = getSelectedResources();
-        IResource[] resources = (IResource[]) selectedResources
-                .toArray(new IResource[selectedResources.size()]);
-
-        // Get the file names and a string representation
-        final int length = resources.length;
-        int actualLength = 0;
-        String[] fileNames = new String[length];
-        StringBuffer buf = new StringBuffer();
-        for (int i = 0; i < length; i++) {
-            IPath location = resources[i].getLocation();
-            // location may be null. See bug 29491.
-            if (location != null)
-                fileNames[actualLength++] = location.toOSString();
-            if (i > 0)
-                buf.append("\n"); //$NON-NLS-1$
-            buf.append(resources[i].getName());
-        }
-        // was one or more of the locations null?
-        if (actualLength < length) {
-            String[] tempFileNames = fileNames;
-            fileNames = new String[actualLength];
-            for (int i = 0; i < actualLength; i++)
-                fileNames[i] = tempFileNames[i];
-        }
-        setClipboard(resources, fileNames, buf.toString());
-
-        // update the enablement of the paste action
-        // workaround since the clipboard does not suppot callbacks
-        if (pasteAction != null && pasteAction.getStructuredSelection() != null)
-            pasteAction.selectionChanged(pasteAction.getStructuredSelection());
-    }
-
-    /**
-     * Set the clipboard contents. Prompt to retry if clipboard is busy.
-     * 
-     * @param resources the resources to copy to the clipboard
-     * @param fileNames file names of the resources to copy to the clipboard
-     * @param names string representation of all names
-     */
-    private void setClipboard(IResource[] resources, String[] fileNames,
-            String names) {
-        try {
-            // set the clipboard contents
-            if (fileNames.length > 0) {
-                clipboard.setContents(new Object[] { resources, fileNames,
-                        names },
-                        new Transfer[] { ResourceTransfer.getInstance(),
-                                FileTransfer.getInstance(),
-                                TextTransfer.getInstance() });
-            } else {
-                clipboard.setContents(new Object[] { resources, names },
-                        new Transfer[] { ResourceTransfer.getInstance(),
-                                TextTransfer.getInstance() });
-            }
-        } catch (SWTError e) {
-            if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-                throw e;
-            if (MessageDialog
-                    .openQuestion(
-                            shell,
-                            ResourceNavigatorMessages
-                                    .getString("CopyToClipboardProblemDialog.title"), ResourceNavigatorMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-                setClipboard(resources, fileNames, names);
-        }
-    }
-
-    /**
-     * The <code>CopyAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables this action if 
-     * one or more resources of compatible types are selected.
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (!super.updateSelection(selection))
-            return false;
-
-        if (getSelectedNonResources().size() > 0)
-            return false;
-
-        List selectedResources = getSelectedResources();
-        if (selectedResources.size() == 0)
-            return false;
-
-        boolean projSelected = selectionIsOfType(IResource.PROJECT);
-        boolean fileFoldersSelected = selectionIsOfType(IResource.FILE
-                | IResource.FOLDER);
-        if (!projSelected && !fileFoldersSelected)
-            return false;
-
-        // selection must be homogeneous
-        if (projSelected && fileFoldersSelected)
-            return false;
-
-        // must have a common parent	
-        IContainer firstParent = ((IResource) selectedResources.get(0))
-                .getParent();
-        if (firstParent == null)
-            return false;
-
-        Iterator resourcesEnum = selectedResources.iterator();
-        while (resourcesEnum.hasNext()) {
-            IResource currentResource = (IResource) resourcesEnum.next();
-            if (!currentResource.getParent().equals(firstParent))
-                return false;
-            // resource location must exist
-            if (currentResource.getLocation() == null)
-                return false;
-        }
-
-        return true;
-    }
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.java
deleted file mode 100644
index 30bacdd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FilterSelectionAction.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.ui.views.navigator;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-
-/**
- * The FilterSelectionAction opens the filters dialog.
- */
-public class FilterSelectionAction extends ResourceNavigatorAction {
-    private static final String FILTER_TOOL_TIP = ResourceNavigatorMessages
-            .getString("FilterSelection.toolTip"); //$NON-NLS-1$
-
-    private static final String FILTER_SELECTION_MESSAGE = ResourceNavigatorMessages
-            .getString("FilterSelection.message"); //$NON-NLS-1$
-
-    private static final String FILTER_TITLE_MESSAGE = ResourceNavigatorMessages
-            .getString("FilterSelection.title"); //$NON-NLS-1$
-
-    /**
-     * Creates the action.
-     * 
-     * @param navigator the resource navigator
-     * @param label the label for the action
-     */
-    public FilterSelectionAction(IResourceNavigator navigator, String label) {
-        super(navigator, label);
-        setToolTipText(FILTER_TOOL_TIP);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                INavigatorHelpContextIds.FILTER_SELECTION_ACTION);
-        setEnabled(true);
-    }
-
-    /*
-     * Implementation of method defined on <code>IAction</code>.
-     */
-    public void run() {
-        IResourceNavigator navigator = getNavigator();
-        ResourcePatternFilter filter = navigator.getPatternFilter();
-        FiltersContentProvider contentProvider = new FiltersContentProvider(
-                filter);
-
-        ListSelectionDialog dialog = new ListSelectionDialog(getShell(),
-                getViewer(), contentProvider, new LabelProvider(),
-                FILTER_SELECTION_MESSAGE);
-
-        dialog.setTitle(FILTER_TITLE_MESSAGE);
-        dialog.setInitialSelections(contentProvider.getInitialSelections());
-        dialog.open();
-        if (dialog.getReturnCode() == Window.OK) {
-            Object[] results = dialog.getResult();
-            String[] selectedPatterns = new String[results.length];
-            System.arraycopy(results, 0, selectedPatterns, 0, results.length);
-            filter.setPatterns(selectedPatterns);
-            navigator.setFiltersPreference(selectedPatterns);
-            Viewer viewer = getViewer();
-            viewer.getControl().setRedraw(false);
-            viewer.refresh();
-            viewer.getControl().setRedraw(true);
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java
deleted file mode 100644
index ea59c78..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/FiltersContentProvider.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The FiltersContentProvider provides the elements for use by the list dialog
- * for selecting the patterns to apply.
- */
-/* package */class FiltersContentProvider implements
-        IStructuredContentProvider {
-
-    private static List definedFilters;
-
-    private static List defaultFilters;
-
-    private ResourcePatternFilter resourceFilter;
-
-    /**
-     * Create a FiltersContentProvider using the selections from the suppliec
-     * resource filter.
-     */
-    public FiltersContentProvider(ResourcePatternFilter filter) {
-        this.resourceFilter = filter;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IContentProvider.
-     */
-    public void dispose() {
-    }
-
-    /**
-     * Returns the filters which are enabled by default.
-     *
-     * @return a list of strings
-     */
-    public static List getDefaultFilters() {
-        if (defaultFilters == null) {
-            readFilters();
-        }
-        return defaultFilters;
-    }
-
-    /**
-     * Returns the filters currently defined for the navigator.
-     *
-     * @return a list of strings
-     */
-    public static List getDefinedFilters() {
-        if (definedFilters == null) {
-            readFilters();
-        }
-        return definedFilters;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IStructuredContentProvider.
-     */
-    public Object[] getElements(Object inputElement) {
-        return getDefinedFilters().toArray();
-    }
-
-    /**
-     * Return the initially selected elements.
-     */
-    public String[] getInitialSelections() {
-        return this.resourceFilter.getPatterns();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IContentProvider.
-     */
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-    }
-
-    /**
-     * Reads the filters currently defined for the workbench. 
-     */
-    private static void readFilters() {
-        definedFilters = new ArrayList();
-        defaultFilters = new ArrayList();
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(IDEWorkbenchPlugin.IDE_WORKBENCH);
-        if (plugin != null) {
-            IExtensionPoint extension = plugin.getDescriptor()
-                    .getExtensionPoint(ResourcePatternFilter.FILTERS_TAG);
-            if (extension != null) {
-                IExtension[] extensions = extension.getExtensions();
-                for (int i = 0; i < extensions.length; i++) {
-                    IConfigurationElement[] configElements = extensions[i]
-                            .getConfigurationElements();
-                    for (int j = 0; j < configElements.length; j++) {
-                        String pattern = configElements[j]
-                                .getAttribute("pattern");//$NON-NLS-1$
-                        if (pattern != null)
-                            definedFilters.add(pattern);
-                        String selected = configElements[j]
-                                .getAttribute("selected");//$NON-NLS-1$
-                        if (selected != null
-                                && selected.equalsIgnoreCase("true"))//$NON-NLS-1$
-                            defaultFilters.add(pattern);
-                    }
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java
deleted file mode 100644
index 827eab5..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoActionGroup.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.views.framelist.BackAction;
-import org.eclipse.ui.views.framelist.ForwardAction;
-import org.eclipse.ui.views.framelist.FrameList;
-import org.eclipse.ui.views.framelist.GoIntoAction;
-import org.eclipse.ui.views.framelist.UpAction;
-
-/**
- * This is the action group for the goto actions.
- */
-public class GotoActionGroup extends ResourceNavigatorActionGroup {
-
-    private BackAction backAction;
-
-    private ForwardAction forwardAction;
-
-    private GoIntoAction goIntoAction;
-
-    private UpAction upAction;
-
-    private GotoResourceAction goToResourceAction;
-
-    public GotoActionGroup(IResourceNavigator navigator) {
-        super(navigator);
-    }
-
-    public void fillContextMenu(IMenuManager menu) {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-        if (selection.size() == 1) {
-            if (ResourceSelectionUtil.allResourcesAreOfType(selection,
-                    IResource.FOLDER)) {
-                menu.add(goIntoAction);
-            } else {
-                IStructuredSelection resourceSelection = ResourceSelectionUtil
-                        .allResources(selection, IResource.PROJECT);
-                if (resourceSelection != null && !resourceSelection.isEmpty()) {
-                    IProject project = (IProject) resourceSelection
-                            .getFirstElement();
-                    if (project.isOpen())
-                        menu.add(goIntoAction);
-                }
-            }
-        }
-    }
-
-    public void fillActionBars(IActionBars actionBars) {
-        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.GO_INTO,
-                goIntoAction);
-        actionBars.setGlobalActionHandler(ActionFactory.BACK.getId(),
-                backAction);
-        actionBars.setGlobalActionHandler(ActionFactory.FORWARD.getId(),
-                forwardAction);
-        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.UP,
-                upAction);
-        actionBars.setGlobalActionHandler(
-                IWorkbenchActionConstants.GO_TO_RESOURCE, goToResourceAction);
-
-        IToolBarManager toolBar = actionBars.getToolBarManager();
-        toolBar.add(backAction);
-        toolBar.add(forwardAction);
-        toolBar.add(upAction);
-    }
-
-    protected void makeActions() {
-        FrameList frameList = navigator.getFrameList();
-        goIntoAction = new GoIntoAction(frameList);
-        backAction = new BackAction(frameList);
-        forwardAction = new ForwardAction(frameList);
-        upAction = new UpAction(frameList);
-        goToResourceAction = new GotoResourceAction(navigator,
-                ResourceNavigatorMessages.getString("GoToResource.label")); //$NON-NLS-1$
-    }
-
-    public void updateActionBars() {
-        ActionContext context = getContext();
-        boolean enable = false;
-
-        // Fix for bug 26126. Resource change listener could call
-        // updateActionBars without a context being set.
-        // This should never happen because resource navigator sets
-        // context immediately after this group is created.
-        if (context != null) {
-            IStructuredSelection selection = (IStructuredSelection) context
-                    .getSelection();
-
-            if (selection.size() == 1) {
-                Object object = selection.getFirstElement();
-                if (object instanceof IProject) {
-                    enable = ((IProject) object).isOpen();
-                } else if (object instanceof IFolder) {
-                    enable = true;
-                }
-            }
-        }
-        goIntoAction.setEnabled(enable);
-        // the rest of the actions update by listening to frame list changes
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java
deleted file mode 100644
index e00e73a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Implements the go to resource action. Opens a dialog and set
- * the navigator selection with the resource selected by
- * the user.
- */
-public class GotoResourceAction extends ResourceNavigatorAction {
-    /**
-     * Creates a new instance of the class.
-     * 
-     * @param navigator the navigator
-     * @param label the label
-     * @since 2.0
-     */
-    public GotoResourceAction(IResourceNavigator navigator, String label) {
-        super(navigator, label);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                INavigatorHelpContextIds.GOTO_RESOURCE_ACTION);
-    }
-
-    /**
-     * Collect all resources in the workbench open a dialog asking
-     * the user to select a resource and change the selection in
-     * the navigator.
-     */
-    public void run() {
-        IContainer container = (IContainer) getViewer().getInput();
-        GotoResourceDialog dialog = new GotoResourceDialog(getShell(),
-                container, IResource.FILE | IResource.FOLDER
-                        | IResource.PROJECT);
-        dialog.open();
-        Object[] result = dialog.getResult();
-        if (result == null || result.length == 0
-                || result[0] instanceof IResource == false)
-            return;
-
-        IResource selection = (IResource) result[0];
-        getViewer().setSelection(new StructuredSelection(selection), true);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java
deleted file mode 100644
index 24cb1b0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/GotoResourceDialog.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ResourceListSelectionDialog;
-
-/**
- * Shows a list of resources to the user with a text entry field
- * for a string pattern used to filter the list of resources.
- *
- */
-/*package*/class GotoResourceDialog extends ResourceListSelectionDialog {
-
-    /**
-     * Creates a new instance of the class.
-     */
-    protected GotoResourceDialog(Shell parentShell, IContainer container,
-            int typesMask) {
-        super(parentShell, container, typesMask);
-        setTitle(ResourceNavigatorMessages.getString("Goto.title")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(parentShell,
-                INavigatorHelpContextIds.GOTO_RESOURCE_DIALOG);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java
deleted file mode 100644
index 92568b6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/INavigatorHelpContextIds.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.views.navigator;
-
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.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> - Collapse all action (25826)
- ******************************************************************************/
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the resource navigator view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/interface INavigatorHelpContextIds {
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    // Actions
-    public static final String FILTER_SELECTION_ACTION = PREFIX
-            + "filter_selection_action_context"; //$NON-NLS-1$
-
-    public static final String GOTO_RESOURCE_ACTION = PREFIX
-            + "goto_resource_action_context"; //$NON-NLS-1$
-
-    public static final String RESOURCE_NAVIGATOR_MOVE_ACTION = PREFIX
-            + "resource_navigator_move_action_context"; //$NON-NLS-1$
-
-    public static final String RESOURCE_NAVIGATOR_RENAME_ACTION = PREFIX
-            + "resource_navigator_rename_action_context"; //$NON-NLS-1$
-
-    public static final String SHOW_IN_NAVIGATOR_ACTION = PREFIX
-            + "show_in_navigator_action_context"; //$NON-NLS-1$
-
-    public static final String SORT_VIEW_ACTION = PREFIX
-            + "sort_view_action_context"; //$NON-NLS-1$
-
-    public static final String COPY_ACTION = PREFIX
-            + "resource_navigator_copy_action_context"; //$NON-NLS-1$
-
-    public static final String PASTE_ACTION = PREFIX
-            + "resource_navigator_paste_action_context"; //$NON-NLS-1$
-
-    public static final String COLLAPSE_ALL_ACTION = PREFIX
-            + "collapse_all_action_context"; //$NON-NLS-1$
-
-    // Dialogs
-    public static final String GOTO_RESOURCE_DIALOG = PREFIX
-            + "goto_resource_dialog_context"; //$NON-NLS-1$
-
-    // Views
-    public static final String RESOURCE_VIEW = PREFIX + "resource_view_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.java
deleted file mode 100644
index 43569d4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/IResourceNavigator.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.ui.views.navigator;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.views.framelist.FrameList;
-
-/**
- * This interface defines the API for the resource navigator.
- * The action groups should restrict themselves to using this API.
- * <p>
- * This interface is not intended to be implemented by clients.
- * Subclass <code>org.eclipse.ui.views.ResourceNavigator</code> 
- * instead.   
- * </p>
- * 
- * @since 2.0
- */
-public interface IResourceNavigator extends IViewPart {
-
-    /**
-     * Returns the pattern filter.
-     *
-     * @return the pattern filter
-     */
-    ResourcePatternFilter getPatternFilter();
-
-    /**
-     * Returns the active working set, or <code>null<code> if none.
-     *
-     * @return the active working set, or <code>null<code> if none
-     * @since 2.0
-     */
-    IWorkingSet getWorkingSet();
-
-    /**
-     * Returns the current sorter.
-     */
-    ResourceSorter getSorter();
-
-    /**
-     * Sets the current sorter.
-     */
-    void setSorter(ResourceSorter sorter);
-
-    /**
-     * Sets the values of the filter preference to be the 
-     * strings in preference values
-     */
-    void setFiltersPreference(String[] patterns);
-
-    /**
-     * Returns the viewer which shows the resource tree.
-     */
-    TreeViewer getViewer();
-
-    /**
-     * Returns the frame list for this navigator.
-     */
-    FrameList getFrameList();
-
-    /**
-     * Returns whether this navigator's selection automatically tracks the active editor.
-     * 
-     * @return <code>true</code> if linking is enabled, <code>false</code> if not
-     * @since 2.1
-     */
-    boolean isLinkingEnabled();
-
-    /**
-     * Sets the working set for this view, or <code>null</code> to clear it.
-     * 
-     * @param workingSet the working set, or <code>null</code> to clear it
-     * @since 2.0
-     */
-    void setWorkingSet(IWorkingSet workingSet);
-
-    /**
-     * Sets whether this navigator's selection automatically tracks the active editor.
-     * 
-     * @param enabled <code>true</code> to enable, <code>false</code> to disable
-     * @since 2.1
-     */
-    void setLinkingEnabled(boolean enabled);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java
deleted file mode 100644
index 95e4482..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/LocalSelectionTransfer.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.dnd.ByteArrayTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * A LocalSelectionTransfer may be used for drag and drop operations
- * within the same instance of Eclipse.
- * The selection is made available directly for use in the DropTargetListener.
- * dropAccept method. The DropTargetEvent passed to dropAccept does not contain
- * the drop data. The selection may be used for validation purposes so that the
- * drop can be aborted if appropriate.
- *
- * This class is not intended to be subclassed.
- * 
- * @since 2.1
- */
-public class LocalSelectionTransfer extends ByteArrayTransfer {
-
-    // First attempt to create a UUID for the type name to make sure that
-    // different Eclipse applications use different "types" of
-    // <code>LocalSelectionTransfer</code>
-    private static final String TYPE_NAME = "local-selection-transfer-format" + (new Long(System.currentTimeMillis())).toString(); //$NON-NLS-1$;
-
-    private static final int TYPEID = registerType(TYPE_NAME);
-
-    private static final LocalSelectionTransfer INSTANCE = new LocalSelectionTransfer();
-
-    private ISelection selection;
-
-    private long selectionSetTime;
-
-    /**
-     * Only the singleton instance of this class may be used. 
-     */
-    private LocalSelectionTransfer() {
-    }
-
-    /**
-     * Returns the singleton.
-     * @return LocalSelectionTransfer
-     */
-    public static LocalSelectionTransfer getInstance() {
-        return INSTANCE;
-    }
-
-    /**
-     * Returns the local transfer data.
-     * 
-     * @return the local transfer data
-     */
-    public ISelection getSelection() {
-        return selection;
-    }
-
-    /**
-     * Tests whether native drop data matches this transfer type.
-     * 
-     * @param result result of converting the native drop data to Java
-     * @return true if the native drop data does not match this transfer type.
-     * 	false otherwise.
-     */
-    private boolean isInvalidNativeType(Object result) {
-        return !(result instanceof byte[])
-                || !TYPE_NAME.equals(new String((byte[]) result));
-    }
-
-    /**
-     * Returns the type id used to identify this transfer.
-     * 
-     * @return the type id used to identify this transfer.
-     */
-    protected int[] getTypeIds() {
-        return new int[] { TYPEID };
-    }
-
-    /**
-     * Returns the type name used to identify this transfer.
-     * 
-     * @return the type name used to identify this transfer.
-     */
-    protected String[] getTypeNames() {
-        return new String[] { TYPE_NAME };
-    }
-
-    /**
-     * Overrides org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(Object,
-     * TransferData).
-     * Only encode the transfer type name since the selection is read and
-     * written in the same process.
-     * 
-     * @see org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)
-     */
-    public void javaToNative(Object object, TransferData transferData) {
-        byte[] check = TYPE_NAME.getBytes();
-        super.javaToNative(check, transferData);
-    }
-
-    /**
-     * Overrides org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(TransferData).
-     * Test if the native drop data matches this transfer type.
-     * 
-     * @see org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(TransferData)
-     */
-    public Object nativeToJava(TransferData transferData) {
-        Object result = super.nativeToJava(transferData);
-        if (isInvalidNativeType(result)) {
-            ILog log = IDEWorkbenchPlugin.getDefault().getLog();
-            log
-                    .log(new Status(
-                            IStatus.ERROR,
-                            IDEWorkbenchPlugin.IDE_WORKBENCH,
-                            IStatus.ERROR,
-                            ResourceNavigatorMessages
-                                    .getString("LocalSelectionTransfer.errorMessage"), null)); //$NON-NLS-1$
-        }
-        return selection;
-    }
-
-    /**
-     * Sets the transfer data for local use.
-     * 
-     * @param s the transfer data
-     */
-    public void setSelection(ISelection s) {
-        selection = s;
-    }
-
-    /**
-     * Returns the time when the selection operation
-     * this transfer is associated with was started.
-     * 
-     * @return the time when the selection operation has started
-     * 
-     * @see org.eclipse.swt.events.TypedEvent#time
-     */
-    public long getSelectionSetTime() {
-        return selectionSetTime;
-    }
-
-    /**
-     * Sets the time when the selection operation this
-     * transfer is associated with was started.
-     * If assigning this from an SWT event, be sure to use
-     * <code>setSelectionTime(event.time & 0xFFFF)</code>
-     * 
-     * @param time the time when the selection operation was started
-     * 
-     * @see org.eclipse.swt.events.TypedEvent#time
-     */
-    public void setSelectionSetTime(long time) {
-        selectionSetTime = time;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java
deleted file mode 100644
index 728e4e1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/MainActionGroup.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Collapse all action (25826)
- *     Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.List;
-
-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.ResourcesPlugin;
-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.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.AddBookmarkAction;
-import org.eclipse.ui.actions.AddTaskAction;
-import org.eclipse.ui.actions.ExportResourcesAction;
-import org.eclipse.ui.actions.ImportResourcesAction;
-import org.eclipse.ui.actions.NewWizardMenu;
-import org.eclipse.ui.actions.WorkingSetFilterActionGroup;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.ide.IDEActionFactory;
-
-/**
- * The main action group for the navigator.
- * This contains a few actions and several subgroups.
- */
-public class MainActionGroup extends ResourceNavigatorActionGroup {
-
-    protected AddBookmarkAction addBookmarkAction;
-
-    protected AddTaskAction addTaskAction;
-
-    protected PropertyDialogAction propertyDialogAction;
-
-    protected ImportResourcesAction importAction;
-
-    protected ExportResourcesAction exportAction;
-
-    protected CollapseAllAction collapseAllAction;
-
-    protected ToggleLinkingAction toggleLinkingAction;
-
-    protected GotoActionGroup gotoGroup;
-
-    protected OpenActionGroup openGroup;
-
-    protected RefactorActionGroup refactorGroup;
-
-    protected WorkingSetFilterActionGroup workingSetGroup;
-
-    protected SortAndFilterActionGroup sortAndFilterGroup;
-
-    protected WorkspaceActionGroup workspaceGroup;
-
-    private IResourceChangeListener resourceChangeListener;
-
-    private NewWizardMenu newWizardMenu;
-
-    /**
-     * Constructs the main action group.
-     * 
-     * @param navigator the navigator view
-     */
-    public MainActionGroup(IResourceNavigator navigator) {
-        super(navigator);
-        resourceChangeListener = new IResourceChangeListener() {
-            public void resourceChanged(IResourceChangeEvent event) {
-                handleResourceChanged(event);
-            }
-        };
-        ResourcesPlugin.getWorkspace().addResourceChangeListener(
-                resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
-        makeSubGroups();
-    }
-
-    /**
-     * Handles a resource changed event by updating the enablement
-     * if one of the selected projects is opened or closed.
-     */
-    protected void handleResourceChanged(IResourceChangeEvent event) {
-        ActionContext context = getContext();
-        if (context == null) {
-            return;
-        }
-
-        final IStructuredSelection selection = (IStructuredSelection) context
-                .getSelection();
-        if (ResourceSelectionUtil.allResourcesAreOfType(selection,
-                IResource.PROJECT) == false) {
-            return;
-        }
-        List sel = selection.toList();
-        IResourceDelta delta = event.getDelta();
-        if (delta == null) {
-            return;
-        }
-        IResourceDelta[] projDeltas = delta
-                .getAffectedChildren(IResourceDelta.CHANGED);
-        for (int i = 0; i < projDeltas.length; ++i) {
-            IResourceDelta projDelta = projDeltas[i];
-            if ((projDelta.getFlags() & IResourceDelta.OPEN) != 0) {
-                if (sel.contains(projDelta.getResource())) {
-                    getNavigator().getSite().getShell().getDisplay().syncExec(
-                            new Runnable() {
-                                public void run() {
-                                    addTaskAction.selectionChanged(selection);
-                                    gotoGroup.updateActionBars();
-                                    refactorGroup.updateActionBars();
-                                    workspaceGroup.updateActionBars();
-                                }
-                            });
-                }
-            }
-        }
-    }
-
-    /**
-     * Makes the actions contained directly in this action group.
-     */
-    protected void makeActions() {
-        Shell shell = navigator.getSite().getShell();
-
-        newWizardMenu = new NewWizardMenu(navigator.getSite().getWorkbenchWindow());
-        addBookmarkAction = new AddBookmarkAction(shell);
-        addTaskAction = new AddTaskAction(shell);
-        propertyDialogAction = new PropertyDialogAction(shell, navigator
-                .getViewer());
-
-        importAction = new ImportResourcesAction(navigator.getSite()
-                .getWorkbenchWindow());
-        importAction
-                .setDisabledImageDescriptor(getImageDescriptor("dtool16/import_wiz.gif")); //$NON-NLS-1$
-        importAction
-                .setImageDescriptor(getImageDescriptor("etool16/import_wiz.gif")); //$NON-NLS-1$		
-
-        exportAction = new ExportResourcesAction(navigator.getSite()
-                .getWorkbenchWindow());
-        exportAction
-                .setDisabledImageDescriptor(getImageDescriptor("dtool16/export_wiz.gif")); //$NON-NLS-1$
-        exportAction
-                .setImageDescriptor(getImageDescriptor("etool16/export_wiz.gif")); //$NON-NLS-1$
-
-        collapseAllAction = new CollapseAllAction(navigator,
-                ResourceNavigatorMessages.getString("CollapseAllAction.title"));//$NON-NLS-1$
-        collapseAllAction.setToolTipText(ResourceNavigatorMessages
-                .getString("CollapseAllAction.toolTip")); //$NON-NLS-1$
-        collapseAllAction
-                .setImageDescriptor(getImageDescriptor("elcl16/collapseall.gif")); //$NON-NLS-1$
-
-        toggleLinkingAction = new ToggleLinkingAction(navigator,
-                ResourceNavigatorMessages.getString("ToggleLinkingAction.text")); //$NON-NLS-1$
-        toggleLinkingAction.setToolTipText(ResourceNavigatorMessages
-                .getString("ToggleLinkingAction.toolTip")); //$NON-NLS-1$
-        toggleLinkingAction
-                .setImageDescriptor(getImageDescriptor("elcl16/synced.gif"));//$NON-NLS-1$
-    }
-
-    /**
-     * Makes the sub action groups.
-     */
-    protected void makeSubGroups() {
-        gotoGroup = new GotoActionGroup(navigator);
-        openGroup = new OpenActionGroup(navigator);
-        refactorGroup = new RefactorActionGroup(navigator);
-        IPropertyChangeListener workingSetUpdater = new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-                String property = event.getProperty();
-
-                if (WorkingSetFilterActionGroup.CHANGE_WORKING_SET
-                        .equals(property)) {
-                    IResourceNavigator navigator = getNavigator();
-                    Object newValue = event.getNewValue();
-
-                    if (newValue instanceof IWorkingSet) {
-                        navigator.setWorkingSet((IWorkingSet) newValue);
-                    } else if (newValue == null) {
-                        navigator.setWorkingSet(null);
-                    }
-                }
-            }
-        };
-        TreeViewer treeView = navigator.getViewer();
-        Shell shell = treeView.getControl().getShell();
-        workingSetGroup = new WorkingSetFilterActionGroup(shell,
-                workingSetUpdater);
-        workingSetGroup.setWorkingSet(navigator.getWorkingSet());
-        sortAndFilterGroup = new SortAndFilterActionGroup(navigator);
-        workspaceGroup = new WorkspaceActionGroup(navigator);
-    }
-
-    /**
-     * Extends the superclass implementation to set the context in the subgroups.
-     */
-    public void setContext(ActionContext context) {
-        super.setContext(context);
-        gotoGroup.setContext(context);
-        openGroup.setContext(context);
-        refactorGroup.setContext(context);
-        sortAndFilterGroup.setContext(context);
-        workspaceGroup.setContext(context);
-    }
-
-    /**
-     * Fills the context menu with the actions contained in this group
-     * and its subgroups.
-     * 
-     * @param menu the context menu
-     */
-    public void fillContextMenu(IMenuManager menu) {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-
-        MenuManager newMenu = new MenuManager(ResourceNavigatorMessages
-                .getString("ResourceNavigator.new")); //$NON-NLS-1$
-        menu.add(newMenu);
-        newMenu.add(newWizardMenu);
-
-        gotoGroup.fillContextMenu(menu);
-        openGroup.fillContextMenu(menu);
-        menu.add(new Separator());
-
-        refactorGroup.fillContextMenu(menu);
-        menu.add(new Separator());
-
-        menu.add(importAction);
-        menu.add(exportAction);
-        importAction.selectionChanged(selection);
-        exportAction.selectionChanged(selection);
-        menu.add(new Separator());
-
-        workspaceGroup.fillContextMenu(menu);
-
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        menu
-                .add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS
-                        + "-end")); //$NON-NLS-1$
-        menu.add(new Separator());
-
-        if (selection.size() == 1) {
-            propertyDialogAction.selectionChanged(selection);
-            menu.add(propertyDialogAction);
-        }
-    }
-
-    /**
-     * Adds the actions in this group and its subgroups to the action bars.
-     */
-    public void fillActionBars(IActionBars actionBars) {
-        actionBars.setGlobalActionHandler(ActionFactory.PROPERTIES.getId(),
-                propertyDialogAction);
-        actionBars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(),
-                addBookmarkAction);
-        actionBars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(),
-                addTaskAction);
-
-        gotoGroup.fillActionBars(actionBars);
-        openGroup.fillActionBars(actionBars);
-        refactorGroup.fillActionBars(actionBars);
-        workingSetGroup.fillActionBars(actionBars);
-        sortAndFilterGroup.fillActionBars(actionBars);
-        workspaceGroup.fillActionBars(actionBars);
-
-        IMenuManager menu = actionBars.getMenuManager();
-        menu.add(toggleLinkingAction);
-
-        IToolBarManager toolBar = actionBars.getToolBarManager();
-        toolBar.add(new Separator());
-        toolBar.add(collapseAllAction);
-        toolBar.add(toggleLinkingAction);
-    }
-
-    /**
-     * Updates the actions which were added to the action bars,
-     * delegating to the subgroups as necessary.
-     */
-    public void updateActionBars() {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-        propertyDialogAction.setEnabled(selection.size() == 1);
-        addBookmarkAction.selectionChanged(selection);
-        addTaskAction.selectionChanged(selection);
-
-        gotoGroup.updateActionBars();
-        openGroup.updateActionBars();
-        refactorGroup.updateActionBars();
-        workingSetGroup.updateActionBars();
-        sortAndFilterGroup.updateActionBars();
-        workspaceGroup.updateActionBars();
-    }
-
-    /**
-     * Runs the default action (open file) by delegating the open group.
-     */
-    public void runDefaultAction(IStructuredSelection selection) {
-        openGroup.runDefaultAction(selection);
-    }
-
-    /**
-     * Handles a key pressed event by invoking the appropriate action,
-     * delegating to the subgroups as necessary.
-     */
-    public void handleKeyPressed(KeyEvent event) {
-        refactorGroup.handleKeyPressed(event);
-        workspaceGroup.handleKeyPressed(event);
-    }
-
-    /**
-     * Extends the superclass implementation to dispose the 
-     * actions in this group and its subgroups.
-     */
-    public void dispose() {
-        ResourcesPlugin.getWorkspace().removeResourceChangeListener(
-                resourceChangeListener);
-
-        newWizardMenu.dispose();
-        collapseAllAction.dispose();
-        exportAction.dispose();
-        importAction.dispose();
-        propertyDialogAction.dispose();
-        toggleLinkingAction.dispose();
-
-        gotoGroup.dispose();
-        openGroup.dispose();
-        refactorGroup.dispose();
-        sortAndFilterGroup.dispose();
-        workingSetGroup.dispose();
-        workspaceGroup.dispose();
-        super.dispose();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java
deleted file mode 100644
index ea15495..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDragAdapter.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.ReadOnlyStateChecker;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Implements drag behaviour when items are dragged out of the
- * resource navigator.
- * 
- * @since 2.0
- */
-public class NavigatorDragAdapter extends DragSourceAdapter {
-    private static final String CHECK_MOVE_TITLE = ResourceNavigatorMessages
-            .getString("DragAdapter.title"); //$NON-NLS-1$
-
-    private static final String CHECK_DELETE_MESSAGE = ResourceNavigatorMessages
-            .getString("DragAdapter.checkDeleteMessage"); //$NON-NLS-1$
-
-    ISelectionProvider selectionProvider;
-
-    private TransferData lastDataType;
-
-    /**
-     * Constructs a new drag adapter.
-     */
-    public NavigatorDragAdapter(ISelectionProvider provider) {
-        selectionProvider = provider;
-    }
-
-    /*
-     * @see DragSourceListener#dragFinished(org.eclipse.swt.dnd.DragSourceEvent)
-     */
-    public void dragFinished(DragSourceEvent event) {
-        LocalSelectionTransfer.getInstance().setSelection(null);
-
-        if (event.doit == false)
-            return;
-
-        final int typeMask = IResource.FOLDER | IResource.FILE;
-        if (event.detail == DND.DROP_MOVE) {
-            //never delete resources when dragging outside Eclipse. 
-            //workaround for bug 30543.
-            if (lastDataType != null
-                    && FileTransfer.getInstance().isSupportedType(lastDataType))
-                return;
-
-            IResource[] resources = getSelectedResources(typeMask);
-            DragSource dragSource = (DragSource) event.widget;
-            Control control = dragSource.getControl();
-            Shell shell = control.getShell();
-            ReadOnlyStateChecker checker;
-
-            if (resources == null || resources.length == 0)
-                return;
-
-            checker = new ReadOnlyStateChecker(shell, CHECK_MOVE_TITLE,
-                    CHECK_DELETE_MESSAGE);
-            resources = checker.checkReadOnlyResources(resources);
-            //delete the old elements
-            for (int i = 0; i < resources.length; i++) {
-                try {
-                    resources[i].delete(IResource.KEEP_HISTORY
-                            | IResource.FORCE, null);
-                } catch (CoreException e) {
-                    e.printStackTrace();
-                }
-            }
-        } else if (event.detail == DND.DROP_TARGET_MOVE) {
-            IResource[] resources = getSelectedResources(typeMask);
-
-            // file moved for us by OS, no need to delete the resources, just
-            // update the view
-            if (resources == null)
-                return;
-            for (int i = 0; i < resources.length; i++) {
-                try {
-                    resources[i].refreshLocal(IResource.DEPTH_INFINITE, null);
-                } catch (CoreException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }
-
-    /*
-     * @see DragSourceListener#dragSetData(org.eclipse.swt.dnd.DragSourceEvent)
-     */
-    public void dragSetData(DragSourceEvent event) {
-        final int typeMask = IResource.FILE | IResource.FOLDER;
-        IResource[] resources = getSelectedResources(typeMask);
-
-        if (resources == null || resources.length == 0)
-            return;
-
-        lastDataType = event.dataType;
-        //use local selection transfer if possible
-        if (LocalSelectionTransfer.getInstance()
-                .isSupportedType(event.dataType)) {
-            event.data = LocalSelectionTransfer.getInstance().getSelection();
-            return;
-        }
-        //use resource transfer if possible
-        if (ResourceTransfer.getInstance().isSupportedType(event.dataType)) {
-            event.data = resources;
-            return;
-        }
-        //resort to a file transfer
-        if (!FileTransfer.getInstance().isSupportedType(event.dataType))
-            return;
-
-        // Get the path of each file and set as the drag data
-        final int length = resources.length;
-        int actualLength = 0;
-        String[] fileNames = new String[length];
-        for (int i = 0; i < length; i++) {
-            IPath location = resources[i].getLocation();
-            // location may be null. See bug 29491.
-            if (location != null)
-                fileNames[actualLength++] = location.toOSString();
-        }
-        if (actualLength == 0)
-            return;
-        // was one or more of the locations null?
-        if (actualLength < length) {
-            String[] tempFileNames = fileNames;
-            fileNames = new String[actualLength];
-            for (int i = 0; i < actualLength; i++)
-                fileNames[i] = tempFileNames[i];
-        }
-        event.data = fileNames;
-    }
-
-    /*
-     * @see DragSourceListener#dragStart(org.eclipse.swt.dnd.DragSourceEvent)
-     */
-    public void dragStart(DragSourceEvent event) {
-        lastDataType = null;
-        // Workaround for 1GEUS9V
-        DragSource dragSource = (DragSource) event.widget;
-        Control control = dragSource.getControl();
-        if (control != control.getDisplay().getFocusControl()) {
-            event.doit = false;
-            return;
-        }
-
-        IStructuredSelection selection = (IStructuredSelection) selectionProvider
-                .getSelection();
-        for (Iterator i = selection.iterator(); i.hasNext();) {
-            Object next = i.next();
-            if (!(next instanceof IFile || next instanceof IFolder)) {
-                event.doit = false;
-                return;
-            }
-        }
-        if (selection.isEmpty()) {
-            event.doit = false;
-            return;
-        }
-        LocalSelectionTransfer.getInstance().setSelection(selection);
-        event.doit = true;
-    }
-
-    private IResource[] getSelectedResources(int resourceTypes) {
-        List resources = new ArrayList();
-        IResource[] result = new IResource[0];
-
-        ISelection selection = selectionProvider.getSelection();
-        if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) {
-            return null;
-        }
-        IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-        if (structuredSelection == null)
-            return null;
-
-        // loop through list and look for matching items
-        Iterator itr = structuredSelection.iterator();
-        while (itr.hasNext()) {
-            Object obj = itr.next();
-            if (obj instanceof IResource) {
-                IResource res = (IResource) obj;
-                if ((res.getType() & resourceTypes) == res.getType()) {
-                    resources.add(res);
-                }
-            }
-        }
-        result = new IResource[resources.size()];
-        resources.toArray(result);
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java
deleted file mode 100644
index 0d19725..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorDropAdapter.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.dnd.DropTargetListener;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.CopyFilesAndFoldersOperation;
-import org.eclipse.ui.actions.MoveFilesAndFoldersOperation;
-import org.eclipse.ui.actions.ReadOnlyStateChecker;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.part.PluginDropAdapter;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Implements drop behaviour for drag and drop operations
- * that land on the resource navigator.
- * 
- * @since 2.0
- */
-public class NavigatorDropAdapter extends PluginDropAdapter implements
-        IOverwriteQuery {
-
-    /**
-     * A flag indicating that overwrites should always occur.
-     */
-    private boolean alwaysOverwrite = false;
-
-    /**
-     * The last valid operation.
-     */
-    private int lastValidOperation = DND.DROP_NONE;
-
-    /**
-     * Constructs a new drop adapter.
-     * 
-     * @param viewer the navigator's viewer
-     */
-    public NavigatorDropAdapter(StructuredViewer viewer) {
-        super(viewer);
-    }
-
-    /*
-     * @see org.eclipse.swt.dnd.DropTargetListener#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
-     */
-    public void dragEnter(DropTargetEvent event) {
-        if (FileTransfer.getInstance().isSupportedType(event.currentDataType)
-                && event.detail == DND.DROP_DEFAULT) {
-            // default to copy when dragging from outside Eclipse. Fixes bug 16308.
-            event.detail = DND.DROP_COPY;
-        }
-        super.dragEnter(event);
-    }
-
-    /**
-     * Returns an error status with the given info.
-     */
-    private IStatus error(String message) {
-        return error(message, null);
-    }
-
-    /**
-     * Returns an error status with the given info.
-     */
-    private IStatus error(String message, Throwable exception) {
-        return new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0, message,
-                exception);
-    }
-
-    /**
-     * Returns the actual target of the drop, given the resource
-     * under the mouse.  If the mouse target is a file, then the drop actually 
-     * occurs in its parent.  If the drop location is before or after the
-     * mouse target and feedback is enabled, the target is also the parent.
-     */
-    private IContainer getActualTarget(IResource mouseTarget) {
-        /* if cursor is before or after mouseTarget, set target to parent */
-        if (getFeedbackEnabled()) {
-            if (getCurrentLocation() == LOCATION_BEFORE
-                    || getCurrentLocation() == LOCATION_AFTER) {
-                return mouseTarget.getParent();
-            }
-        }
-        /* if cursor is on a file, return the parent */
-        if (mouseTarget.getType() == IResource.FILE) {
-            return mouseTarget.getParent();
-        }
-        /* otherwise the mouseTarget is the real target */
-        return (IContainer) mouseTarget;
-    }
-
-    /**
-     * Returns the display
-     */
-    private Display getDisplay() {
-        return getViewer().getControl().getDisplay();
-    }
-
-    /**
-     * Returns the resource selection from the LocalSelectionTransfer.
-     * 
-     * @return the resource selection from the LocalSelectionTransfer
-     */
-    private IResource[] getSelectedResources() {
-        ArrayList selectedResources = new ArrayList();
-
-        ISelection selection = LocalSelectionTransfer.getInstance()
-                .getSelection();
-        if (selection instanceof IStructuredSelection) {
-            IStructuredSelection ssel = (IStructuredSelection) selection;
-            for (Iterator i = ssel.iterator(); i.hasNext();) {
-                Object o = i.next();
-                if (o instanceof IResource) {
-                    selectedResources.add(o);
-                }
-                else if (o instanceof IAdaptable) {
-                    IAdaptable a = (IAdaptable) o;
-                    IResource r = (IResource) a.getAdapter(IResource.class);
-                    if (r != null) {
-                        selectedResources.add(r);
-                    }
-                }
-            }
-        }
-        return (IResource[]) selectedResources.toArray(new IResource[selectedResources.size()]);
-    }
-
-    /**
-     * Returns the shell
-     */
-    private Shell getShell() {
-        return getViewer().getControl().getShell();
-    }
-
-    /**
-     * Returns an error status with the given info.
-     */
-    private IStatus info(String message) {
-        return new Status(IStatus.INFO, PlatformUI.PLUGIN_ID, 0, message, null);
-    }
-
-    /**
-     * Adds the given status to the list of problems.  Discards
-     * OK statuses.  If the status is a multi-status, only its children
-     * are added.
-     */
-    private void mergeStatus(MultiStatus status, IStatus toMerge) {
-        if (!toMerge.isOK()) {
-            status.merge(toMerge);
-        }
-    }
-
-    /**
-     * Returns an status indicating success.
-     */
-    private IStatus ok() {
-        return new Status(IStatus.OK, PlatformUI.PLUGIN_ID, 0,
-                ResourceNavigatorMessages.getString("DropAdapter.ok"), null); //$NON-NLS-1$
-    }
-
-    /**
-     * Opens an error dialog if necessary.  Takes care of
-     * complex rules necessary for making the error dialog look nice.
-     */
-    private void openError(IStatus status) {
-        if (status == null)
-            return;
-
-        String genericTitle = ResourceNavigatorMessages
-                .getString("DropAdapter.title"); //$NON-NLS-1$
-        int codes = IStatus.ERROR | IStatus.WARNING;
-
-        //simple case: one error, not a multistatus
-        if (!status.isMultiStatus()) {
-            ErrorDialog
-                    .openError(getShell(), genericTitle, null, status, codes);
-            return;
-        }
-
-        //one error, single child of multistatus
-        IStatus[] children = status.getChildren();
-        if (children.length == 1) {
-            ErrorDialog.openError(getShell(), status.getMessage(), null,
-                    children[0], codes);
-            return;
-        }
-        //several problems
-        ErrorDialog.openError(getShell(), genericTitle, null, status, codes);
-    }
-
-    /**
-     * Perform the drop.
-     * @see DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
-     */
-    public boolean performDrop(final Object data) {
-        alwaysOverwrite = false;
-        if (getCurrentTarget() == null || data == null) {
-            return false;
-        }
-        boolean result = false;
-        IStatus status = null;
-        IResource[] resources = null;
-        TransferData currentTransfer = getCurrentTransfer();
-        if (LocalSelectionTransfer.getInstance().isSupportedType(
-                currentTransfer)) {
-            resources = getSelectedResources();
-        } else if (ResourceTransfer.getInstance().isSupportedType(
-                currentTransfer)) {
-            resources = (IResource[]) data;
-        } else if (FileTransfer.getInstance().isSupportedType(currentTransfer)) {
-            status = performFileDrop(data);
-            result = status.isOK();
-        } else {
-            result = NavigatorDropAdapter.super.performDrop(data);
-        }
-        if (resources != null && resources.length > 0) {
-            if (getCurrentOperation() == DND.DROP_COPY)
-                status = performResourceCopy(getShell(), resources);
-            else
-                status = performResourceMove(resources);
-        }
-        openError(status);
-        return result;
-    }
-
-    /**
-     * Performs a drop using the FileTransfer transfer type.
-     */
-    private IStatus performFileDrop(Object data) {
-        MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 0,
-                ResourceNavigatorMessages
-                        .getString("DropAdapter.problemImporting"), null); //$NON-NLS-1$
-        mergeStatus(problems, validateTarget(getCurrentTarget(),
-                getCurrentTransfer()));
-
-        final IContainer target = getActualTarget((IResource) getCurrentTarget());
-        final String[] names = (String[]) data;
-        // Run the import operation asynchronously. 
-        // Otherwise the drag source (e.g., Windows Explorer) will be blocked 
-        // while the operation executes. Fixes bug 16478.
-        Display.getCurrent().asyncExec(new Runnable() {
-            public void run() {
-                getShell().forceActive();
-                CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
-                        getShell());
-                operation.copyFiles(names, target);
-            }
-        });
-        return problems;
-    }
-
-    /**
-     * Performs a resource copy
-     */
-    private IStatus performResourceCopy(Shell shell, IResource[] sources) {
-        MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 1,
-                ResourceNavigatorMessages
-                        .getString("DropAdapter.problemsMoving"), null); //$NON-NLS-1$
-        mergeStatus(problems, validateTarget(getCurrentTarget(),
-                getCurrentTransfer()));
-
-        IContainer target = getActualTarget((IResource) getCurrentTarget());
-        CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
-                shell);
-        operation.copyResources(sources, target);
-
-        return problems;
-    }
-
-    /**
-     * Performs a resource move
-     */
-    private IStatus performResourceMove(IResource[] sources) {
-        MultiStatus problems = new MultiStatus(PlatformUI.PLUGIN_ID, 1,
-                ResourceNavigatorMessages
-                        .getString("DropAdapter.problemsMoving"), null); //$NON-NLS-1$
-        mergeStatus(problems, validateTarget(getCurrentTarget(),
-                getCurrentTransfer()));
-
-        IContainer target = getActualTarget((IResource) getCurrentTarget());
-        ReadOnlyStateChecker checker = new ReadOnlyStateChecker(
-                getShell(),
-                ResourceNavigatorMessages.getString("MoveResourceAction.title"), //$NON-NLS-1$
-                ResourceNavigatorMessages
-                        .getString("MoveResourceAction.checkMoveMessage"));//$NON-NLS-1$	
-        sources = checker.checkReadOnlyResources(sources);
-        MoveFilesAndFoldersOperation operation = new MoveFilesAndFoldersOperation(
-                getShell());
-        operation.copyResources(sources, target);
-
-        return problems;
-    }
-
-    /*
-     * @see IOverwriteQuery#queryOverwrite(String)
-     */
-    public String queryOverwrite(String pathString) {
-        if (alwaysOverwrite)
-            return ALL;
-
-        final String returnCode[] = { CANCEL };
-        final String msg = ResourceNavigatorMessages.format(
-                "DropAdapter.overwriteQuery", new Object[] { pathString }); //$NON-NLS-1$
-        final String[] options = { IDialogConstants.YES_LABEL,
-                IDialogConstants.YES_TO_ALL_LABEL, IDialogConstants.NO_LABEL,
-                IDialogConstants.CANCEL_LABEL };
-        getDisplay().syncExec(new Runnable() {
-            public void run() {
-                MessageDialog dialog = new MessageDialog(
-                        getShell(),
-                        ResourceNavigatorMessages
-                                .getString("DropAdapter.question"), null, msg, MessageDialog.QUESTION, options, 0); //$NON-NLS-1$
-                dialog.open();
-                int returnVal = dialog.getReturnCode();
-                String[] returnCodes = { YES, ALL, NO, CANCEL };
-                returnCode[0] = returnVal < 0 ? CANCEL : returnCodes[returnVal];
-            }
-        });
-        if (returnCode[0] == ALL)
-            alwaysOverwrite = true;
-        return returnCode[0];
-    }
-
-    /**
-     * This method is used to notify the action that some aspect of
-     * the drop operation has changed.
-     */
-    public boolean validateDrop(Object target, int dragOperation,
-            TransferData transferType) {
-
-        if (dragOperation != DND.DROP_NONE) {
-            lastValidOperation = dragOperation;
-        }
-        if (FileTransfer.getInstance().isSupportedType(transferType)
-                && lastValidOperation != DND.DROP_COPY) {
-            // only allow copying when dragging from outside Eclipse
-            return false;
-        }
-        if (super.validateDrop(target, dragOperation, transferType)) {
-            return true;
-        }
-        return validateTarget(target, transferType).isOK();
-    }
-
-    /**
-     * Ensures that the drop target meets certain criteria
-     */
-    private IStatus validateTarget(Object target, TransferData transferType) {
-        if (!(target instanceof IResource)) {
-            return info(ResourceNavigatorMessages
-                    .getString("DropAdapter.targetMustBeResource")); //$NON-NLS-1$
-        }
-        IResource resource = (IResource) target;
-        if (!resource.isAccessible()) {
-            return error(ResourceNavigatorMessages
-                    .getString("DropAdapter.canNotDropIntoClosedProject")); //$NON-NLS-1$
-        }
-        IContainer destination = getActualTarget(resource);
-        if (destination.getType() == IResource.ROOT) {
-            return error(ResourceNavigatorMessages
-                    .getString("DropAdapter.resourcesCanNotBeSiblings")); //$NON-NLS-1$
-        }
-        String message = null;
-        // drag within Eclipse?
-        if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) {
-            IResource[] selectedResources = getSelectedResources();
-
-            if (selectedResources.length == 0)
-                message = ResourceNavigatorMessages
-                        .getString("DropAdapter.dropOperationErrorOther"); //$NON-NLS-1$
-            else {
-                CopyFilesAndFoldersOperation operation;
-                if (lastValidOperation == DND.DROP_COPY) {
-                    operation = new CopyFilesAndFoldersOperation(getShell());
-                } else {
-                    operation = new MoveFilesAndFoldersOperation(getShell());
-                }
-                message = operation.validateDestination(destination,
-                        selectedResources);
-            }
-        } // file import?
-        else if (FileTransfer.getInstance().isSupportedType(transferType)) {
-            String[] sourceNames = (String[]) FileTransfer.getInstance()
-                    .nativeToJava(transferType);
-            if (sourceNames == null) {
-                // source names will be null on Linux. Use empty names to do destination validation.
-                // Fixes bug 29778
-                sourceNames = new String[0];
-            }
-            CopyFilesAndFoldersOperation copyOperation = new CopyFilesAndFoldersOperation(
-                    getShell());
-            message = copyOperation.validateImportDestination(destination,
-                    sourceNames);
-        }
-        if (message != null) {
-            return error(message);
-        }
-        return ok();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java
deleted file mode 100644
index ff8d162..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/NavigatorFrameSource.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.views.framelist.TreeFrame;
-import org.eclipse.ui.views.framelist.TreeViewerFrameSource;
-
-/**
- * Frame source for the resource navigator.
- */
-public class NavigatorFrameSource extends TreeViewerFrameSource {
-
-    private ResourceNavigator navigator;
-
-    /**
-     * Constructs a new frame source for the specified resource navigator.
-     * 
-     * @param navigator the resource navigator
-     */
-    public NavigatorFrameSource(ResourceNavigator navigator) {
-        super(navigator.getTreeViewer());
-        this.navigator = navigator;
-    }
-
-    /**
-     * Returns a new frame.  This implementation extends the super implementation
-     * by setting the frame's tool tip text to show the full path for the input
-     * element.
-     */
-    protected TreeFrame createFrame(Object input) {
-        TreeFrame frame = super.createFrame(input);
-        frame.setName(navigator.getFrameName(input));
-        frame.setToolTipText(navigator.getFrameToolTipText(input));
-        return frame;
-    }
-
-    /**
-     * Also updates the navigator's title.
-     */
-    protected void frameChanged(TreeFrame frame) {
-        IResource resource = (IResource) frame.getInput();
-        IProject project = resource.getProject();
-
-        if (project != null && project.isOpen() == false) {
-            MessageDialog
-                    .openInformation(
-                            navigator.getViewSite().getShell(),
-                            ResourceNavigatorMessages
-                                    .getString("NavigatorFrameSource.closedProject.title"), //$NON-NLS-1$
-                            ResourceNavigatorMessages
-                                    .format(
-                                            "NavigatorFrameSource.closedProject.message", new Object[] { project.getName() })); //$NON-NLS-1$
-            navigator.getFrameList().back();
-        } else {
-            super.frameChanged(frame);
-            navigator.updateTitle();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java
deleted file mode 100644
index d542469..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/OpenActionGroup.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.OpenFileAction;
-import org.eclipse.ui.actions.OpenInNewWindowAction;
-import org.eclipse.ui.actions.OpenWithMenu;
-
-/**
- * This is the action group for the open actions.
- */
-public class OpenActionGroup extends ResourceNavigatorActionGroup {
-
-    private OpenFileAction openFileAction;
-
-    /**
-     * The id for the Open With submenu.
-     */
-    public static final String OPEN_WITH_ID = PlatformUI.PLUGIN_ID
-            + ".OpenWithSubMenu"; //$NON-NLS-1$
-
-    public OpenActionGroup(IResourceNavigator navigator) {
-        super(navigator);
-    }
-
-    protected void makeActions() {
-        openFileAction = new OpenFileAction(navigator.getSite().getPage());
-    }
-
-    public void fillContextMenu(IMenuManager menu) {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-
-        boolean anyResourceSelected = !selection.isEmpty()
-                && ResourceSelectionUtil.allResourcesAreOfType(selection,
-                        IResource.PROJECT | IResource.FOLDER | IResource.FILE);
-        boolean onlyFilesSelected = !selection.isEmpty()
-                && ResourceSelectionUtil.allResourcesAreOfType(selection,
-                        IResource.FILE);
-
-        if (onlyFilesSelected) {
-            openFileAction.selectionChanged(selection);
-            menu.add(openFileAction);
-            fillOpenWithMenu(menu, selection);
-        }
-
-        if (anyResourceSelected) {
-            addNewWindowAction(menu, selection);
-        }
-    }
-
-    /**
-     * Adds the OpenWith submenu to the context menu.
-     * 
-     * @param menu the context menu
-     * @param selection the current selection
-     */
-    private void fillOpenWithMenu(IMenuManager menu,
-            IStructuredSelection selection) {
-
-        // Only supported if exactly one file is selected.
-        if (selection.size() != 1)
-            return;
-        Object element = selection.getFirstElement();
-        if (!(element instanceof IFile))
-            return;
-
-        MenuManager submenu = new MenuManager(ResourceNavigatorMessages
-                .getString("ResourceNavigator.openWith"), OPEN_WITH_ID); //$NON-NLS-1$
-        submenu.add(new OpenWithMenu(navigator.getSite().getPage(),
-                (IFile) element));
-        menu.add(submenu);
-    }
-
-    /**
-     * Adds the Open in New Window action to the context menu.
-     * 
-     * @param menu the context menu
-     * @param selection the current selection
-     */
-    private void addNewWindowAction(IMenuManager menu,
-            IStructuredSelection selection) {
-
-        // Only supported if exactly one container (i.e open project or folder) is selected.
-        if (selection.size() != 1)
-            return;
-        Object element = selection.getFirstElement();
-        if (!(element instanceof IContainer))
-            return;
-        if (element instanceof IProject && !(((IProject) element).isOpen()))
-            return;
-
-        menu.add(new OpenInNewWindowAction(navigator.getSite()
-                .getWorkbenchWindow(), (IContainer) element));
-    }
-
-    /**
-     * Runs the default action (open file).
-     */
-    public void runDefaultAction(IStructuredSelection selection) {
-        Object element = selection.getFirstElement();
-        if (element instanceof IFile) {
-            openFileAction.selectionChanged(selection);
-            openFileAction.run();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java
deleted file mode 100644
index 449c25b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/PasteAction.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.TransferData;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.CopyFilesAndFoldersOperation;
-import org.eclipse.ui.actions.CopyProjectOperation;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.part.ResourceTransfer;
-
-/**
- * Standard action for pasting resources on the clipboard to the selected resource's location.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-/*package*/class PasteAction extends SelectionListenerAction {
-
-    /**
-     * The id of this action.
-     */
-    public static final String ID = PlatformUI.PLUGIN_ID + ".PasteAction";//$NON-NLS-1$
-
-    /**
-     * The shell in which to show any dialogs.
-     */
-    private Shell shell;
-
-    /**
-     * System clipboard
-     */
-    private Clipboard clipboard;
-
-    /**
-     * Creates a new action.
-     *
-     * @param shell the shell for any dialogs
-     * @param clipboard the clipboard
-     */
-    public PasteAction(Shell shell, Clipboard clipboard) {
-        super(ResourceNavigatorMessages.getString("PasteAction.title")); //$NON-NLS-1$
-        Assert.isNotNull(shell);
-        Assert.isNotNull(clipboard);
-        this.shell = shell;
-        this.clipboard = clipboard;
-        setToolTipText(ResourceNavigatorMessages
-                .getString("PasteAction.toolTip")); //$NON-NLS-1$
-        setId(PasteAction.ID);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				INavigatorHelpContextIds.PASTE_ACTION);
-    }
-
-    /**
-     * Returns the actual target of the paste action. Returns null
-     * if no valid target is selected.
-     * 
-     * @return the actual target of the paste action
-     */
-    private IResource getTarget() {
-        List selectedResources = getSelectedResources();
-
-        for (int i = 0; i < selectedResources.size(); i++) {
-            IResource resource = (IResource) selectedResources.get(i);
-
-            if (resource instanceof IProject && !((IProject) resource).isOpen())
-                return null;
-            if (resource.getType() == IResource.FILE)
-                resource = resource.getParent();
-            if (resource != null)
-                return resource;
-        }
-        return null;
-    }
-
-    /**
-     * Returns whether any of the given resources are linked resources.
-     * 
-     * @param resources resource to check for linked type. may be null
-     * @return true=one or more resources are linked. false=none of the 
-     * 	resources are linked
-     */
-    private boolean isLinked(IResource[] resources) {
-        for (int i = 0; i < resources.length; i++) {
-            if (resources[i].isLinked())
-                return true;
-        }
-        return false;
-    }
-
-    /**
-     * Implementation of method defined on <code>IAction</code>.
-     */
-    public void run() {
-        // try a resource transfer
-        ResourceTransfer resTransfer = ResourceTransfer.getInstance();
-        IResource[] resourceData = (IResource[]) clipboard
-                .getContents(resTransfer);
-
-        if (resourceData != null && resourceData.length > 0) {
-            if (resourceData[0].getType() == IResource.PROJECT) {
-                // enablement checks for all projects
-                for (int i = 0; i < resourceData.length; i++) {
-                    CopyProjectOperation operation = new CopyProjectOperation(
-                            this.shell);
-                    operation.copyProject((IProject) resourceData[i]);
-                }
-            } else {
-                // enablement should ensure that we always have access to a container
-                IContainer container = getContainer();
-
-                CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
-                        this.shell);
-                operation.copyResources(resourceData, container);
-            }
-            return;
-        }
-
-        // try a file transfer
-        FileTransfer fileTransfer = FileTransfer.getInstance();
-        String[] fileData = (String[]) clipboard.getContents(fileTransfer);
-
-        if (fileData != null) {
-            // enablement should ensure that we always have access to a container
-            IContainer container = getContainer();
-
-            CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation(
-                    this.shell);
-            operation.copyFiles(fileData, container);
-        }
-    }
-
-    /**
-     * Returns the container to hold the pasted resources.
-     */
-    private IContainer getContainer() {
-        List selection = getSelectedResources();
-        if (selection.get(0) instanceof IFile)
-            return ((IFile) selection.get(0)).getParent();
-        else
-            return (IContainer) selection.get(0);
-    }
-
-    /**
-     * The <code>PasteAction</code> implementation of this
-     * <code>SelectionListenerAction</code> method enables this action if 
-     * a resource compatible with what is on the clipboard is selected.
-     * 
-     * -Clipboard must have IResource or java.io.File
-     * -Projects can always be pasted if they are open
-     * -Workspace folder may not be copied into itself
-     * -Files and folders may be pasted to a single selected folder in open 
-     * 	project or multiple selected files in the same folder 
-     */
-    protected boolean updateSelection(IStructuredSelection selection) {
-        if (!super.updateSelection(selection))
-            return false;
-
-        final IResource[][] clipboardData = new IResource[1][];
-        shell.getDisplay().syncExec(new Runnable() {
-            public void run() {
-                // clipboard must have resources or files
-                ResourceTransfer resTransfer = ResourceTransfer.getInstance();
-                clipboardData[0] = (IResource[]) clipboard
-                        .getContents(resTransfer);
-            }
-        });
-        IResource[] resourceData = clipboardData[0];
-        boolean isProjectRes = resourceData != null && resourceData.length > 0
-                && resourceData[0].getType() == IResource.PROJECT;
-
-        if (isProjectRes) {
-            for (int i = 0; i < resourceData.length; i++) {
-                // make sure all resource data are open projects
-                // can paste open projects regardless of selection
-                if (resourceData[i].getType() != IResource.PROJECT
-                        || ((IProject) resourceData[i]).isOpen() == false)
-                    return false;
-            }
-            return true;
-        }
-
-        if (getSelectedNonResources().size() > 0)
-            return false;
-
-        IResource targetResource = getTarget();
-        // targetResource is null if no valid target is selected (e.g., open project) 
-        // or selection is empty	
-        if (targetResource == null)
-            return false;
-
-        // can paste files and folders to a single selection (file, folder, 
-        // open project) or multiple file selection with the same parent
-        List selectedResources = getSelectedResources();
-        if (selectedResources.size() > 1) {
-            for (int i = 0; i < selectedResources.size(); i++) {
-                IResource resource = (IResource) selectedResources.get(i);
-                if (resource.getType() != IResource.FILE)
-                    return false;
-                if (!targetResource.equals(resource.getParent()))
-                    return false;
-            }
-        }
-        if (resourceData != null) {
-            // linked resources can only be pasted into projects
-            if (isLinked(resourceData)
-                    && targetResource.getType() != IResource.PROJECT)
-                return false;
-
-            if (targetResource.getType() == IResource.FOLDER) {
-                // don't try to copy folder to self
-                for (int i = 0; i < resourceData.length; i++) {
-                    if (targetResource.equals(resourceData[i]))
-                        return false;
-                }
-            }
-            return true;
-        }
-        TransferData[] transfers = clipboard.getAvailableTypes();
-        FileTransfer fileTransfer = FileTransfer.getInstance();
-        for (int i = 0; i < transfers.length; i++) {
-            if (fileTransfer.isSupportedType(transfers[i]))
-                return true;
-        }
-        return false;
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java
deleted file mode 100644
index f5e948e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/RefactorActionGroup.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.DeleteResourceAction;
-import org.eclipse.ui.actions.TextActionHandler;
-
-/**
- * This is the action group for refactor actions,
- * including global action handlers for copy, paste and delete.
- * 
- * @since 2.0
- */
-public class RefactorActionGroup extends ResourceNavigatorActionGroup {
-
-    private Clipboard clipboard;
-
-    private CopyAction copyAction;
-
-    private DeleteResourceAction deleteAction;
-
-    private PasteAction pasteAction;
-
-    private ResourceNavigatorRenameAction renameAction;
-
-    private ResourceNavigatorMoveAction moveAction;
-
-    private TextActionHandler textActionHandler;
-
-    public RefactorActionGroup(IResourceNavigator navigator) {
-        super(navigator);
-    }
-
-    public void dispose() {
-        if (clipboard != null) {
-            clipboard.dispose();
-            clipboard = null;
-        }
-        super.dispose();
-    }
-
-    public void fillContextMenu(IMenuManager menu) {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-
-        boolean anyResourceSelected = !selection.isEmpty()
-                && ResourceSelectionUtil.allResourcesAreOfType(selection,
-                        IResource.PROJECT | IResource.FOLDER | IResource.FILE);
-
-        copyAction.selectionChanged(selection);
-        menu.add(copyAction);
-        pasteAction.selectionChanged(selection);
-        menu.add(pasteAction);
-
-        if (anyResourceSelected) {
-            deleteAction.selectionChanged(selection);
-            menu.add(deleteAction);
-            moveAction.selectionChanged(selection);
-            menu.add(moveAction);
-            renameAction.selectionChanged(selection);
-            menu.add(renameAction);
-        }
-    }
-
-    public void fillActionBars(IActionBars actionBars) {
-        textActionHandler = new TextActionHandler(actionBars); // hooks handlers
-        textActionHandler.setCopyAction(copyAction);
-        textActionHandler.setPasteAction(pasteAction);
-        textActionHandler.setDeleteAction(deleteAction);
-        renameAction.setTextActionHandler(textActionHandler);
-
-        actionBars.setGlobalActionHandler(ActionFactory.MOVE.getId(),
-                moveAction);
-        actionBars.setGlobalActionHandler(ActionFactory.RENAME.getId(),
-                renameAction);
-    }
-
-    /**
-     * Handles a key pressed event by invoking the appropriate action.
-     */
-    public void handleKeyPressed(KeyEvent event) {
-        if (event.character == SWT.DEL && event.stateMask == 0) {
-            if (deleteAction.isEnabled()) {
-                deleteAction.run();
-            }
-
-            // Swallow the event.
-            event.doit = false;
-
-        } else if (event.keyCode == SWT.F2 && event.stateMask == 0) {
-            if (renameAction.isEnabled()) {
-                renameAction.run();
-            }
-
-            // Swallow the event.
-            event.doit = false;
-        }
-    }
-
-    protected void makeActions() {
-        TreeViewer treeViewer = (TreeViewer) navigator.getViewer();
-        Shell shell = navigator.getSite().getShell();
-        clipboard = new Clipboard(shell.getDisplay());
-
-        pasteAction = new PasteAction(shell, clipboard);
-        ISharedImages images = PlatformUI.getWorkbench().getSharedImages();
-        pasteAction.setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED));
-        pasteAction.setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-
-        copyAction = new CopyAction(shell, clipboard, pasteAction);
-        copyAction.setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED));
-        copyAction.setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-
-        moveAction = new ResourceNavigatorMoveAction(shell, treeViewer);
-        renameAction = new ResourceNavigatorRenameAction(shell, treeViewer);
-
-        deleteAction = new DeleteResourceAction(shell);
-        deleteAction.setDisabledImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-        deleteAction.setImageDescriptor(images
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-    }
-
-    public void updateActionBars() {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-
-        copyAction.selectionChanged(selection);
-        pasteAction.selectionChanged(selection);
-        deleteAction.selectionChanged(selection);
-        moveAction.selectionChanged(selection);
-        renameAction.selectionChanged(selection);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
deleted file mode 100644
index 78f0356..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigator.java
+++ /dev/null
@@ -1,1342 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-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.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ResourceWorkingSetFilter;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTarget;
-import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.part.ResourceTransfer;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.views.framelist.FrameList;
-import org.eclipse.ui.views.framelist.TreeFrame;
-
-/**
- * Implements the Resource Navigator view.
- */
-public class ResourceNavigator extends ViewPart implements ISetSelectionTarget,
-        IResourceNavigator {
-
-    private TreeViewer viewer;
-
-    private IDialogSettings settings;
-
-    private IMemento memento;
-
-    private FrameList frameList;
-
-    private ResourceNavigatorActionGroup actionGroup;
-
-    private ResourcePatternFilter patternFilter = new ResourcePatternFilter();
-
-    private ResourceWorkingSetFilter workingSetFilter = new ResourceWorkingSetFilter();
-
-    private boolean linkingEnabled;
-
-    private boolean dragDetected;
-
-    private Listener dragDetectListener;
-
-    /** 
-     * Settings constant for section name (value <code>ResourceNavigator</code>).
-     */
-    private static final String STORE_SECTION = "ResourceNavigator"; //$NON-NLS-1$
-
-    /** 
-     * Settings constant for sort order (value <code>ResourceViewer.STORE_SORT_TYPE</code>).
-     */
-    private static final String STORE_SORT_TYPE = "ResourceViewer.STORE_SORT_TYPE"; //$NON-NLS-1$
-
-    /** 
-     * Settings constant for working set (value <code>ResourceWorkingSetFilter.STORE_WORKING_SET</code>).
-     */
-    private static final String STORE_WORKING_SET = "ResourceWorkingSetFilter.STORE_WORKING_SET"; //$NON-NLS-1$
-
-    /**
-     * @deprecated No longer used but preserved to avoid an api change.
-     */
-    public static final String NAVIGATOR_VIEW_HELP_ID = INavigatorHelpContextIds.RESOURCE_VIEW;
-
-    // Persistance tags.
-    private static final String TAG_SORTER = "sorter"; //$NON-NLS-1$
-
-    private static final String TAG_FILTERS = "filters"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER = "filter"; //$NON-NLS-1$
-
-    private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-
-    private static final String TAG_EXPANDED = "expanded"; //$NON-NLS-1$
-
-    private static final String TAG_ELEMENT = "element"; //$NON-NLS-1$
-
-    private static final String TAG_IS_ENABLED = "isEnabled"; //$NON-NLS-1$
-
-    private static final String TAG_PATH = "path"; //$NON-NLS-1$
-
-    private static final String TAG_CURRENT_FRAME = "currentFrame"; //$NON-NLS-1$
-
-    private IPartListener partListener = new IPartListener() {
-        public void partActivated(IWorkbenchPart part) {
-            if (part instanceof IEditorPart)
-                editorActivated((IEditorPart) part);
-        }
-
-        public void partBroughtToTop(IWorkbenchPart part) {
-        }
-
-        public void partClosed(IWorkbenchPart part) {
-        }
-
-        public void partDeactivated(IWorkbenchPart part) {
-        }
-
-        public void partOpened(IWorkbenchPart part) {
-        }
-    };
-
-    private IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
-        public void propertyChange(PropertyChangeEvent event) {
-            String property = event.getProperty();
-            Object newValue = event.getNewValue();
-            Object oldValue = event.getOldValue();
-            IWorkingSet filterWorkingSet = workingSetFilter.getWorkingSet();
-
-            if (IWorkingSetManager.CHANGE_WORKING_SET_REMOVE.equals(property)
-                    && oldValue == filterWorkingSet) {
-                setWorkingSet(null);
-            } else if (IWorkingSetManager.CHANGE_WORKING_SET_NAME_CHANGE
-                    .equals(property)
-                    && newValue == filterWorkingSet) {
-                updateTitle();
-            } else if (IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE
-                    .equals(property)
-                    && newValue == filterWorkingSet) {
-                getViewer().refresh();
-            }
-        }
-    };
-
-    /**
-     * Constructs a new resource navigator view.
-     */
-    public ResourceNavigator() {
-        IDialogSettings viewsSettings = getPlugin().getDialogSettings();
-
-        settings = viewsSettings.getSection(STORE_SECTION);
-        if (settings == null) {
-            settings = viewsSettings.addNewSection(STORE_SECTION);
-            migrateDialogSettings();
-        }
-
-        initLinkingEnabled();
-    }
-
-    /**
-     * Converts the given selection into a form usable by the viewer,
-     * where the elements are resources.
-     */
-    private StructuredSelection convertSelection(ISelection selection) {
-        ArrayList list = new ArrayList();
-        if (selection instanceof IStructuredSelection) {
-            IStructuredSelection ssel = (IStructuredSelection) selection;
-            for (Iterator i = ssel.iterator(); i.hasNext();) {
-                Object o = i.next();
-                IResource resource = null;
-                if (o instanceof IResource) {
-                    resource = (IResource) o;
-                } else {
-                    if (o instanceof IAdaptable) {
-                        resource = (IResource) ((IAdaptable) o)
-                                .getAdapter(IResource.class);
-                    }
-                }
-                if (resource != null) {
-                    list.add(resource);
-                }
-            }
-        }
-        return new StructuredSelection(list);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void createPartControl(Composite parent) {
-        TreeViewer viewer = createViewer(parent);
-        this.viewer = viewer;
-
-        if (memento != null) {
-            restoreFilters();
-            restoreLinkingEnabled();
-        }
-        frameList = createFrameList();
-        initDragAndDrop();
-        updateTitle();
-
-        initContextMenu();
-
-        initResourceSorter();
-        initWorkingSetFilter();
-
-        // make sure input is set after sorters and filters,
-        // to avoid unnecessary refreshes
-        viewer.setInput(getInitialInput());
-
-        // make actions after setting input, because some actions
-        // look at the viewer for enablement (e.g. the Up action)
-        makeActions();
-
-        // Fill the action bars and update the global action handlers'
-        // enabled state to match the current selection.
-        getActionGroup().fillActionBars(getViewSite().getActionBars());
-        updateActionBars((IStructuredSelection) viewer.getSelection());
-
-        getSite().setSelectionProvider(viewer);
-        getSite().getPage().addPartListener(partListener);
-        IWorkingSetManager workingSetManager = getPlugin().getWorkbench()
-                .getWorkingSetManager();
-        workingSetManager.addPropertyChangeListener(propertyChangeListener);
-
-        if (memento != null)
-            restoreState(memento);
-        memento = null;
-
-        // Set help for the view 
-        getSite().getWorkbenchWindow().getWorkbench().getHelpSystem().setHelp(
-				viewer.getControl(), getHelpContextId());
-    }
-
-    /**
-     * Returns the help context id to use for this view.
-     * 
-     * @since 2.0
-     */
-    protected String getHelpContextId() {
-        return INavigatorHelpContextIds.RESOURCE_VIEW;
-    }
-
-    /**
-     * Initializes and registers the context menu.
-     * 
-     * @since 2.0
-     */
-    protected void initContextMenu() {
-        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-        menuMgr.setRemoveAllWhenShown(true);
-        menuMgr.addMenuListener(new IMenuListener() {
-            public void menuAboutToShow(IMenuManager manager) {
-                ResourceNavigator.this.fillContextMenu(manager);
-            }
-        });
-        TreeViewer viewer = getTreeViewer();
-        Menu menu = menuMgr.createContextMenu(viewer.getTree());
-        viewer.getTree().setMenu(menu);
-        getSite().registerContextMenu(menuMgr, viewer);
-    }
-
-    /**
-     * Creates the viewer.
-     * 
-     * @param parent the parent composite
-     * @since 2.0
-     */
-    protected TreeViewer createViewer(Composite parent) {
-        TreeViewer viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL
-                | SWT.V_SCROLL);
-        viewer.setUseHashlookup(true);
-        initContentProvider(viewer);
-        initLabelProvider(viewer);
-        initFilters(viewer);
-        initListeners(viewer);
-
-        return viewer;
-    }
-
-    /**
-     * Sets the content provider for the viewer.
-     * 
-     * @param viewer the viewer
-     * @since 2.0
-     */
-    protected void initContentProvider(TreeViewer viewer) {
-        viewer.setContentProvider(new WorkbenchContentProvider());
-    }
-
-    /**
-     * Sets the label provider for the viewer.
-     * 
-     * @param viewer the viewer
-     * @since 2.0
-     */
-    protected void initLabelProvider(TreeViewer viewer) {
-        viewer.setLabelProvider(new DecoratingLabelProvider(
-                new WorkbenchLabelProvider(), getPlugin().getWorkbench()
-                        .getDecoratorManager().getLabelDecorator()));
-    }
-
-    /**
-     * Adds the filters to the viewer.
-     * 
-     * @param viewer the viewer
-     * @since 2.0
-     */
-    protected void initFilters(TreeViewer viewer) {
-        viewer.addFilter(patternFilter);
-        viewer.addFilter(workingSetFilter);
-    }
-
-    /**
-     * Initializes the linking enabled setting from the preference store.
-     */
-    private void initLinkingEnabled() {
-        // Try the dialog settings first, which remember the last choice.
-        String setting = settings
-                .get(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR);
-        if (setting != null) {
-            linkingEnabled = setting.equals("true"); //$NON-NLS-1$
-            return;
-        }
-        // If not in the dialog settings, check the preference store for the default setting. 
-        // Use the UI plugin's preference store since this is a public preference.
-        AbstractUIPlugin uiPlugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        linkingEnabled = uiPlugin.getPreferenceStore().getBoolean(
-                IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR);
-    }
-
-    /**
-     * Adds the listeners to the viewer.
-     * 
-     * @param viewer the viewer
-     * @since 2.0
-     */
-    protected void initListeners(TreeViewer viewer) {
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                handleSelectionChanged(event);
-            }
-        });
-        viewer.addDoubleClickListener(new IDoubleClickListener() {
-            public void doubleClick(DoubleClickEvent event) {
-                handleDoubleClick(event);
-            }
-        });
-        viewer.addOpenListener(new IOpenListener() {
-            public void open(OpenEvent event) {
-                handleOpen(event);
-            }
-        });
-        viewer.getControl().addKeyListener(new KeyListener() {
-            public void keyPressed(KeyEvent event) {
-                handleKeyPressed(event);
-            }
-
-            public void keyReleased(KeyEvent event) {
-                handleKeyReleased(event);
-            }
-        });
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void dispose() {
-        getSite().getPage().removePartListener(partListener);
-
-        IWorkingSetManager workingSetManager = getPlugin().getWorkbench()
-                .getWorkingSetManager();
-        workingSetManager.removePropertyChangeListener(propertyChangeListener);
-
-        if (getActionGroup() != null) {
-            getActionGroup().dispose();
-        }
-        Control control = viewer.getControl();
-        if (dragDetectListener != null && control != null
-                && control.isDisposed() == false) {
-            control.removeListener(SWT.DragDetect, dragDetectListener);
-        }
-        super.dispose();
-    }
-
-    /**
-     * An editor has been activated.  Sets the selection in this navigator
-     * to be the editor's input, if linking is enabled.
-     * 
-     * @param editor the active editor
-     * @since 2.0
-     */
-    protected void editorActivated(IEditorPart editor) {
-        if (!isLinkingEnabled()) {
-            return;
-        }
-
-        IEditorInput input = editor.getEditorInput();
-        if (input instanceof IFileEditorInput) {
-            IFileEditorInput fileInput = (IFileEditorInput) input;
-            IFile file = fileInput.getFile();
-            ISelection newSelection = new StructuredSelection(file);
-            if (getTreeViewer().getSelection().equals(newSelection)) {
-                getTreeViewer().getTree().showSelection();
-            } else {
-                getTreeViewer().setSelection(newSelection, true);
-            }
-        }
-    }
-
-    /**
-     * Called when the context menu is about to open.
-     * Delegates to the action group using the viewer's selection as the action context.
-     * @since 2.0
-     */
-    protected void fillContextMenu(IMenuManager menu) {
-        IStructuredSelection selection = (IStructuredSelection) getViewer()
-                .getSelection();
-        getActionGroup().setContext(new ActionContext(selection));
-        getActionGroup().fillContextMenu(menu);
-    }
-
-    /*
-     * @see IResourceNavigatorPart
-     * @since 2.0
-     */
-    public FrameList getFrameList() {
-        return frameList;
-    }
-
-    /** 
-     * Returns the initial input for the viewer.
-     * Tries to convert the page input to a resource, either directly or via IAdaptable.
-     * If the resource is a container, it uses that.
-     * If the resource is a file, it uses its parent folder.
-     * If a resource could not be obtained, it uses the workspace root.
-     * 
-     * @since 2.0
-     */
-    protected IAdaptable getInitialInput() {
-        IAdaptable input = getSite().getPage().getInput();
-        if (input != null) {
-            IResource resource = null;
-            if (input instanceof IResource) {
-                resource = (IResource) input;
-            } else {
-                resource = (IResource) input.getAdapter(IResource.class);
-            }
-            if (resource != null) {
-                switch (resource.getType()) {
-                case IResource.FILE:
-                    return resource.getParent();
-                case IResource.FOLDER:
-                case IResource.PROJECT:
-                case IResource.ROOT:
-                    return (IContainer) resource;
-                default:
-                    // Unknown resource type.  Fall through.
-                    break;
-                }
-            }
-        }
-        return ResourcesPlugin.getWorkspace().getRoot();
-    }
-
-    /**
-     * Returns the pattern filter for this view.
-     *
-     * @return the pattern filter
-     * @since 2.0
-     */
-    public ResourcePatternFilter getPatternFilter() {
-        return this.patternFilter;
-    }
-
-    /**
-     * Returns the working set for this view.
-     *
-     * @return the working set
-     * @since 2.0
-     */
-    public IWorkingSet getWorkingSet() {
-        return workingSetFilter.getWorkingSet();
-    }
-
-    /**
-     * Returns the navigator's plugin.
-     */
-    public AbstractUIPlugin getPlugin() {
-        return (AbstractUIPlugin) Platform
-                .getPlugin(IDEWorkbenchPlugin.IDE_WORKBENCH);
-    }
-
-    /**
-     * Returns the sorter.
-     * @since 2.0
-     */
-    public ResourceSorter getSorter() {
-        return (ResourceSorter) getTreeViewer().getSorter();
-    }
-
-    /**
-     * Returns the resource viewer which shows the resource hierarchy.
-     * @since 2.0
-     */
-    public TreeViewer getViewer() {
-        return viewer;
-    }
-
-    /**
-     * Returns the tree viewer which shows the resource hierarchy.
-     * @return the tree viewer
-     * @since 2.0
-     */
-    public TreeViewer getTreeViewer() {
-        return viewer;
-    }
-
-    /**
-     * Returns the shell to use for opening dialogs.
-     * Used in this class, and in the actions.
-     * 
-     * @return the shell
-     * @deprecated use getViewSite().getShell()
-     */
-    public Shell getShell() {
-        return getViewSite().getShell();
-    }
-
-    /**
-     * Returns the message to show in the status line.
-     *
-     * @param selection the current selection
-     * @return the status line message
-     * @since 2.0
-     */
-    protected String getStatusLineMessage(IStructuredSelection selection) {
-        if (selection.size() == 1) {
-            Object o = selection.getFirstElement();
-            if (o instanceof IResource) {
-                return ((IResource) o).getFullPath().makeRelative().toString();
-            } else {
-                return ResourceNavigatorMessages
-                        .getString("ResourceNavigator.oneItemSelected"); //$NON-NLS-1$
-            }
-        }
-        if (selection.size() > 1) {
-            return ResourceNavigatorMessages.format(
-                    "ResourceNavigator.statusLine", //$NON-NLS-1$
-                    new Object[] { new Integer(selection.size()) });
-        }
-        return ""; //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the name for the given element.
-     * Used as the name for the current frame. 
-     */
-    String getFrameName(Object element) {
-        if (element instanceof IResource) 
-            return ((IResource) element).getName();
-        String text = ((ILabelProvider) getTreeViewer().getLabelProvider())
-        .getText(element);
-        if(text == null)
-        	return "";//$NON-NLS-1$
-        return text;
-    }
-
-    /**
-     * Returns the tool tip text for the given element.
-     * Used as the tool tip text for the current frame, and for the view title tooltip.
-     */
-    String getFrameToolTipText(Object element) {
-        if (element instanceof IResource) {
-            IPath path = ((IResource) element).getFullPath();
-            if (path.isRoot()) 
-                return ResourceNavigatorMessages
-                        .getString("ResourceManager.toolTip"); //$NON-NLS-1$
-            return path.makeRelative().toString();
-        } 
-        
-        String text = ((ILabelProvider) getTreeViewer().getLabelProvider())
-        	.getText(element);
-        if(text == null)
-        	return "";//$NON-NLS-1$
-        return text;
-    }
-
-    /**
-     * Handles an open event from the viewer.
-     * Opens an editor on the selected file.
-     * 
-     * @param event the open event
-     * @since 2.0
-     */
-    protected void handleOpen(OpenEvent event) {
-        IStructuredSelection selection = (IStructuredSelection) event
-                .getSelection();
-        getActionGroup().runDefaultAction(selection);
-    }
-
-    /**
-     * Handles a double-click event from the viewer.
-     * Expands or collapses a folder when double-clicked.
-     * 
-     * @param event the double-click event
-     * @since 2.0
-     */
-    protected void handleDoubleClick(DoubleClickEvent event) {
-        IStructuredSelection selection = (IStructuredSelection) event
-                .getSelection();
-        Object element = selection.getFirstElement();
-
-        // 1GBZIA0: ITPUI:WIN2000 - Double-clicking in navigator should expand/collapse containers
-        TreeViewer viewer = getTreeViewer();
-        if (viewer.isExpandable(element)) {
-            viewer.setExpandedState(element, !viewer.getExpandedState(element));
-        }
-
-    }
-
-    /**
-     * Handles a selection changed event from the viewer.
-     * Updates the status line and the action bars, and links to editor (if option enabled).
-     * 
-     * @param event the selection event
-     * @since 2.0
-     */
-    protected void handleSelectionChanged(SelectionChangedEvent event) {
-        final IStructuredSelection sel = (IStructuredSelection) event
-                .getSelection();
-        updateStatusLine(sel);
-        updateActionBars(sel);
-        dragDetected = false;
-        if (isLinkingEnabled()) {
-            getShell().getDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    if (dragDetected == false) {
-                        // only synchronize with editor when the selection is not the result 
-                        // of a drag. Fixes bug 22274.
-                        linkToEditor(sel);
-                    }
-                }
-            });
-        }
-    }
-
-    /**
-     * Handles a key press event from the viewer.
-     * Delegates to the action group.
-     * 
-     * @param event the key event
-     * @since 2.0
-     */
-    protected void handleKeyPressed(KeyEvent event) {
-        getActionGroup().handleKeyPressed(event);
-    }
-
-    /**
-     * Handles a key release in the viewer.  Does nothing by default.
-     * 
-     * @param event the key event
-     * @since 2.0
-     */
-    protected void handleKeyReleased(KeyEvent event) {
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     */
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        this.memento = memento;
-    }
-
-    /**
-     * Adds drag and drop support to the navigator.
-     * 
-     * @since 2.0
-     */
-    protected void initDragAndDrop() {
-        int ops = DND.DROP_COPY | DND.DROP_MOVE;
-        Transfer[] transfers = new Transfer[] {
-                LocalSelectionTransfer.getInstance(),
-                ResourceTransfer.getInstance(), FileTransfer.getInstance(),
-                PluginTransfer.getInstance() };
-        TreeViewer viewer = getTreeViewer();
-        viewer.addDragSupport(ops, transfers, new NavigatorDragAdapter(viewer));
-        NavigatorDropAdapter adapter = new NavigatorDropAdapter(viewer);
-        adapter.setFeedbackEnabled(false);
-        viewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, adapter);
-        dragDetectListener = new Listener() {
-            public void handleEvent(Event event) {
-                dragDetected = true;
-            }
-        };
-        viewer.getControl().addListener(SWT.DragDetect, dragDetectListener);
-    }
-
-    /**
-     * Creates the frame source and frame list, and connects them.
-     * 
-     * @since 2.0
-     */
-    protected FrameList createFrameList() {
-        NavigatorFrameSource frameSource = new NavigatorFrameSource(this);
-        FrameList frameList = new FrameList(frameSource);
-        frameSource.connectTo(frameList);
-        return frameList;
-    }
-
-    /**
-     * Initializes the sorter.
-     */
-    protected void initResourceSorter() {
-        int sortType = ResourceSorter.NAME;
-        try {
-            int sortInt = 0;
-            if (memento != null) {
-                String sortStr = memento.getString(TAG_SORTER);
-                if (sortStr != null)
-                    sortInt = new Integer(sortStr).intValue();
-            } else {
-                sortInt = settings.getInt(STORE_SORT_TYPE);
-            }
-            if (sortInt == ResourceSorter.NAME
-                    || sortInt == ResourceSorter.TYPE)
-                sortType = sortInt;
-        } catch (NumberFormatException e) {
-        }
-        setSorter(new ResourceSorter(sortType));
-    }
-
-    /**
-     * Restores the working set filter from the persistence store.
-     */
-    void initWorkingSetFilter() {
-        String workingSetName = settings.get(STORE_WORKING_SET);
-
-        if (workingSetName != null && workingSetName.equals("") == false) { //$NON-NLS-1$
-            IWorkingSetManager workingSetManager = getPlugin().getWorkbench()
-                    .getWorkingSetManager();
-            IWorkingSet workingSet = workingSetManager
-                    .getWorkingSet(workingSetName);
-
-            if (workingSet != null) {
-                // Only initialize filter. Don't set working set into viewer.
-                // Working set is set via WorkingSetFilterActionGroup
-                // during action creation.
-                workingSetFilter.setWorkingSet(workingSet);
-            }
-        }
-    }
-
-    /**
-     * Returns whether the navigator selection automatically tracks the active
-     * editor.
-     *
-     * @return <code>true</code> if linking is enabled, <code>false</code> if not  
-     * @since 2.0 (this was protected in 2.0, but was made public in 2.1)
-     */
-    public boolean isLinkingEnabled() {
-        return linkingEnabled;
-    }
-
-    /**
-     * Activates the editor if the selected resource is open.
-     * 
-     * @since 2.0
-     */
-    protected void linkToEditor(IStructuredSelection selection) {
-        Object obj = selection.getFirstElement();
-        if (obj instanceof IFile && selection.size() == 1) {
-            IFile file = (IFile) obj;
-            IWorkbenchPage page = getSite().getPage();
-            IEditorPart editor = page.findEditor(new FileEditorInput(file));
-            if (editor != null) {
-                page.bringToTop(editor);
-                return;
-            }
-        }
-    }
-
-    /**
-     * Creates the action group, which encapsulates all actions for the view.
-     */
-    protected void makeActions() {
-        setActionGroup(new MainActionGroup(this));
-    }
-
-    /**
-     * Migrates the dialog settings from the UI plugin store to the 
-     * Views plugin store.
-     */
-    private void migrateDialogSettings() {
-        AbstractUIPlugin uiPlugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings uiSettings = uiPlugin.getDialogSettings();
-
-        uiSettings = uiSettings.getSection(STORE_SECTION);
-        if (uiSettings != null) {
-            String workingSetName = uiSettings.get(STORE_WORKING_SET);
-            if (workingSetName != null && workingSetName.length() > 0) {
-                settings.put(STORE_WORKING_SET, workingSetName);
-                uiSettings.put(STORE_WORKING_SET, ""); //$NON-NLS-1$
-            }
-            String sortType = uiSettings.get(STORE_SORT_TYPE);
-            if (sortType != null && sortType.length() > 0) {
-                settings.put(STORE_SORT_TYPE, sortType);
-                uiSettings.put(STORE_SORT_TYPE, ""); //$NON-NLS-1$
-            }
-        }
-    }
-
-    /**
-     * Restores the saved filter settings.
-     */
-    private void restoreFilters() {
-        IMemento filtersMem = memento.getChild(TAG_FILTERS);
-
-        if (filtersMem != null) { //filters have been defined
-            IMemento children[] = filtersMem.getChildren(TAG_FILTER);
-
-            // check if first element has new tag defined, indicates new version
-            if (children.length > 0
-                    && children[0].getString(TAG_IS_ENABLED) != null) {
-                ArrayList selectedFilters = new ArrayList();
-                ArrayList unSelectedFilters = new ArrayList();
-                for (int i = 0; i < children.length; i++) {
-                    if (children[i].getString(TAG_IS_ENABLED).equals(
-                            String.valueOf(true)))
-                        selectedFilters.add(children[i].getString(TAG_ELEMENT));
-                    else
-                        //enabled == false
-                        unSelectedFilters.add(children[i]
-                                .getString(TAG_ELEMENT));
-                }
-
-                /* merge filters from Memento with selected = true filters from plugins
-                 * ensure there are no duplicates & don't override user preferences	 */
-                List pluginFilters = FiltersContentProvider.getDefaultFilters();
-                for (Iterator iter = pluginFilters.iterator(); iter.hasNext();) {
-                    String element = (String) iter.next();
-                    if (!selectedFilters.contains(element)
-                            && !unSelectedFilters.contains(element))
-                        selectedFilters.add(element);
-                }
-
-                //Convert to an array of Strings
-                String[] patternArray = new String[selectedFilters.size()];
-                selectedFilters.toArray(patternArray);
-                getPatternFilter().setPatterns(patternArray);
-
-            } else { //filters defined, old version: ignore filters from plugins
-                String filters[] = new String[children.length];
-                for (int i = 0; i < children.length; i++) {
-                    filters[i] = children[i].getString(TAG_ELEMENT);
-                }
-                getPatternFilter().setPatterns(filters);
-            }
-        } else { //no filters defined, old version: ignore filters from plugins
-            getPatternFilter().setPatterns(new String[0]);
-        }
-    }
-
-    /**
-     * Restores the state of the receiver to the state described in the specified memento.
-     *
-     * @param memento the memento
-     * @since 2.0
-     */
-    protected void restoreState(IMemento memento) {
-        TreeViewer viewer = getTreeViewer();
-        IMemento frameMemento = memento.getChild(TAG_CURRENT_FRAME);
-
-        if (frameMemento != null) {
-            TreeFrame frame = new TreeFrame(viewer);
-            frame.restoreState(frameMemento);
-            frame.setName(getFrameName(frame.getInput()));
-            frame.setToolTipText(getFrameToolTipText(frame.getInput()));
-            viewer.setSelection(new StructuredSelection(frame.getInput()));
-            frameList.gotoFrame(frame);
-        } else {
-            IContainer container = ResourcesPlugin.getWorkspace().getRoot();
-            IMemento childMem = memento.getChild(TAG_EXPANDED);
-            if (childMem != null) {
-                ArrayList elements = new ArrayList();
-                IMemento[] elementMem = childMem.getChildren(TAG_ELEMENT);
-                for (int i = 0; i < elementMem.length; i++) {
-                    Object element = container.findMember(elementMem[i]
-                            .getString(TAG_PATH));
-                    if (element != null) {
-                        elements.add(element);
-                    }
-                }
-                viewer.setExpandedElements(elements.toArray());
-            }
-            childMem = memento.getChild(TAG_SELECTION);
-            if (childMem != null) {
-                ArrayList list = new ArrayList();
-                IMemento[] elementMem = childMem.getChildren(TAG_ELEMENT);
-                for (int i = 0; i < elementMem.length; i++) {
-                    Object element = container.findMember(elementMem[i]
-                            .getString(TAG_PATH));
-                    if (element != null) {
-                        list.add(element);
-                    }
-                }
-                viewer.setSelection(new StructuredSelection(list));
-            }
-        }
-    }
-
-    /**
-     * Restores the linking enabled state.
-     */
-    private void restoreLinkingEnabled() {
-        Integer val = memento
-                .getInteger(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR);
-        if (val != null) {
-            linkingEnabled = val.intValue() != 0;
-        }
-    }
-
-    /**	
-     * @see ViewPart#saveState
-     */
-    public void saveState(IMemento memento) {
-        TreeViewer viewer = getTreeViewer();
-        if (viewer == null) {
-            if (this.memento != null) //Keep the old state;
-                memento.putMemento(this.memento);
-            return;
-        }
-
-        //save sorter
-        memento.putInteger(TAG_SORTER, getSorter().getCriteria());
-
-        //save filters
-        String filters[] = getPatternFilter().getPatterns();
-        List selectedFilters = Arrays.asList(filters);
-        List allFilters = FiltersContentProvider.getDefinedFilters();
-        IMemento filtersMem = memento.createChild(TAG_FILTERS);
-        for (Iterator iter = allFilters.iterator(); iter.hasNext();) {
-            String element = (String) iter.next();
-            IMemento child = filtersMem.createChild(TAG_FILTER);
-            child.putString(TAG_ELEMENT, element);
-            child.putString(TAG_IS_ENABLED, String.valueOf(selectedFilters
-                    .contains(element)));
-        }
-
-        if (frameList.getCurrentIndex() > 0) {
-            //save frame, it's not the "home"/workspace frame
-            TreeFrame currentFrame = (TreeFrame) frameList.getCurrentFrame();
-            IMemento frameMemento = memento.createChild(TAG_CURRENT_FRAME);
-            currentFrame.saveState(frameMemento);
-        } else {
-            //save visible expanded elements
-            Object expandedElements[] = viewer.getVisibleExpandedElements();
-            if (expandedElements.length > 0) {
-                IMemento expandedMem = memento.createChild(TAG_EXPANDED);
-                for (int i = 0; i < expandedElements.length; i++) {
-                    if (expandedElements[i] instanceof IResource) {
-                        IMemento elementMem = expandedMem
-                                .createChild(TAG_ELEMENT);
-                        elementMem.putString(TAG_PATH,
-                                ((IResource) expandedElements[i]).getFullPath()
-                                        .toString());
-                    }
-                }
-            }
-            //save selection
-            Object elements[] = ((IStructuredSelection) viewer.getSelection())
-                    .toArray();
-            if (elements.length > 0) {
-                IMemento selectionMem = memento.createChild(TAG_SELECTION);
-                for (int i = 0; i < elements.length; i++) {
-                    if (elements[i] instanceof IResource) {
-                        IMemento elementMem = selectionMem
-                                .createChild(TAG_ELEMENT);
-                        elementMem.putString(TAG_PATH,
-                                ((IResource) elements[i]).getFullPath()
-                                        .toString());
-                    }
-                }
-            }
-        }
-
-        saveLinkingEnabled(memento);
-    }
-
-    /**
-     * Saves the linking enabled state.
-     */
-    private void saveLinkingEnabled(IMemento memento) {
-        memento.putInteger(
-                IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR,
-                linkingEnabled ? 1 : 0);
-    }
-
-    /**
-     * Selects and reveals the specified elements.
-     */
-    public void selectReveal(ISelection selection) {
-        StructuredSelection ssel = convertSelection(selection);
-        if (!ssel.isEmpty()) {
-            getViewer().getControl().setRedraw(false);
-            getViewer().setSelection(ssel, true);
-            getViewer().getControl().setRedraw(true);
-        }
-    }
-
-    /**
-     * Saves the filters defined as strings in <code>patterns</code> 
-     * in the preference store.
-     */
-    public void setFiltersPreference(String[] patterns) {
-
-        StringBuffer sb = new StringBuffer();
-
-        for (int i = 0; i < patterns.length; i++) {
-            if (i != 0)
-                sb.append(ResourcePatternFilter.COMMA_SEPARATOR);
-            sb.append(patterns[i]);
-        }
-
-        getPlugin().getPreferenceStore().setValue(
-                ResourcePatternFilter.FILTERS_TAG, sb.toString());
-
-        // remove value in old workbench preference store location 
-        IPreferenceStore preferenceStore = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        String storedPatterns = preferenceStore
-                .getString(ResourcePatternFilter.FILTERS_TAG);
-        if (storedPatterns.length() > 0)
-            preferenceStore.setValue(ResourcePatternFilter.FILTERS_TAG, ""); //$NON-NLS-1$
-    }
-
-    /**
-     * @see IWorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-        getTreeViewer().getTree().setFocus();
-    }
-
-    /**
-     * Note: For experimental use only.
-     * Sets the decorator for the navigator.
-     * <p>
-     * As of 2.0, this method no longer has any effect.
-     * </p>
-     *
-     * @param decorator a label decorator or <code>null</code> for no decorations.
-     * @deprecated use the decorators extension point instead; see IWorkbench.getDecoratorManager()
-     */
-    public void setLabelDecorator(ILabelDecorator decorator) {
-        // do nothing
-    }
-
-    /**
-     * @see IResourceNavigator#setLinkingEnabled(boolean)
-     * @since 2.1
-     */
-    public void setLinkingEnabled(boolean enabled) {
-        this.linkingEnabled = enabled;
-
-        // remember the last setting in the dialog settings		
-        settings.put(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR,
-                enabled);
-
-        // if turning linking on, update the selection to correspond to the active editor
-        if (enabled) {
-            IEditorPart editor = getSite().getPage().getActiveEditor();
-            if (editor != null) {
-                editorActivated(editor);
-            }
-        }
-    }
-
-    /**
-     * Sets the resource sorter.
-     * 
-     * @param sorter the resource sorter
-     * @since 2.0
-     */
-    public void setSorter(ResourceSorter sorter) {
-        TreeViewer viewer = getTreeViewer();
-        ViewerSorter viewerSorter = viewer.getSorter();
-
-        viewer.getControl().setRedraw(false);
-        if (viewerSorter == sorter) {
-            viewer.refresh();
-        } else {
-            viewer.setSorter(sorter);
-        }
-        viewer.getControl().setRedraw(true);
-        settings.put(STORE_SORT_TYPE, sorter.getCriteria());
-
-        // update the sort actions' checked state
-        updateActionBars((IStructuredSelection) viewer.getSelection());
-    }
-
-    /*
-     * @see org.eclipse.ui.views.navigator.IResourceNavigatorPart#setWorkingSet(IWorkingSet)
-     * @since 2.0
-     */
-    public void setWorkingSet(IWorkingSet workingSet) {
-        TreeViewer treeViewer = getTreeViewer();
-        Object[] expanded = treeViewer.getExpandedElements();
-        ISelection selection = treeViewer.getSelection();
-
-        workingSetFilter.setWorkingSet(workingSet);
-        if (workingSet != null) {
-            settings.put(STORE_WORKING_SET, workingSet.getName());
-        } else {
-            settings.put(STORE_WORKING_SET, ""); //$NON-NLS-1$
-        }
-        updateTitle();
-        treeViewer.refresh();
-        treeViewer.setExpandedElements(expanded);
-        if (selection.isEmpty() == false
-                && selection instanceof IStructuredSelection) {
-            IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-            treeViewer.reveal(structuredSelection.getFirstElement());
-        }
-    }
-
-    /**
-     * Updates the action bar actions.
-     * 
-     * @param selection the current selection
-     * @since 2.0
-     */
-    protected void updateActionBars(IStructuredSelection selection) {
-        ResourceNavigatorActionGroup group = getActionGroup();
-        if (group != null) {
-            group.setContext(new ActionContext(selection));
-            group.updateActionBars();
-        }
-    }
-
-    /**
-     * Updates the message shown in the status line.
-     *
-     * @param selection the current selection
-     */
-    protected void updateStatusLine(IStructuredSelection selection) {
-        String msg = getStatusLineMessage(selection);
-        getViewSite().getActionBars().getStatusLineManager().setMessage(msg);
-    }
-
-    /**
-     * Updates the title text and title tool tip.
-     * Called whenever the input of the viewer changes.
-     * Called whenever the input of the viewer changes.
-     * 
-     * @since 2.0
-     */
-    public void updateTitle() {
-        Object input = getViewer().getInput();
-        String viewName = getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        IWorkingSet workingSet = workingSetFilter.getWorkingSet();
-
-        if (input == null || input.equals(workspace)
-                || input.equals(workspace.getRoot())) {
-            setContentDescription(""); //$NON-NLS-1$
-            if (workingSet != null) {
-                setTitleToolTip(ResourceNavigatorMessages.format(
-                        "ResourceNavigator.workingSetToolTip", //$NON-NLS-1$
-                        new Object[] { workingSet.getName() }));
-            } else {
-                setTitleToolTip(""); //$NON-NLS-1$
-            }
-        } else {
-            ILabelProvider labelProvider = (ILabelProvider) getTreeViewer()
-                    .getLabelProvider();
-            String inputToolTip = getFrameToolTipText(input);
-            String text = labelProvider.getText(input);
-            if(text != null)
-            	setContentDescription(text);
-            if (workingSet != null) {
-                setTitleToolTip(ResourceNavigatorMessages.format(
-                        "ResourceNavigator.workingSetInputToolTip", //$NON-NLS-1$
-                        new Object[] { inputToolTip, workingSet.getName() }));
-            } else {
-                setTitleToolTip(inputToolTip);
-            }
-        }
-    }
-
-    /**
-     * Returns the action group.
-     * 
-     * @return the action group
-     */
-    protected ResourceNavigatorActionGroup getActionGroup() {
-        return actionGroup;
-    }
-
-    /**
-     * Sets the action group.
-     * 
-     * @param actionGroup the action group
-     */
-    protected void setActionGroup(ResourceNavigatorActionGroup actionGroup) {
-        this.actionGroup = actionGroup;
-    }
-
-    /*
-     * @see IWorkbenchPart#getAdapter(Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IShowInSource.class) {
-            return getShowInSource();
-        }
-        if (adapter == IShowInTarget.class) {
-            return getShowInTarget();
-        }
-        return null;
-    }
-
-    /**
-     * Returns the <code>IShowInSource</code> for this view.
-     */
-    protected IShowInSource getShowInSource() {
-        return new IShowInSource() {
-            public ShowInContext getShowInContext() {
-                return new ShowInContext(getViewer().getInput(), getViewer()
-                        .getSelection());
-            }
-        };
-    }
-
-    /**
-     * Returns the <code>IShowInTarget</code> for this view.
-     */
-    protected IShowInTarget getShowInTarget() {
-        return new IShowInTarget() {
-            public boolean show(ShowInContext context) {
-                ArrayList toSelect = new ArrayList();
-                ISelection sel = context.getSelection();
-                if (sel instanceof IStructuredSelection) {
-                    IStructuredSelection ssel = (IStructuredSelection) sel;
-                    for (Iterator i = ssel.iterator(); i.hasNext();) {
-                        Object o = i.next();
-                        if (o instanceof IResource) {
-                            toSelect.add(o);
-                        } else if (o instanceof IMarker) {
-                            IResource r = ((IMarker) o).getResource();
-                            if (r.getType() != IResource.ROOT) {
-                                toSelect.add(r);
-                            }
-                        } else if (o instanceof IAdaptable) {
-                            IAdaptable adaptable = (IAdaptable) o;
-                            o = adaptable.getAdapter(IResource.class);
-                            if (o instanceof IResource) {
-                                toSelect.add(o);
-                            } else {
-                                o = adaptable.getAdapter(IMarker.class);
-                                if (o instanceof IMarker) {
-                                    IResource r = ((IMarker) o).getResource();
-                                    if (r.getType() != IResource.ROOT) {
-                                        toSelect.add(r);
-                                    }
-                                }
-                            }
-                        }
-                    }
-                }
-                if (toSelect.isEmpty()) {
-                    Object input = context.getInput();
-                    if (input instanceof IAdaptable) {
-                        IAdaptable adaptable = (IAdaptable) input;
-                        Object o = adaptable.getAdapter(IResource.class);
-                        if (o instanceof IResource) {
-                            toSelect.add(o);
-                        }
-                    }
-                }
-                if (!toSelect.isEmpty()) {
-                    selectReveal(new StructuredSelection(toSelect));
-                    return true;
-                }
-                return false;
-            }
-        };
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.java
deleted file mode 100644
index 1f969e9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorAction.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.ui.views.navigator;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Superclass of all actions provided by the resource navigator.
- */
-public abstract class ResourceNavigatorAction extends SelectionProviderAction {
-
-    private IResourceNavigator navigator;
-
-    /**
-     * Creates a new instance of the class.
-     */
-    public ResourceNavigatorAction(IResourceNavigator navigator, String label) {
-        super(navigator.getViewer(), label);
-        this.navigator = navigator;
-    }
-
-    /**
-     * Returns the resource navigator for which this action was created.
-     */
-    public IResourceNavigator getNavigator() {
-        return navigator;
-    }
-
-    /**
-     * Returns the resource viewer
-     */
-    protected Viewer getViewer() {
-        return getNavigator().getViewer();
-    }
-
-    /**
-     * Returns the shell to use within actions.
-     */
-    protected Shell getShell() {
-        return getNavigator().getSite().getShell();
-    }
-
-    /**
-     * Returns the workbench.
-     */
-    protected IWorkbench getWorkbench() {
-        return PlatformUI.getWorkbench();
-    }
-
-    /**
-     * Returns the workbench window.
-     */
-    protected IWorkbenchWindow getWorkbenchWindow() {
-        return getNavigator().getSite().getWorkbenchWindow();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.java
deleted file mode 100644
index 1cc42e8..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorActionGroup.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 
- *        Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
- ************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This is the action group for all the resource navigator actions.
- * It delegates to several subgroups for most of the actions.
- * 
- * @see GotoActionGroup
- * @see OpenActionGroup
- * @see RefactorActionGroup
- * @see SortAndFilterActionGroup
- * @see WorkspaceActionGroup
- * 
- * @since 2.0
- */
-public abstract class ResourceNavigatorActionGroup extends ActionGroup {
-
-    /**
-     * The resource navigator.
-     */
-    protected IResourceNavigator navigator;
-
-    /**
-     * Constructs a new navigator action group and creates its actions.
-     * 
-     * @param navigator the resource navigator
-     */
-    public ResourceNavigatorActionGroup(IResourceNavigator navigator) {
-        this.navigator = navigator;
-        makeActions();
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    protected ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/"; //$NON-NLS-1$
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // should not happen
-            return ImageDescriptor.getMissingImageDescriptor();
-        }
-    }
-
-    /**
-     * Returns the resource navigator.
-     */
-    public IResourceNavigator getNavigator() {
-        return navigator;
-    }
-
-    /**
-     * Handles a key pressed event by invoking the appropriate action.
-     * Does nothing by default.
-     */
-    public void handleKeyPressed(KeyEvent event) {
-    }
-
-    /**
-     * Makes the actions contained in this action group.
-     */
-    protected abstract void makeActions();
-
-    /**
-     * Runs the default action in the group.
-     * Does nothing by default.
-     * 
-     * @param selection the current selection
-     */
-    public void runDefaultAction(IStructuredSelection selection) {
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.java
deleted file mode 100644
index 21d4db9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMessages.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.ui.views.navigator;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- * @since 2.0
- */
-public class ResourceNavigatorMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.navigator.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private ResourceNavigatorMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java
deleted file mode 100644
index 5b561ef..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorMoveAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.MoveProjectAction;
-import org.eclipse.ui.actions.MoveResourceAction;
-
-/**
- * The ResourceNavigatorMoveAction is a resource move that aso updates the navigator
- * to show the result of the move.
- * It also delegates to MoveProjectAction as needed.
- * 
- * @since 2.0
- */
-public class ResourceNavigatorMoveAction extends MoveResourceAction {
-    private StructuredViewer viewer;
-
-    private MoveProjectAction moveProjectAction;
-
-    /**
-     * Create a ResourceNavigatorMoveAction and use the supplied viewer to update the UI.
-     * @param shell Shell
-     * @param structureViewer StructuredViewer
-     */
-    public ResourceNavigatorMoveAction(Shell shell,
-            StructuredViewer structureViewer) {
-        super(shell);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                INavigatorHelpContextIds.RESOURCE_NAVIGATOR_MOVE_ACTION);
-        this.viewer = structureViewer;
-        this.moveProjectAction = new MoveProjectAction(shell);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAction.
-     */
-    public void run() {
-        if (moveProjectAction.isEnabled()) {
-            moveProjectAction.run();
-            return;
-        }
-
-        super.run();
-        List destinations = getDestinations();
-        if (destinations != null && destinations.isEmpty() == false) {
-            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-            List resources = new ArrayList();
-            Iterator iterator = destinations.iterator();
-
-            while (iterator.hasNext()) {
-                IResource newResource = root
-                        .findMember((IPath) iterator.next());
-                if (newResource != null)
-                    resources.add(newResource);
-            }
-
-            this.viewer.setSelection(new StructuredSelection(resources), true);
-        }
-
-    }
-
-    protected boolean updateSelection(IStructuredSelection selection) {
-        moveProjectAction.selectionChanged(selection);
-        return super.updateSelection(selection)
-                || moveProjectAction.isEnabled();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.java
deleted file mode 100644
index 8124f07..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceNavigatorRenameAction.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.ui.views.navigator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.RenameResourceAction;
-
-/**
- * The ResourceNavigatorRenameAction is the rename action used by the
- * ResourceNavigator that also allows updating after rename.
- * @since 2.0
- */
-public class ResourceNavigatorRenameAction extends RenameResourceAction {
-    private TreeViewer viewer;
-
-    /**
-     * Create a ResourceNavigatorRenameAction and use the tree of the supplied viewer
-     * for editing.
-     * @param shell Shell
-     * @param treeViewer TreeViewer
-     */
-    public ResourceNavigatorRenameAction(Shell shell, TreeViewer treeViewer) {
-        super(shell, treeViewer.getTree());
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                INavigatorHelpContextIds.RESOURCE_NAVIGATOR_RENAME_ACTION);
-        this.viewer = treeViewer;
-    }
-
-    /* (non-Javadoc)
-     * Run the action to completion using the supplied path.
-     */
-    protected void runWithNewPath(IPath path, IResource resource) {
-        IWorkspaceRoot root = resource.getProject().getWorkspace().getRoot();
-        super.runWithNewPath(path, resource);
-        if (this.viewer != null) {
-            IResource newResource = root.findMember(path);
-            if (newResource != null)
-                this.viewer.setSelection(new StructuredSelection(newResource),
-                        true);
-        }
-    }
-
-    /**
-     * Handle the key release
-     */
-    public void handleKeyReleased(KeyEvent event) {
-        if (event.keyCode == SWT.F2 && event.stateMask == 0 && isEnabled()) {
-            run();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java
deleted file mode 100644
index 8fa88d3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourcePatternFilter.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-
-/**
- * Filter used to determine whether resources are to be shown or not.
- * 
- * @since 2.0
- */
-public class ResourcePatternFilter extends ViewerFilter {
-    private String[] patterns;
-
-    private StringMatcher[] matchers;
-
-    static final String COMMA_SEPARATOR = ",";//$NON-NLS-1$
-
-    static final String FILTERS_TAG = "resourceFilters";//$NON-NLS-1$
-
-    /**
-     * Creates a new resource pattern filter.
-     */
-    public ResourcePatternFilter() {
-        super();
-    }
-
-    /**
-     * Return the currently configured StringMatchers. If there aren't any look
-     * them up.
-     */
-    private StringMatcher[] getMatchers() {
-
-        if (this.matchers == null)
-            initializeFromPreferences();
-
-        return this.matchers;
-    }
-
-    /**
-     * Gets the patterns for the receiver. Returns the cached values if there
-     * are any - if not look it up.
-     */
-    public String[] getPatterns() {
-
-        if (this.patterns == null)
-            initializeFromPreferences();
-
-        return this.patterns;
-
-    }
-
-    /**
-     * Initializes the filters from the preference store.
-     */
-    private void initializeFromPreferences() {
-        // get the filters that were saved by ResourceNavigator.setFiltersPreference
-        IPreferenceStore viewsPrefs = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        String storedPatterns = viewsPrefs.getString(FILTERS_TAG);
-
-        if (storedPatterns.length() == 0) {
-            // try to migrate patterns from old workbench preference store location
-            IPreferenceStore workbenchPrefs = PlatformUI.getWorkbench()
-                    .getPreferenceStore();
-            storedPatterns = workbenchPrefs.getString(FILTERS_TAG);
-            if (storedPatterns.length() > 0) {
-                viewsPrefs.setValue(FILTERS_TAG, storedPatterns);
-                workbenchPrefs.setValue(FILTERS_TAG, ""); //$NON-NLS-1$
-            }
-        }
-
-        if (storedPatterns.length() == 0) {
-            // revert to all filter extensions with selected == "true"
-            // if there are no filters in the preference store
-            List defaultFilters = FiltersContentProvider.getDefaultFilters();
-            String[] patterns = new String[defaultFilters.size()];
-            defaultFilters.toArray(patterns);
-            setPatterns(patterns);
-            return;
-        }
-
-        //Get the strings separated by a comma and filter them from the currently
-        //defined ones
-        List definedFilters = FiltersContentProvider.getDefinedFilters();
-        StringTokenizer entries = new StringTokenizer(storedPatterns,
-                COMMA_SEPARATOR);
-        List patterns = new ArrayList();
-
-        while (entries.hasMoreElements()) {
-            String nextToken = entries.nextToken();
-            if (definedFilters.indexOf(nextToken) > -1)
-                patterns.add(nextToken);
-        }
-
-        //Convert to an array of Strings
-        String[] patternArray = new String[patterns.size()];
-        patterns.toArray(patternArray);
-        setPatterns(patternArray);
-
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ViewerFilter.
-     */
-    public boolean select(Viewer viewer, Object parentElement, Object element) {
-        IResource resource = null;
-        if (element instanceof IResource) {
-            resource = (IResource) element;
-        } else if (element instanceof IAdaptable) {
-            IAdaptable adaptable = (IAdaptable) element;
-            resource = (IResource) adaptable.getAdapter(IResource.class);
-        }
-        if (resource != null) {
-            String name = resource.getName();
-            StringMatcher[] testMatchers = getMatchers();
-            for (int i = 0; i < testMatchers.length; i++) {
-                if (testMatchers[i].match(name))
-                    return false;
-            }
-            return true;
-        }
-        return true;
-    }
-
-    /**
-     * Sets the patterns to filter out for the receiver.
-     */
-    public void setPatterns(String[] newPatterns) {
-
-        this.patterns = newPatterns;
-        this.matchers = new StringMatcher[newPatterns.length];
-        for (int i = 0; i < newPatterns.length; i++) {
-            //Reset the matchers to prevent constructor overhead
-            matchers[i] = new StringMatcher(newPatterns[i], true, false);
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java
deleted file mode 100644
index 859c61a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSelectionUtil.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * Provides utilities for checking the validity of selections.
- * <p>
- * This class provides static methods only; it is not intended to be instantiated
- * or subclassed.
- * @since 2.0
- * </p>
- */
-public class ResourceSelectionUtil {
-    /* (non-Javadoc)
-     * Private constructor to block instantiation.
-     */
-    private ResourceSelectionUtil() {
-    }
-
-    /**
-     * Returns whether the types of the resources in the given selection are among 
-     * the specified resource types.
-     * 
-     * @param selection the selection
-     * @param resourceMask resource mask formed by bitwise OR of resource type
-     *   constants (defined on <code>IResource</code>)
-     * @return <code>true</code> if all selected elements are resources of the right
-     *  type, and <code>false</code> if at least one element is either a resource
-     *  of some other type or a non-resource
-     * @see IResource#getType()
-     */
-    public static boolean allResourcesAreOfType(IStructuredSelection selection,
-            int resourceMask) {
-        Iterator resources = selection.iterator();
-        while (resources.hasNext()) {
-            Object next = resources.next();
-            if (!(next instanceof IResource))
-                return false;
-            if (!resourceIsType((IResource) next, resourceMask))
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * Returns the selection adapted to IResource. Returns null
-     * if any of the entries are not adaptable.
-     * 
-     * @param selection the selection
-     * @param resourceMask resource mask formed by bitwise OR of resource type
-     *   constants (defined on <code>IResource</code>)
-     * @return IStructuredSelection or null if any of the entries are not adaptable.
-     * @see IResource#getType()
-     */
-    public static IStructuredSelection allResources(
-            IStructuredSelection selection, int resourceMask) {
-        Iterator adaptables = selection.iterator();
-        List result = new ArrayList();
-        while (adaptables.hasNext()) {
-            Object next = adaptables.next();
-            if (next instanceof IAdaptable) {
-                Object resource = ((IAdaptable) next)
-                        .getAdapter(IResource.class);
-                if (resource == null)
-                    return null;
-                else if (resourceIsType((IResource) resource, resourceMask))
-                    result.add(resource);
-            } else
-                return null;
-        }
-        return new StructuredSelection(result);
-
-    }
-
-    /**
-     * Returns whether the type of the given resource is among the specified 
-     * resource types.
-     * 
-     * @param resource the resource
-     * @param resourceMask resource mask formed by bitwise OR of resource type
-     *   constants (defined on <code>IResource</code>)
-     * @return <code>true</code> if the resources has a matching type, and 
-     *   <code>false</code> otherwise
-     * @see IResource#getType()
-     */
-    public static boolean resourceIsType(IResource resource, int resourceMask) {
-        return (resource.getType() & resourceMask) != 0;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java
deleted file mode 100644
index d800c09..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ResourceSorter.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Sorter for viewers that display items of type <code>IResource</code>.
- * The sorter supports two sort criteria:
- * <p>
- * <code>NAME</code>: Folders are given order precedence, followed by files.
- * Within these two groups resources are ordered by name.  All name comparisons
- * are case-insensitive.
- * </p>
- * <p>
- * <code>TYPE</code>: Folders are given order precedence, followed by files.
- * Within these two groups resources are ordered by extension.  All extension
- * comparisons are case-insensitive.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ResourceSorter extends ViewerSorter {
-
-    /**
-     * Constructor argument value that indicates to sort items by name.
-     */
-    public final static int NAME = 1;
-
-    /**
-     * Constructor argument value that indicates to sort items by extension.
-     */
-    public final static int TYPE = 2;
-
-    private int criteria;
-
-    /**
-     * Creates a resource sorter that will use the given sort criteria.
-     *
-     * @param criteria the sort criterion to use: one of <code>NAME</code> or 
-     *   <code>TYPE</code>
-     */
-    public ResourceSorter(int criteria) {
-        super();
-        this.criteria = criteria;
-    }
-
-    /**
-     * Returns an integer value representing the relative sort priority of the 
-     * given element based on its class.
-     * <p>
-     * <ul>
-     *   <li>resources (<code>IResource</code>) - 2</li>
-     *   <li>project references (<code>ProjectReference</code>) - 1</li>
-     *   <li>everything else - 0</li>
-     * </ul>
-     * </p>
-     *
-     * @param element the element
-     * @return the sort priority (larger numbers means more important)
-     */
-    protected int classComparison(Object element) {
-        if (element instanceof IResource) {
-            return 2;
-        }
-        return 0;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ViewerSorter.
-     */
-    public int compare(Viewer viewer, Object o1, Object o2) {
-        //have to deal with non-resources in navigator
-        //if one or both objects are not resources, returned a comparison 
-        //based on class.
-        if (!(o1 instanceof IResource && o2 instanceof IResource)) {
-            return compareClass(o1, o2);
-        }
-        IResource r1 = (IResource) o1;
-        IResource r2 = (IResource) o2;
-
-        if (r1 instanceof IContainer && r2 instanceof IContainer)
-            return compareNames(r1, r2);
-        else if (r1 instanceof IContainer)
-            return -1;
-        else if (r2 instanceof IContainer)
-            return 1;
-        else if (criteria == NAME)
-            return compareNames(r1, r2);
-        else if (criteria == TYPE)
-            return compareTypes(r1, r2);
-        else
-            return 0;
-    }
-
-    /**
-     * Returns a number reflecting the collation order of the given elements
-     * based on their class.
-     *
-     * @param element1 the first element to be ordered
-     * @param element2 the second element to be ordered
-     * @return a negative number if the first element is less  than the 
-     *  second element; the value <code>0</code> if the first element is
-     *  equal to the second element; and a positive number if the first
-     *  element is greater than the second element
-     */
-    protected int compareClass(Object element1, Object element2) {
-        return classComparison(element1) - classComparison(element2);
-    }
-
-    /**
-     * Returns a number reflecting the collation order of the given resources
-     * based on their resource names.
-     *
-     * @param resource1 the first resource element to be ordered
-     * @param resource2 the second resource element to be ordered
-     * @return a negative number if the first element is less  than the 
-     *  second element; the value <code>0</code> if the first element is
-     *  equal to the second element; and a positive number if the first
-     *  element is greater than the second element
-     */
-    protected int compareNames(IResource resource1, IResource resource2) {
-        return collator.compare(resource1.getName(), resource2.getName());
-    }
-
-    /**
-     * Returns a number reflecting the collation order of the given resources
-     * based on their respective file extensions. Resources with the same file
-     * extension will be collated based on their names.
-     *
-     * @param resource1 the first resource element to be ordered
-     * @param resource2 the second resource element to be ordered
-     * @return a negative number if the first element is less  than the 
-     *  second element; the value <code>0</code> if the first element is
-     *  equal to the second element; and a positive number if the first
-     *  element is greater than the second element
-     */
-    protected int compareTypes(IResource resource1, IResource resource2) {
-        String ext1 = getExtensionFor(resource1);
-        String ext2 = getExtensionFor(resource2);
-
-        // Compare extensions.  If they're different then return a value that
-        // indicates correct extension ordering.  If they're the same then
-        // return a value that indicates the correct NAME ordering.
-        int result = collator.compare(ext1, ext2);
-
-        if (result != 0) // ie.- different extensions
-            return result;
-
-        return compareNames(resource1, resource2);
-    }
-
-    /**
-     * Returns the sort criteria of this sorter.
-     *
-     * @return the sort criterion: one of <code>NAME</code> or <code>TYPE</code>
-     */
-    public int getCriteria() {
-        return criteria;
-    }
-
-    /**
-     * Returns the extension portion of the given resource.
-     *
-     * @param resource the resource
-     * @return the file extension, possibily the empty string
-     */
-    private String getExtensionFor(IResource resource) {
-        String ext = resource.getFileExtension();
-        return ext == null ? "" : ext; //$NON-NLS-1$
-    }
-
-    /**
-     * Sets the sort criteria of this sorter.
-     * 
-     * @param criteria the sort criterion: 
-     *	one of <code>ResourceSorter.NAME</code> or 
-     *	<code>ResourceSorter.TYPE</code>
-     */
-    public void setCriteria(int criteria) {
-        this.criteria = criteria;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java
deleted file mode 100644
index 1aa821e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ShowInNavigatorAction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.part.ISetSelectionTarget;
-
-/**
- * An action which shows the current selection in the Navigator view.
- * For each element in the selection, if it is an <code>IResource</code>
- * it uses it directly, otherwise if it is an <code>IMarker</code> it uses the marker's resource,
- * otherwise if it is an <code>IAdaptable</code>, it tries to get the <code>IResource.class</code> adapter.
- */
-public class ShowInNavigatorAction extends SelectionProviderAction {
-    private IWorkbenchPage page;
-
-    /**
-     * Create a new instance of this class.
-     * 
-     * @param page the page
-     * @param viewer the viewer
-     */
-    public ShowInNavigatorAction(IWorkbenchPage page, ISelectionProvider viewer) {
-        super(viewer, ResourceNavigatorMessages
-                .getString("ShowInNavigator.text")); //$NON-NLS-1$
-        Assert.isNotNull(page);
-        this.page = page;
-        setDescription(ResourceNavigatorMessages
-                .getString("ShowInNavigator.toolTip")); //$NON-NLS-1$
-        page.getWorkbenchWindow().getWorkbench().getHelpSystem().setHelp(this,
-				INavigatorHelpContextIds.SHOW_IN_NAVIGATOR_ACTION);
-    }
-
-    /**
-     * Returns the resources in the given selection.
-     *
-     * @return a list of <code>IResource</code>
-     */
-    List getResources(IStructuredSelection selection) {
-        List v = new ArrayList();
-        for (Iterator i = selection.iterator(); i.hasNext();) {
-            Object o = i.next();
-            if (o instanceof IResource) {
-                v.add(o);
-            } else if (o instanceof IMarker) {
-                IResource resource = ((IMarker) o).getResource();
-                v.add(resource);
-            } else if (o instanceof IAdaptable) {
-                IResource resource = (IResource) ((IAdaptable) o)
-                        .getAdapter(IResource.class);
-                if (resource != null) {
-                    v.add(resource);
-                }
-            }
-        }
-        return v;
-    }
-
-    /*
-     * (non-Javadoc)
-     * Method declared on IAction.
-     */
-    /**
-     * Shows the Navigator view and sets its selection to the resources
-     * selected in this action's selection provider.
-     */
-    public void run() {
-        List v = getResources(getStructuredSelection());
-        if (v.isEmpty())
-            return;
-        try {
-            IViewPart view = page.showView(IPageLayout.ID_RES_NAV);
-            if (view instanceof ISetSelectionTarget) {
-                ISelection selection = new StructuredSelection(v);
-                ((ISetSelectionTarget) view).selectReveal(selection);
-            }
-        } catch (PartInitException e) {
-            ErrorDialog.openError(page.getWorkbenchWindow().getShell(),
-                    ResourceNavigatorMessages
-                            .getString("ShowInNavigator.errorMessage"), //$NON-NLS-1$
-                    e.getMessage(), e.getStatus());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * Method declared on SelectionProviderAction.
-     */
-    public void selectionChanged(IStructuredSelection selection) {
-        setEnabled(!getResources(selection).isEmpty());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.java
deleted file mode 100644
index 1bd50ef..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortAndFilterActionGroup.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
- *     Sebastian Davids <sdavids@gmx.de> - Images for menu items (27481)
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IActionBars;
-
-/**
- * This is the action group for the sort and filter actions.
- */
-public class SortAndFilterActionGroup extends ResourceNavigatorActionGroup {
-
-    private SortViewAction sortByTypeAction;
-
-    private SortViewAction sortByNameAction;
-
-    private FilterSelectionAction filterAction;
-
-    public SortAndFilterActionGroup(IResourceNavigator navigator) {
-        super(navigator);
-    }
-
-    protected void makeActions() {
-        sortByNameAction = new SortViewAction(navigator, false);
-        sortByTypeAction = new SortViewAction(navigator, true);
-
-        filterAction = new FilterSelectionAction(navigator,
-                ResourceNavigatorMessages
-                        .getString("ResourceNavigator.filterText")); //$NON-NLS-1$
-        filterAction
-                .setDisabledImageDescriptor(getImageDescriptor("dlcl16/filter_ps.gif"));//$NON-NLS-1$
-        filterAction
-                .setImageDescriptor(getImageDescriptor("elcl16/filter_ps.gif"));//$NON-NLS-1$
-    }
-
-    public void fillActionBars(IActionBars actionBars) {
-        IMenuManager menu = actionBars.getMenuManager();
-        IMenuManager submenu = new MenuManager(ResourceNavigatorMessages
-                .getString("ResourceNavigator.sort")); //$NON-NLS-1$
-        menu.add(submenu);
-        submenu.add(sortByNameAction);
-        submenu.add(sortByTypeAction);
-        menu.add(filterAction);
-    }
-
-    public void updateActionBars() {
-        int criteria = navigator.getSorter().getCriteria();
-        sortByNameAction.setChecked(criteria == ResourceSorter.NAME);
-        sortByTypeAction.setChecked(criteria == ResourceSorter.TYPE);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.java
deleted file mode 100644
index d5ab6e0..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/SortViewAction.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.ui.views.navigator;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Implementation of the view sorting actions.
- * @since 2.0
- */
-public class SortViewAction extends ResourceNavigatorAction {
-    private int sortCriteria;
-
-    /**
-     * Creates the action.
-     *
-     * @param navigator the resource navigator
-     * @param sortByType <code>true</code> for sort by type, <code>false</code> for sort by name
-     */
-    public SortViewAction(IResourceNavigator navigator, boolean sortByType) {
-        super(
-                navigator,
-                sortByType ? ResourceNavigatorMessages
-                        .getString("SortView.byType") : ResourceNavigatorMessages.getString("SortView.byName")); //$NON-NLS-2$ //$NON-NLS-1$
-        if (sortByType) {
-            setToolTipText(ResourceNavigatorMessages
-                    .getString("SortView.toolTipByType")); //$NON-NLS-1$
-        } else {
-            setToolTipText(ResourceNavigatorMessages
-                    .getString("SortView.toolTipByName")); //$NON-NLS-1$
-        }
-        setEnabled(true);
-        sortCriteria = sortByType ? ResourceSorter.TYPE : ResourceSorter.NAME;
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				INavigatorHelpContextIds.SORT_VIEW_ACTION);
-    }
-
-    public void run() {
-        IResourceNavigator navigator = getNavigator();
-        ResourceSorter sorter = navigator.getSorter();
-
-        if (sorter == null)
-            navigator.setSorter(new ResourceSorter(sortCriteria));
-        else {
-            sorter.setCriteria(sortCriteria);
-            navigator.setSorter(sorter);
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java
deleted file mode 100644
index 49bddb4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/StringMatcher.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.Vector;
-
-/**
- * A string pattern matcher, suppporting ?*? and ??? wildcards.
- */
-/* package */class StringMatcher {
-    protected String fPattern;
-
-    protected int fLength; // pattern length
-
-    protected boolean fIgnoreWildCards;
-
-    protected boolean fIgnoreCase;
-
-    protected boolean fHasLeadingStar;
-
-    protected boolean fHasTrailingStar;
-
-    protected String fSegments[]; //the given pattern is split into * separated segments
-
-    /* boundary value beyond which we don't need to search in the text */
-    protected int fBound = 0;
-
-    protected static final char fSingleWildCard = '\u0000';
-
-    public static class Position {
-        int start; //inclusive
-
-        int end; //exclusive
-
-        public Position(int start, int end) {
-            this.start = start;
-            this.end = end;
-        }
-
-        public int getStart() {
-            return start;
-        }
-
-        public int getEnd() {
-            return end;
-        }
-    }
-
-    /**
-     * StringMatcher constructor takes in a String object that is a simple 
-     * pattern which may contain '*' for 0 and many characters and
-     * '?' for exactly one character.  
-     *
-     * Literal '*' and '?' characters must be escaped in the pattern 
-     * e.g., "\*" means literal "*", etc.
-     *
-     * Escaping any other character (including the escape character itself), 
-     * just results in that character in the pattern.
-     * e.g., "\a" means "a" and "\\" means "\"
-     *
-     * If invoking the StringMatcher with string literals in Java, don't forget
-     * escape characters are represented by "\\".
-     *
-     * @param pattern the pattern to match text against
-     * @param ignoreCase if true, case is ignored
-     * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-     * 		  (everything is taken literally).
-     */
-    public StringMatcher(String pattern, boolean ignoreCase,
-            boolean ignoreWildCards) {
-        if (pattern == null)
-            throw new IllegalArgumentException();
-        fIgnoreCase = ignoreCase;
-        fIgnoreWildCards = ignoreWildCards;
-        fPattern = pattern;
-        fLength = pattern.length();
-
-        if (fIgnoreWildCards) {
-            parseNoWildCards();
-        } else {
-            parseWildCards();
-        }
-    }
-
-    /**
-     * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-     * and <code>end</code>(exclusive).  
-     * @param <code>text</code>, the String object to search in 
-     * @param <code>start</code>, the starting index of the search range, inclusive
-     * @param <code>end</code>, the ending index of the search range, exclusive
-     * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-     * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-     * pattern in the specified range of the text; return null if not found or subtext
-     * is empty (start==end). A pair of zeros is returned if pattern is empty string
-     * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-     * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-     */
-    public StringMatcher.Position find(String text, int start, int end) {
-        if (text == null)
-            throw new IllegalArgumentException();
-
-        int tlen = text.length();
-        if (start < 0)
-            start = 0;
-        if (end > tlen)
-            end = tlen;
-        if (end < 0 || start >= end)
-            return null;
-        if (fLength == 0)
-            return new Position(start, start);
-        if (fIgnoreWildCards) {
-            int x = posIn(text, start, end);
-            if (x < 0)
-                return null;
-            return new Position(x, x + fLength);
-        }
-
-        int segCount = fSegments.length;
-        if (segCount == 0)//pattern contains only '*'(s)
-            return new Position(start, end);
-
-        int curPos = start;
-        int matchStart = -1;
-        int i;
-        for (i = 0; i < segCount && curPos < end; ++i) {
-            String current = fSegments[i];
-            int nextMatch = regExpPosIn(text, curPos, end, current);
-            if (nextMatch < 0)
-                return null;
-            if (i == 0)
-                matchStart = nextMatch;
-            curPos = nextMatch + current.length();
-        }
-        if (i < segCount) // Ensure all segments match
-            return null;
-        return new Position(matchStart, curPos);
-    }
-
-    /**
-     * match the given <code>text</code> with the pattern 
-     * @return true if matched eitherwise false
-     * @param <code>text</code>, a String object 
-     */
-    public boolean match(String text) {
-        return match(text, 0, text.length());
-    }
-
-    /**
-     * Given the starting (inclusive) and the ending (exclusive) poisitions in the   
-     * <code>text</code>, determine if the given substring matches with aPattern  
-     * @return true if the specified portion of the text matches the pattern
-     * @param String <code>text</code>, a String object that contains the substring to match 
-     * @param int <code>start<code> marks the starting position (inclusive) of the substring
-     * @param int <code>end<code> marks the ending index (exclusive) of the substring 
-     */
-    public boolean match(String text, int start, int end) {
-        if (null == text)
-            throw new IllegalArgumentException();
-
-        if (start > end)
-            return false;
-
-        if (fIgnoreWildCards)
-            return (end - start == fLength)
-                    && fPattern.regionMatches(fIgnoreCase, 0, text, start,
-                            fLength);
-        int segCount = fSegments.length;
-        if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar)) // pattern contains only '*'(s)
-            return true;
-        if (start == end)
-            return fLength == 0;
-        if (fLength == 0)
-            return start == end;
-
-        int tlen = text.length();
-        if (start < 0)
-            start = 0;
-        if (end > tlen)
-            end = tlen;
-
-        int tCurPos = start;
-        int bound = end - fBound;
-        if (bound < 0)
-            return false;
-        int i = 0;
-        String current = fSegments[i];
-        int segLength = current.length();
-
-        /* process first segment */
-        if (!fHasLeadingStar) {
-            if (!regExpRegionMatches(text, start, current, 0, segLength)) {
-                return false;
-            } else {
-                ++i;
-                tCurPos = tCurPos + segLength;
-            }
-        }
-        if ((fSegments.length == 1) && (!fHasLeadingStar)
-                && (!fHasTrailingStar)) {
-            // only one segment to match, no wildcards specified
-            return tCurPos == end;
-        }
-        /* process middle segments */
-        for (; i < segCount && tCurPos <= bound; ++i) {
-            current = fSegments[i];
-            int currentMatch;
-            int k = current.indexOf(fSingleWildCard);
-            if (k < 0) {
-                currentMatch = textPosIn(text, tCurPos, end, current);
-                if (currentMatch < 0)
-                    return false;
-            } else {
-                currentMatch = regExpPosIn(text, tCurPos, end, current);
-                if (currentMatch < 0)
-                    return false;
-            }
-            tCurPos = currentMatch + current.length();
-        }
-
-        /* process final segment */
-        if (!fHasTrailingStar && tCurPos != end) {
-            int clen = current.length();
-            return regExpRegionMatches(text, end - clen, current, 0, clen);
-        }
-        return i == segCount;
-    }
-
-    /**
-     * This method parses the given pattern into segments seperated by wildcard '*' characters.
-     * Since wildcards are not being used in this case, the pattern consists of a single segment.
-     */
-    private void parseNoWildCards() {
-        fSegments = new String[1];
-        fSegments[0] = fPattern;
-        fBound = fLength;
-    }
-
-    /**
-     * Parses the given pattern into segments seperated by wildcard '*' characters.
-     * @param p, a String object that is a simple regular expression with '*' and/or '?'
-     */
-    private void parseWildCards() {
-        if (fPattern.startsWith("*"))//$NON-NLS-1$
-            fHasLeadingStar = true;
-        if (fPattern.endsWith("*")) {//$NON-NLS-1$
-            /* make sure it's not an escaped wildcard */
-            if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-                fHasTrailingStar = true;
-            }
-        }
-
-        Vector temp = new Vector();
-
-        int pos = 0;
-        StringBuffer buf = new StringBuffer();
-        while (pos < fLength) {
-            char c = fPattern.charAt(pos++);
-            switch (c) {
-            case '\\':
-                if (pos >= fLength) {
-                    buf.append(c);
-                } else {
-                    char next = fPattern.charAt(pos++);
-                    /* if it's an escape sequence */
-                    if (next == '*' || next == '?' || next == '\\') {
-                        buf.append(next);
-                    } else {
-                        /* not an escape sequence, just insert literally */
-                        buf.append(c);
-                        buf.append(next);
-                    }
-                }
-                break;
-            case '*':
-                if (buf.length() > 0) {
-                    /* new segment */
-                    temp.addElement(buf.toString());
-                    fBound += buf.length();
-                    buf.setLength(0);
-                }
-                break;
-            case '?':
-                /* append special character representing single match wildcard */
-                buf.append(fSingleWildCard);
-                break;
-            default:
-                buf.append(c);
-            }
-        }
-
-        /* add last buffer to segment list */
-        if (buf.length() > 0) {
-            temp.addElement(buf.toString());
-            fBound += buf.length();
-        }
-
-        fSegments = new String[temp.size()];
-        temp.copyInto(fSegments);
-    }
-
-    /** 
-     * @param <code>text</code>, a string which contains no wildcard
-     * @param <code>start</code>, the starting index in the text for search, inclusive
-     * @param <code>end</code>, the stopping point of search, exclusive
-     * @return the starting index in the text of the pattern , or -1 if not found 
-     */
-    protected int posIn(String text, int start, int end) {//no wild card in pattern
-        int max = end - fLength;
-
-        if (!fIgnoreCase) {
-            int i = text.indexOf(fPattern, start);
-            if (i == -1 || i > max)
-                return -1;
-            return i;
-        }
-
-        for (int i = start; i <= max; ++i) {
-            if (text.regionMatches(true, i, fPattern, 0, fLength))
-                return i;
-        }
-
-        return -1;
-    }
-
-    /** 
-     * @param <code>text</code>, a simple regular expression that may only contain '?'(s)
-     * @param <code>start</code>, the starting index in the text for search, inclusive
-     * @param <code>end</code>, the stopping point of search, exclusive
-     * @param <code>p</code>, a simple regular expression that may contains '?'
-     * @param <code>caseIgnored</code>, wether the pattern is not casesensitive
-     * @return the starting index in the text of the pattern , or -1 if not found 
-     */
-    protected int regExpPosIn(String text, int start, int end, String p) {
-        int plen = p.length();
-
-        int max = end - plen;
-        for (int i = start; i <= max; ++i) {
-            if (regExpRegionMatches(text, i, p, 0, plen))
-                return i;
-        }
-        return -1;
-    }
-
-    /**
-     * 
-     * @return boolean
-     * @param <code>text</code>, a String to match
-     * @param <code>start</code>, int that indicates the starting index of match, inclusive
-     * @param <code>end</code> int that indicates the ending index of match, exclusive
-     * @param <code>p</code>, String,  String, a simple regular expression that may contain '?'
-     * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-     */
-    protected boolean regExpRegionMatches(String text, int tStart, String p,
-            int pStart, int plen) {
-        while (plen-- > 0) {
-            char tchar = text.charAt(tStart++);
-            char pchar = p.charAt(pStart++);
-
-            /* process wild cards */
-            if (!fIgnoreWildCards) {
-                /* skip single wild cards */
-                if (pchar == fSingleWildCard) {
-                    continue;
-                }
-            }
-            if (pchar == tchar)
-                continue;
-            if (fIgnoreCase) {
-                if (Character.toUpperCase(tchar) == Character
-                        .toUpperCase(pchar))
-                    continue;
-                // comparing after converting to upper case doesn't handle all cases;
-                // also compare after converting to lower case
-                if (Character.toLowerCase(tchar) == Character
-                        .toLowerCase(pchar))
-                    continue;
-            }
-            return false;
-        }
-        return true;
-    }
-
-    /** 
-     * @param <code>text</code>, the string to match
-     * @param <code>start</code>, the starting index in the text for search, inclusive
-     * @param <code>end</code>, the stopping point of search, exclusive
-     * @param code>p</code>, a string that has no wildcard
-     * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-     * @return the starting index in the text of the pattern , or -1 if not found 
-     */
-    protected int textPosIn(String text, int start, int end, String p) {
-
-        int plen = p.length();
-        int max = end - plen;
-
-        if (!fIgnoreCase) {
-            int i = text.indexOf(p, start);
-            if (i == -1 || i > max)
-                return -1;
-            return i;
-        }
-
-        for (int i = 0; i <= max; ++i) {
-            if (text.regionMatches(true, i, p, 0, plen))
-                return i;
-        }
-
-        return -1;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java
deleted file mode 100644
index c52c87a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/ToggleLinkingAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.navigator;
-
-/**
- * This action toggles whether this navigator links its selection to the active
- * editor.
- * 
- * @since 2.1
- */
-public class ToggleLinkingAction extends ResourceNavigatorAction {
-
-    /**
-     * Constructs a new action.
-     */
-    public ToggleLinkingAction(IResourceNavigator navigator, String label) {
-        super(navigator, label);
-        setChecked(navigator.isLinkingEnabled());
-    }
-
-    /**
-     * Runs the action.
-     */
-    public void run() {
-        getNavigator().setLinkingEnabled(isChecked());
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java
deleted file mode 100644
index a60e2df..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/WorkspaceActionGroup.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.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> - Images for menu items (27481)
- *******************************************************************************/
-package org.eclipse.ui.views.navigator;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.BuildAction;
-import org.eclipse.ui.actions.CloseResourceAction;
-import org.eclipse.ui.actions.OpenResourceAction;
-import org.eclipse.ui.actions.RefreshAction;
-import org.eclipse.ui.ide.IDEActionFactory;
-
-/**
- * This is the action group for workspace actions such as Build, Refresh Local,
- * and Open/Close Project.
- */
-public class WorkspaceActionGroup extends ResourceNavigatorActionGroup {
-
-    private BuildAction buildAction;
-
-    private BuildAction rebuildAction;
-
-    private OpenResourceAction openProjectAction;
-
-    private CloseResourceAction closeProjectAction;
-
-    private RefreshAction refreshAction;
-
-    public WorkspaceActionGroup(IResourceNavigator navigator) {
-        super(navigator);
-    }
-
-    public void fillActionBars(IActionBars actionBars) {
-        actionBars.setGlobalActionHandler(ActionFactory.REFRESH.getId(),
-                refreshAction);
-        actionBars.setGlobalActionHandler(IDEActionFactory.BUILD_PROJECT
-                .getId(), buildAction);
-        actionBars.setGlobalActionHandler(IDEActionFactory.REBUILD_PROJECT
-                .getId(), rebuildAction);
-        actionBars.setGlobalActionHandler(
-                IDEActionFactory.OPEN_PROJECT.getId(), openProjectAction);
-        actionBars.setGlobalActionHandler(IDEActionFactory.CLOSE_PROJECT
-                .getId(), closeProjectAction);
-    }
-
-    /**
-     * Adds the build, open project, close project and refresh resource
-     * actions to the context menu.
-     * <p>
-     * The following conditions apply: 
-     * 	build-only projects selected, auto build disabled, at least one 
-     * 		builder present
-     * 	open project-only projects selected, at least one closed project
-     * 	close project-only projects selected, at least one open project
-     * 	refresh-no closed project selected
-     * </p>
-     * <p>
-     * Both the open project and close project action may be on the menu
-     * at the same time.
-     * </p>
-     * <p>
-     * No disabled action should be on the context menu.
-     * </p>
-     * 
-     * @param menu context menu to add actions to
-     */
-    public void fillContextMenu(IMenuManager menu) {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-        boolean isProjectSelection = true;
-        boolean hasOpenProjects = false;
-        boolean hasClosedProjects = false;
-        boolean hasBuilder = true; // false if any project is closed or does not have builder 
-        Iterator resources = selection.iterator();
-
-        while (resources.hasNext()
-                && (!hasOpenProjects || !hasClosedProjects || hasBuilder || isProjectSelection)) {
-            Object next = resources.next();
-            IProject project = null;
-
-            if (next instanceof IProject)
-                project = (IProject) next;
-            else if (next instanceof IAdaptable)
-                project = (IProject) ((IAdaptable) next)
-                        .getAdapter(IProject.class);
-
-            if (project == null) {
-                isProjectSelection = false;
-                continue;
-            }
-            if (project.isOpen()) {
-                hasOpenProjects = true;
-                if (hasBuilder && !hasBuilder(project))
-                    hasBuilder = false;
-            } else {
-                hasClosedProjects = true;
-                hasBuilder = false;
-            }
-        }
-        if (!selection.isEmpty() && isProjectSelection
-                && !ResourcesPlugin.getWorkspace().isAutoBuilding()
-                && hasBuilder) {
-            // Allow manual incremental build only if auto build is off.
-            buildAction.selectionChanged(selection);
-            menu.add(buildAction);
-        }
-        if (!hasClosedProjects) {
-            refreshAction.selectionChanged(selection);
-            menu.add(refreshAction);
-        }
-        if (isProjectSelection) {
-            if (hasClosedProjects) {
-                openProjectAction.selectionChanged(selection);
-                menu.add(openProjectAction);
-            }
-            if (hasOpenProjects) {
-                closeProjectAction.selectionChanged(selection);
-                menu.add(closeProjectAction);
-            }
-        }
-    }
-
-    /**
-     * Handles a key pressed event by invoking the appropriate action.
-     */
-    public void handleKeyPressed(KeyEvent event) {
-        if (event.keyCode == SWT.F5 && event.stateMask == 0) {
-            if (refreshAction.isEnabled()) {
-                refreshAction.refreshAll();
-            }
-
-            // Swallow the event
-            event.doit = false;
-        }
-    }
-
-    /**
-     * Returns whether there are builders configured on the given project.
-     *
-     * @return <code>true</code> if it has builders,
-     *   <code>false</code> if not, or if this could not be determined
-     */
-    boolean hasBuilder(IProject project) {
-        try {
-            ICommand[] commands = project.getDescription().getBuildSpec();
-            if (commands.length > 0)
-                return true;
-        } catch (CoreException e) {
-            // Cannot determine if project has builders. Project is closed 
-            // or does not exist. Fall through to return false.
-        }
-        return false;
-    }
-
-    protected void makeActions() {
-        Shell shell = navigator.getSite().getShell();
-        openProjectAction = new OpenResourceAction(shell);
-        closeProjectAction = new CloseResourceAction(shell);
-        refreshAction = new RefreshAction(shell);
-        refreshAction
-                .setDisabledImageDescriptor(getImageDescriptor("dlcl16/refresh_nav.gif"));//$NON-NLS-1$
-        refreshAction
-                .setImageDescriptor(getImageDescriptor("elcl16/refresh_nav.gif"));//$NON-NLS-1$	
-        buildAction = new BuildAction(shell,
-                IncrementalProjectBuilder.INCREMENTAL_BUILD);
-        rebuildAction = new BuildAction(shell,
-                IncrementalProjectBuilder.FULL_BUILD);
-    }
-
-    public void updateActionBars() {
-        IStructuredSelection selection = (IStructuredSelection) getContext()
-                .getSelection();
-        refreshAction.selectionChanged(selection);
-        buildAction.selectionChanged(selection);
-        rebuildAction.selectionChanged(selection);
-        openProjectAction.selectionChanged(selection);
-        closeProjectAction.selectionChanged(selection);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties
deleted file mode 100644
index 82cbf69..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/messages.properties
+++ /dev/null
@@ -1,106 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.navigator
-
-
-# ==============================================================================
-# Navigator View
-# ==============================================================================
-ResourceNavigator.title = {0} : {1}
-ResourceNavigator.oneItemSelected = 1 item selected
-ResourceNavigator.statusLine = {0} items selected
-ResourceNavigator.workingSetToolTip = Working Set: {0}
-ResourceNavigator.workingSetInputToolTip = {0} - Working Set: {1}
-ResourceManager.toolTip = Workspace
-ShowInNavigator.errorMessage = Can't open navigator
-
-# --- Actions ---
-ResourceNavigator.sort = &Sort
-SortView.byType = by &Type
-SortView.toolTipByType = Sort By Type
-SortView.byName = by &Name
-SortView.toolTipByName = Sort By Name
-
-ToggleLinkingAction.text = &Link with Editor
-ToggleLinkingAction.toolTip = Link with Editor
-
-ResourceNavigator.filterText = &Filters...
-
-ResourceNavigator.new = Ne&w
-ResourceNavigator.goto = &Go To
-ResourceNavigator.resourceText = &Resource...
-ResourceNavigator.openPerspective = Open &Perspective
-ResourceNavigator.openWith = Open Wit&h
-
-ShowInNavigator.text = Show in &Navigator
-ShowInNavigator.toolTip = Show Selected Objects in Navigator View
-
-CopyAction.title = &Copy
-CopyAction.toolTip = Copy
-
-PasteAction.title=&Paste
-PasteAction.toolTip = Paste
-
-CollapseAllAction.title = Co&llapse All
-CollapseAllAction.toolTip = Collapse All
-
-GoToResource.showNavError=Could not open resource navigator view.
-GoToResource.label=&Resource...
-
-NavigatorFrameSource.closedProject.title=Closed Project
-NavigatorFrameSource.closedProject.message=You attempted to go into a closed project: {0}\nPlease open the project and try again.
-# --- Dialogs ---
-Goto.title = Go To Resource
-Goto.label = Choose a resource:
-Goto.pattern = &Pattern (? = any character, * = any string):
-Goto.matching = &Matching Resources:
-Goto.folders = In &Folders:
-
-FilterSelection.message = Select the &filters to apply (matching files will be hidden):
-FilterSelection.toolTip = Apply Filters
-FilterSelection.title = Navigator Filters
-
-DecoratorMenu.title = &Decorators
-
-# --- Drop Adapter ---
-DropAdapter.sameSourceAndDestination = Source and destination are the same.
-DropAdapter.destinationASubFolder = Destination is a sub-folder of the source.
-DropAdapter.title = Drag and Drop Problem
-DropAdapter.problemImporting = Problems occurred while importing resources.
-DropAdapter.canNotDropOntoSelf = Cannot drop a resource onto itself
-DropAdapter.cancelled = Operation Cancelled
-DropAdapter.problemsMoving = Problems occurred while moving resources.
-DropAdapter.question = Question
-DropAdapter.targetMustBeResource = Target must be a resource
-DropAdapter.canNotDropIntoClosedProject = Cannot drop a resource into closed project
-DropAdapter.resourcesCanNotBeSiblings = Resources cannot be siblings of projects
-DropAdapter.canNotCopy = Cannot copy \"{0}\". {1}
-DropAdapter.canNotMove = Cannot move \"{0}\". {1}
-DropAdapter.ok = ok
-DropAdapter.dropOperationError = An error occurred during the drop operation: {0}
-DropAdapter.overwriteQuery = {0} already exists.  Would you like to overwrite it?
-DropAdapter.copyNameTwoArgs = Copy ({0}) of {1}
-DropAdapter.copyNameOneArg = Copy of {0}
-DropAdapter.dropOperationErrorOther = An error occurred during the drop operation.
-
-DragAdapter.title = Check Move
-DragAdapter.checkMoveMessage = {0} is read only. Do you still wish to move it?
-DragAdapter.checkDeleteMessage = {0} is read only. Do you still wish to delete it?
-
-LocalSelectionTransfer.errorMessage=Received wrong transfer data.
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-MoveResourceAction.title = Check Move
-MoveResourceAction.checkMoveMessage = ''{0}'' is read only. Do you still wish to move it?
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html
deleted file mode 100644
index 35b201e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/navigator/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Resource Navigator view which
-presents the tree of resources in the workspace.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java
deleted file mode 100644
index fee21fe..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/FilePropertySource.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * The FilePropertySource gives the extra information that is shown for files
- */
-public class FilePropertySource extends ResourcePropertySource {
-
-    private static PropertyDescriptor fileDescriptor;
-    {
-        fileDescriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_SIZE_RES,
-                IResourcePropertyConstants.P_DISPLAY_SIZE);
-        fileDescriptor.setAlwaysIncompatible(true);
-        fileDescriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-    }
-
-    /**
-     * Creates an property source for a file resource.
-     * @param file the file resource
-     */
-    public FilePropertySource(IFile file) {
-        super(file);
-    }
-
-    /**
-     * Get a PropertyDescriptor that defines the size property
-     * @return the PropertyDescriptor
-     */
-    private static PropertyDescriptor getInitialPropertyDescriptor() {
-        return fileDescriptor;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource.
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        IPropertyDescriptor[] superDescriptors = super.getPropertyDescriptors();
-        int superLength = superDescriptors.length;
-        IPropertyDescriptor[] fileDescriptors = new IPropertyDescriptor[superLength + 1];
-        System.arraycopy(superDescriptors, 0, fileDescriptors, 0, superLength);
-        fileDescriptors[superLength] = getInitialPropertyDescriptor();
-
-        return fileDescriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource.
-     */
-    public Object getPropertyValue(Object key) {
-
-        Object returnValue = super.getPropertyValue(key);
-
-        if (returnValue != null)
-            return returnValue;
-
-        if (key.equals(IResourcePropertyConstants.P_SIZE_RES))
-            return getSizeString((IFile) element);
-
-        return null;
-    }
-
-    /**
-     * Return a String that indicates the size of the supplied file.
-     */
-    private String getSizeString(IFile file) {
-        if (!file.isLocal(IResource.DEPTH_ZERO))
-            return NOT_LOCAL_TEXT;
-        else {
-            IPath location = file.getLocation();
-            if (location == null) {
-                if (file.isLinked())
-                    return UNDEFINED_PATH_VARIABLE;
-
-                return FILE_NOT_FOUND;
-            } else {
-                File localFile = location.toFile();
-
-                if (localFile.exists()) {
-                    return Long.toString(localFile.length());
-                }
-                return FILE_NOT_FOUND;
-            }
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.java
deleted file mode 100644
index a8d0a6c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IDEPropertiesMessages.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.ui.views.properties;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps manage messages.
- */
-class IDEPropertiesMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.properties.ideMessages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private IDEPropertiesMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.java
deleted file mode 100644
index a70b528..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/IResourcePropertyConstants.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.ui.views.properties;
-
-/**
- * This interface documents the property constants used by the resource
- * property source.
- */
-public interface IResourcePropertyConstants {
-    /** 
-     * The <code>IResource</code> property key for name.
-     */
-    public static final String P_LABEL_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.name"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for path.
-     */
-    public static final String P_PATH_RES = "org.eclipse.ui.path"; //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for display path.
-     */
-    public static final String P_DISPLAYPATH_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.path"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for read-only.
-     */
-    public static final String P_EDITABLE_RES = "org.eclipse.ui.editable"; //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for display read-only.
-     */
-    public static final String P_DISPLAYEDITABLE_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.editable"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for read-only.
-     */
-    public static final String P_DERIVED_RES = "org.eclipse.ui.derived"; //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for display read-only.
-     */
-    public static final String P_DISPLAYDERIVED_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.derived"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for location.
-     */
-    public static final String P_LOCATION_RES = "org.eclipse.ui.location"; //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for display location.
-     */
-    public static final String P_DISPLAYLOCATION_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.location"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for resolved location.
-     */
-    public static final String P_RESOLVED_LOCATION_RES = "org.eclipse.ui.resolvedLocation"; //$NON-NLS-1$,
-
-    /** 
-     * The <code>IResource</code> property key for display resolved location.
-     */
-    public static final String P_DISPLAYRESOLVED_LOCATION_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.resolvedLocation"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for linked.
-     */
-    public static final String P_LINKED_RES = "org.eclipse.ui.linked"; //$NON-NLS-1$,
-
-    /** 
-     * The <code>IResource</code> property key for display linked.
-     */
-    public static final String P_DISPLAYLINKED_RES = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.linked"); //$NON-NLS-1$
-
-    /**
-     * The <code>IResource</code> category for the base values
-     */
-    public static final String P_FILE_SYSTEM_CATEGORY = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.info"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for path.
-     */
-    public static final String P_SIZE_RES = "org.eclipse.ui.size"; //$NON-NLS-1$
-
-    /**
-     * The <code>IResource</code> property key for displaying size
-     */
-    public static final String P_DISPLAY_SIZE = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.size"); //$NON-NLS-1$
-
-    /** 
-     * The <code>IResource</code> property key for path.
-     */
-    public static final String P_LAST_MODIFIED_RES = "org.eclipse.ui.lastmodified"; //$NON-NLS-1$
-
-    /**
-     * The <code>IResource</code> category for last modified
-     */
-    public static final String P_DISPLAY_LAST_MODIFIED = IDEPropertiesMessages
-            .getString("IResourcePropertyConstants.lastModified"); //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java
deleted file mode 100644
index 8d5819c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ResourcePropertySource.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-
-/**
- * A Resource property source.
- */
-public class ResourcePropertySource implements IPropertySource {
-    protected static String NOT_LOCAL_TEXT = IDEPropertiesMessages
-            .getString("PropertySource.notLocal"); //$NON-NLS-1$
-
-    protected static String FILE_NOT_FOUND = IDEPropertiesMessages
-            .getString("PropertySource.notFound"); //$NON-NLS-1$
-
-    protected static String UNDEFINED_PATH_VARIABLE = IDEPropertiesMessages
-            .getString("PropertySource.undefinedPathVariable"); //$NON-NLS-1$
-
-    protected static String FILE_NOT_EXIST_TEXT = IDEPropertiesMessages
-            .getString("PropertySource.fileNotExist"); //$NON-NLS-1$
-
-    // The element for the property source
-    protected IResource element;
-
-    // Error message when setting a property incorrectly
-    protected String errorMessage = IDEPropertiesMessages
-            .getString("PropertySource.readOnly"); //$NON-NLS-1$
-
-    // Property Descriptors
-    static protected IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[7];
-
-    static protected IPropertyDescriptor[] propertyDescriptorsLinkVariable = new IPropertyDescriptor[8];
-    {
-        PropertyDescriptor descriptor;
-
-        // resource name
-        descriptor = new PropertyDescriptor(IBasicPropertyConstants.P_TEXT,
-                IResourcePropertyConstants.P_LABEL_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[0] = descriptor;
-        propertyDescriptorsLinkVariable[0] = descriptor;
-
-        // Relative path
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_PATH_RES,
-                IResourcePropertyConstants.P_DISPLAYPATH_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[1] = descriptor;
-        propertyDescriptorsLinkVariable[1] = descriptor;
-
-        // readwrite state
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_EDITABLE_RES,
-                IResourcePropertyConstants.P_DISPLAYEDITABLE_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[2] = descriptor;
-        propertyDescriptorsLinkVariable[2] = descriptor;
-
-        // derived state
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_DERIVED_RES,
-                IResourcePropertyConstants.P_DISPLAYDERIVED_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[3] = descriptor;
-        propertyDescriptorsLinkVariable[3] = descriptor;
-
-        // last modified state
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_LAST_MODIFIED_RES,
-                IResourcePropertyConstants.P_DISPLAY_LAST_MODIFIED);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[4] = descriptor;
-        propertyDescriptorsLinkVariable[4] = descriptor;
-
-        // link state
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_LINKED_RES,
-                IResourcePropertyConstants.P_DISPLAYLINKED_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[5] = descriptor;
-        propertyDescriptorsLinkVariable[5] = descriptor;
-
-        // location
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_LOCATION_RES,
-                IResourcePropertyConstants.P_DISPLAYLOCATION_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptors[6] = descriptor;
-        propertyDescriptorsLinkVariable[6] = descriptor;
-
-        // resolved location
-        descriptor = new PropertyDescriptor(
-                IResourcePropertyConstants.P_RESOLVED_LOCATION_RES,
-                IResourcePropertyConstants.P_DISPLAYRESOLVED_LOCATION_RES);
-        descriptor.setAlwaysIncompatible(true);
-        descriptor
-                .setCategory(IResourcePropertyConstants.P_FILE_SYSTEM_CATEGORY);
-        propertyDescriptorsLinkVariable[7] = descriptor;
-
-    }
-
-    /**
-     * Creates a PropertySource and stores its IResource
-     *
-     * @param res the resource for which this is a property source
-     */
-    public ResourcePropertySource(IResource res) {
-        this.element = res;
-    }
-
-    /**
-     * Return the value for the date String for the timestamp of the supplied resource.
-     * @return String
-     * @param IResource - the resource to query
-     */
-    private String getDateStringValue(IResource resource) {
-
-        if (!resource.isLocal(IResource.DEPTH_ZERO))
-            return NOT_LOCAL_TEXT;
-
-        IPath location = resource.getLocation();
-        if (location == null) {
-            if (resource.isLinked())
-                return UNDEFINED_PATH_VARIABLE;
-
-            return FILE_NOT_FOUND;
-        } else {
-            File localFile = location.toFile();
-            if (localFile.exists()) {
-                DateFormat format = new SimpleDateFormat();
-                return format.format(new Date(localFile.lastModified()));
-            }
-            return FILE_NOT_FOUND;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource.
-     */
-    public Object getEditableValue() {
-        return this;
-    }
-
-    /**
-     * Get the location of a resource
-     */
-    private String getLocationText(IResource resource) {
-        if (!resource.isLocal(IResource.DEPTH_ZERO))
-            return NOT_LOCAL_TEXT;
-
-        IPath resolvedLocation = resource.getLocation();
-        IPath location = resolvedLocation;
-        if (resource.isLinked()) {
-            location = resource.getRawLocation();
-        }
-        if (location == null) {
-            return FILE_NOT_FOUND;
-        } else {
-            String locationString = location.toOSString();
-            if (resolvedLocation != null && !isPathVariable(resource)) {
-                // No path variable used. Display the file not exist message 
-                // in the location. Fixes bug 33318. 
-                File file = resolvedLocation.toFile();
-                if (!file.exists()) {
-                    locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-                }
-            }
-            return locationString;
-        }
-    }
-
-    /**
-     * Get the resolved location of a resource.
-     * This resolves path variables if present in the resource path.
-     */
-    private String getResolvedLocationText(IResource resource) {
-        if (!resource.isLocal(IResource.DEPTH_ZERO))
-            return NOT_LOCAL_TEXT;
-
-        IPath location = resource.getLocation();
-        if (location == null) {
-            if (resource.isLinked())
-                return UNDEFINED_PATH_VARIABLE;
-
-            return FILE_NOT_FOUND;
-        } else {
-            String locationString = location.toOSString();
-            File file = location.toFile();
-
-            if (!file.exists()) {
-                locationString += " " + FILE_NOT_EXIST_TEXT; //$NON-NLS-1$ 
-            }
-            return locationString;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource.
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        if (isPathVariable(element))
-            return propertyDescriptorsLinkVariable;
-        else
-            return propertyDescriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource.
-     */
-    public Object getPropertyValue(Object name) {
-        if (name.equals(IBasicPropertyConstants.P_TEXT)) {
-            return element.getName();
-        }
-        if (name.equals(IResourcePropertyConstants.P_PATH_RES)) {
-            return element.getFullPath().toString();
-        }
-        if (name.equals(IResourcePropertyConstants.P_LAST_MODIFIED_RES)) {
-            return getDateStringValue(element);
-        }
-        if (name.equals(IResourcePropertyConstants.P_EDITABLE_RES)) {
-            if (element.isReadOnly())
-                return IDEPropertiesMessages
-                        .getString("ResourceProperty.false"); //$NON-NLS-1$
-            else
-                return IDEPropertiesMessages.getString("ResourceProperty.true"); //$NON-NLS-1$
-        }
-        if (name.equals(IResourcePropertyConstants.P_DERIVED_RES)) {
-            return String.valueOf(element.isDerived());
-        }
-        if (name.equals(IResourcePropertyConstants.P_LINKED_RES)) {
-            return String.valueOf(element.isLinked());
-        }
-        if (name.equals(IResourcePropertyConstants.P_LOCATION_RES)) {
-            return getLocationText(element);
-        }
-        if (name.equals(IResourcePropertyConstants.P_RESOLVED_LOCATION_RES)) {
-            return getResolvedLocationText(element);
-        }
-        return null;
-    }
-
-    /**
-     * Returns whether the given resource is a linked resource bound 
-     * to a path variable.
-     * 
-     * @param resource resource to test
-     * @return boolean <code>true</code> the given resource is a linked 
-     * 	resource bound to a path variable. <code>false</code> the given 
-     * 	resource is either not a linked resource or it is not using a
-     * 	path variable.  
-     */
-    private boolean isPathVariable(IResource resource) {
-        if (!resource.isLinked())
-            return false;
-
-        IPath resolvedLocation = resource.getLocation();
-        if (resolvedLocation == null) {
-            // missing path variable
-            return true;
-        }
-        IPath rawLocation = resource.getRawLocation();
-        if (resolvedLocation.equals(rawLocation))
-            return false;
-
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource.
-     */
-    public boolean isPropertySet(Object property) {
-        return false;
-    }
-
-    /**
-     * The <code>ResourcePropertySource</code> implementation of this
-     * <code>IPropertySource</code> method does nothing since all
-     * properties are read-only.
-     */
-    public void resetPropertyValue(Object property) {
-    }
-
-    /**
-     * The <code>ResourcePropertySource</code> implementation of this
-     * <code>IPropertySource</code> method does nothing since all
-     * properties are read-only.
-     */
-    public void setPropertyValue(Object name, Object value) {
-    }
-
-    /** 
-     * Get the java.io.File equivalent of the passed
-     * IFile. If the location does not exist then return
-     * <code>null</code>
-     * @param resource the resource to lookup
-     * @return java.io.File or <code>null</code>.
-     */
-    protected File getFile(IResource resource) {
-        IPath location = resource.getLocation();
-        if (location == null)
-            return null;
-        else
-            return location.toFile();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties
deleted file mode 100644
index 58bb62b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/properties/ideMessages.properties
+++ /dev/null
@@ -1,36 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.views.properties
-
-# ==============================================================================
-# Properties View - IDE-specific strings
-# ==============================================================================
-
-PropertyViewer.misc = Misc
-PropertySource.notLocal = <not local>
-PropertySource.notFound = <resource does not exist>
-PropertySource.readOnly = Read only
-PropertySource.undefinedPathVariable = <undefined path variable>
-PropertySource.fileNotExist = - (does not exist)
-
-IResourcePropertyConstants.name = name
-IResourcePropertyConstants.path = path
-IResourcePropertyConstants.editable = editable
-IResourcePropertyConstants.derived = derived
-IResourcePropertyConstants.size = size
-IResourcePropertyConstants.lastModified = last modified
-IResourcePropertyConstants.info = Info
-IResourcePropertyConstants.location = location
-IResourcePropertyConstants.resolvedLocation = resolved location
-IResourcePropertyConstants.linked = linked
-ResourceProperty.false = false
-ResourceProperty.true = true
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java
deleted file mode 100644
index 2fd8e31..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/CopyTaskAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Copies a task to the clipboard.
- */
-class CopyTaskAction extends TaskAction {
- 
-	/**
-     * Creates the action.
-	 * @param tasklist the task list
-	 * @param id the id
-     */
-    public CopyTaskAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				ITaskListHelpContextIds.COPY_TASK_ACTION);
-    }
-
-    /**
-     * Performs this action.
-     */
-    public void run() {
-        // Get the selected markers
-        TaskList taskList = getTaskList();
-        TableViewer viewer = taskList.getTableViewer();
-        IStructuredSelection selection = (IStructuredSelection) viewer
-                .getSelection();
-        if (selection.isEmpty()) {
-            return;
-        }
-        taskList.cancelEditing();
-        List list = selection.toList();
-        IMarker[] markers = new IMarker[list.size()];
-        list.toArray(markers);
-
-        setClipboard(markers, TaskList.createMarkerReport(markers));
-
-        //Update paste enablement
-        taskList.updatePasteEnablement();
-    }
-
-    private void setClipboard(IMarker[] markers, String markerReport) {
-        try {
-            // Place the markers on the clipboard
-            Object[] data = new Object[] { markers, markerReport };
-            Transfer[] transferTypes = new Transfer[] {
-                    MarkerTransfer.getInstance(), TextTransfer.getInstance() };
-
-            // set the clipboard contents
-            getTaskList().getClipboard().setContents(data, transferTypes);
-        } catch (SWTError e) {
-            if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-                throw e;
-            if (MessageDialog
-                    .openQuestion(
-                            getShell(),
-                            TaskListMessages
-                                    .getString("CopyToClipboardProblemDialog.title"), TaskListMessages.getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$ //$NON-NLS-2$
-                setClipboard(markers, markerReport);
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java
deleted file mode 100644
index 6912a04..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/DefaultTaskListResourceAdapter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * The DefaultTaskListResourceAdapter is the default
- * implementation of the ITaskListResourceAdapter used by the
- * TaskList for resource adaption.
- */
-class DefaultTaskListResourceAdapter implements ITaskListResourceAdapter {
-
-    private static ITaskListResourceAdapter singleton;
-
-    /**
-     * Constructor for DefaultTaskListResourceAdapter.
-     */
-    DefaultTaskListResourceAdapter() {
-        super();
-    }
-
-    /**
-     * Return the default instance used for TaskList adapting.
-     */
-    static ITaskListResourceAdapter getDefault() {
-        if (singleton == null)
-            singleton = new DefaultTaskListResourceAdapter();
-        return singleton;
-    }
-
-    /*
-     * @see ITaskListResourceAdapter#getAffectedResource(IAdaptable)
-     */
-    public IResource getAffectedResource(IAdaptable adaptable) {
-
-        IResource resource = (IResource) adaptable.getAdapter(IResource.class);
-        if (resource == null)
-            return (IFile) adaptable.getAdapter(IFile.class);
-        else
-            return resource;
-
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.java
deleted file mode 100644
index 71e9091..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersAction.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.ui.views.tasklist;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action opens an editor for the resource
- * associated with the selected marker, and
- * jumps to the marker's location in the editor.
- */
-class FiltersAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public FiltersAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				ITaskListHelpContextIds.FILTERS_ACTION);
-    }
-
-    /**
-     * Performs this action.
-     */
-    public void run() {
-        FiltersDialog dialog = new FiltersDialog(getShell());
-        TasksFilter filter = getTaskList().getFilter();
-        dialog.setFilter(filter);
-        int result = dialog.open();
-        if (result == Window.OK) {
-            getTaskList().filterChanged();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java
deleted file mode 100644
index 2462c48..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/FiltersDialog.java
+++ /dev/null
@@ -1,979 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.MessageBox;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-class FiltersDialog extends Dialog {
-    /**
-     * ID for the Reset button
-     */
-    static final int RESET_ID = IDialogConstants.CLIENT_ID;
-
-    static final int SELECT_ID = IDialogConstants.CLIENT_ID + 1;
-
-    private static class EnumValue {
-        private int value;
-
-        private String text;
-
-        private Image image;
-
-        EnumValue(int value, String text, Image image) {
-            this.value = value;
-            this.text = text;
-            this.image = image;
-        }
-
-        int getValue() {
-            return value;
-        }
-
-        String getText() {
-            return text;
-        }
-
-        Image getImage() {
-            return image;
-        }
-    }
-
-    private static class EnumType {
-        private EnumValue[] values;
-
-        EnumType(EnumValue[] values) {
-            this.values = values;
-        }
-
-        EnumValue[] getValues() {
-            return values;
-        }
-    }
-
-    private EnumType severityType;
-
-    private EnumType priorityType;
-
-    private EnumType completionType;
-
-    private class CheckboxEnumGroup {
-        private EnumType type;
-
-        private Button enableButton;
-
-        private Button[] valueButtons;
-
-        CheckboxEnumGroup(Composite parent, String text, EnumType type) {
-            this.type = type;
-            // although not needed for layout, this composite is needed to get the tab order right
-            Composite enableComposite = new Composite(parent, SWT.NONE);
-            enableComposite
-                    .setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            enableComposite.setLayout(new FillLayout());
-            enableButton = new Button(enableComposite, SWT.CHECK);
-            enableButton.addSelectionListener(selectionListener);
-            enableButton.setText(text);
-            Composite valueComposite = new Composite(parent, SWT.NONE);
-            valueComposite
-                    .setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-            valueComposite.setLayout(new FillLayout());
-            EnumValue[] values = type.getValues();
-            valueButtons = new Button[values.length];
-            for (int i = 0; i < values.length; ++i) {
-                Button valueButton = new Button(valueComposite, SWT.CHECK);
-                valueButton.setText(values[i].getText());
-                valueButtons[i] = valueButton;
-            }
-        }
-
-        boolean getEnabled() {
-            return enableButton.getEnabled();
-        }
-
-        void setEnabled(boolean enabled) {
-            enableButton.setEnabled(enabled);
-            updateEnabledState();
-        }
-
-        boolean getSelection() {
-            return enableButton.getSelection();
-        }
-
-        void setSelection(boolean selected) {
-            enableButton.setSelection(selected);
-            updateEnabledState();
-        }
-
-        void updateEnabledState() {
-            boolean enabled = enableButton.isEnabled()
-                    && enableButton.getSelection();
-            for (int i = 0; i < valueButtons.length; ++i) {
-                valueButtons[i].setEnabled(enabled);
-            }
-        }
-
-        int getValueMask() {
-            int mask = 0;
-            EnumValue[] values = type.getValues();
-            for (int i = 0; i < valueButtons.length; ++i) {
-                if (valueButtons[i].getSelection()) {
-                    mask |= (1 << values[i].getValue());
-                }
-            }
-            return mask;
-        }
-
-        void setValueMask(int mask) {
-            EnumValue[] values = type.getValues();
-            for (int i = 0; i < values.length; ++i) {
-                valueButtons[i]
-                        .setSelection((mask & (1 << values[i].getValue())) != 0);
-            }
-        }
-    }
-
-    private class LabelComboTextGroup {
-        Label label;
-
-        Combo combo;
-
-        Text text;
-
-        LabelComboTextGroup(Composite parent, String labelText,
-                String[] comboStrings, String initialText, int widthHint) {
-            Font font = parent.getFont();
-            Composite group = new Composite(parent, SWT.NONE);
-            GridLayout layout = new GridLayout();
-            layout.numColumns = 3;
-            //Set the margin width to 0 in order to line up with other items
-            layout.marginWidth = 0;
-            group.setLayout(layout);
-            group.setFont(font);
-            label = new Label(group, SWT.NONE);
-            label.setText(labelText);
-            label.setFont(font);
-            combo = createCombo(group, comboStrings, 0);
-            text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-            GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-            gridData.widthHint = widthHint;
-            text.setLayoutData(gridData);
-            text.setFont(font);
-            text.setText(initialText);
-        }
-    }
-
-    /**
-     * Creates and manages a group of widgets for selecting a working 
-     * set task filter.
-     */
-    private class WorkingSetGroup {
-        private Button button;
-
-        /**
-         * Creates the working set filter selection widgets.
-         * 
-         * @param parent the parent composite of the working set widgets
-         */
-        WorkingSetGroup(Composite parent) {
-            // radio button has to be part of main radio button group
-            button = createRadioButton(parent, TaskListMessages
-                    .getString("TaskList.noWorkingSet")); //$NON-NLS-1$
-            GridData data = new GridData(GridData.FILL_HORIZONTAL);
-            button.setLayoutData(data);
-
-            Composite composite = new Composite(parent, SWT.NONE);
-            composite.setFont(parent.getFont());
-            GridLayout layout = new GridLayout();
-            Button radio = new Button(parent, SWT.RADIO);
-            layout.marginWidth = radio.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-            layout.marginHeight = 0;
-            radio.dispose();
-            composite.setLayout(layout);
-            createButton(composite, SELECT_ID, TaskListMessages
-                    .getString("TaskList.workingSetSelect"), false); //$NON-NLS-1$
-        }
-
-        /**
-         * Returns wether or not a working set filter should be used
-         * 
-         * @return 
-         * 	true=a working set filter should be used
-         * 	false=a working set filter should not be used
-         */
-        boolean getSelection() {
-            return button.getSelection();
-        }
-
-        /**
-         * Returns the selected working set filter or null if none 
-         * is selected.
-         * 
-         * @return the selected working set filter or null if none 
-         * 	is selected.
-         */
-        IWorkingSet getWorkingSet() {
-            return (IWorkingSet) button.getData();
-        }
-
-        /**
-         * Sets the working set filter selection.
-         * 
-         * @param selected true=a working set filter should be used
-         * 	false=no working set filter should be used
-         */
-        void setSelection(boolean selected) {
-            button.setSelection(selected);
-            if (selected) {
-                anyResourceButton.setSelection(false);
-                anyResourceInSameProjectButton.setSelection(false);
-                selectedResourceButton.setSelection(false);
-                selectedResourceAndChildrenButton.setSelection(false);
-            }
-        }
-
-        /**
-         * Opens the working set selection dialog.
-         */
-        void selectPressed() {
-            IWorkingSetSelectionDialog dialog = PlatformUI.getWorkbench()
-                    .getWorkingSetManager().createWorkingSetSelectionDialog(
-                            getShell(), false);
-            IWorkingSet workingSet = getWorkingSet();
-
-            if (workingSet != null) {
-                dialog.setSelection(new IWorkingSet[] { workingSet });
-            }
-            if (dialog.open() == Window.OK) {
-                IWorkingSet[] result = dialog.getSelection();
-                if (result != null && result.length > 0) {
-                    setWorkingSet(result[0]);
-                } else {
-                    setWorkingSet(null);
-                }
-                if (getSelection() == false) {
-                    setSelection(true);
-                }
-            }
-        }
-
-        /**
-         * Sets the specified working set.
-         * 
-         * @param workingSet the working set 
-         */
-        void setWorkingSet(IWorkingSet workingSet) {
-            button.setData(workingSet);
-            if (workingSet != null) {
-                button.setText(TaskListMessages.format("TaskList.workingSet", //$NON-NLS-1$
-                        new Object[] { workingSet.getName() }));
-            } else {
-                button.setText(TaskListMessages
-                        .getString("TaskList.noWorkingSet")); //$NON-NLS-1$
-            }
-        }
-    }
-
-    private TasksFilter filter;
-
-    MarkerTypesModel markerTypesModel = new MarkerTypesModel();
-
-    private MarkerType[] markerTypes;
-
-    private CheckboxTreeViewer typesViewer;
-
-    Button anyResourceButton;
-
-    Button anyResourceInSameProjectButton; // added by cagatayk@acm.org
-
-    Button selectedResourceButton;
-
-    Button selectedResourceAndChildrenButton;
-
-    private WorkingSetGroup workingSetGroup;
-
-    private LabelComboTextGroup descriptionGroup;
-
-    private CheckboxEnumGroup severityGroup;
-
-    private CheckboxEnumGroup priorityGroup;
-
-    private CheckboxEnumGroup completionGroup;
-
-    private Button filterOnMarkerLimit;
-
-    private Text markerLimit;
-
-    SelectionListener selectionListener = new SelectionAdapter() {
-        public void widgetSelected(SelectionEvent e) {
-            FiltersDialog.this.widgetSelected(e);
-        }
-    };
-
-    private ICheckStateListener checkStateListener = new ICheckStateListener() {
-        public void checkStateChanged(CheckStateChangedEvent event) {
-            FiltersDialog.this.checkStateChanged(event);
-        }
-    };
-
-    /**
-     * Creates a new filters dialog.
-     * 
-     * @param parentShell the parent shell
-     */
-    public FiltersDialog(Shell parentShell) {
-        super(parentShell);
-        initTypes();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected void buttonPressed(int buttonId) {
-        if (RESET_ID == buttonId) {
-            resetPressed();
-        } else if (SELECT_ID == buttonId) {
-            workingSetGroup.selectPressed();
-        } else {
-            super.buttonPressed(buttonId);
-        }
-    }
-
-    /**
-     * Check state change.
-     * 
-     * @param event the event
-     */
-    public void checkStateChanged(CheckStateChangedEvent event) {
-        MarkerType type = (MarkerType) event.getElement();
-        typesViewer.setSubtreeChecked(type, event.getChecked());
-        MarkerType[] allSupertypes = type.getAllSupertypes();
-        for (int i = 0; i < allSupertypes.length; ++i) {
-            typesViewer.setChecked(allSupertypes[i], false);
-        }
-        updateEnabledState();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText(TaskListMessages.getString("TaskList.filter")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-				ITaskListHelpContextIds.FILTERS_DIALOG);
-    }
-
-    /**
-     * Creates the area showing filtering criteria on attribute values.
-     *
-     * @param parent the parent composite
-     */
-    void createAttributesArea(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        composite.setFont(parent.getFont());
-
-        String[] filters = {
-                TaskListMessages.getString("TaskList.contains"), TaskListMessages.getString("TaskList.doesNotContain") }; //$NON-NLS-2$ //$NON-NLS-1$
-        descriptionGroup = new LabelComboTextGroup(composite, TaskListMessages
-                .getString("TaskList.whereDescription"), filters, "", 200);//$NON-NLS-2$ //$NON-NLS-1$
-        severityGroup = new CheckboxEnumGroup(composite, TaskListMessages
-                .getString("TaskList.severity.label"), severityType); //$NON-NLS-1$
-        priorityGroup = new CheckboxEnumGroup(composite, TaskListMessages
-                .getString("TaskList.priority.label"), priorityType); //$NON-NLS-1$
-        completionGroup = new CheckboxEnumGroup(composite, TaskListMessages
-                .getString("TaskList.status.label"), completionType); //$NON-NLS-1$
-    }
-
-    void createResetArea(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-
-        Button reset = new Button(composite, SWT.PUSH);
-        reset.setText(TaskListMessages.getString("TaskList.resetText")); //$NON-NLS-1$
-        reset.setData(new Integer(RESET_ID));
-
-        reset.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                buttonPressed(((Integer) event.widget.getData()).intValue());
-            }
-        });
-
-        reset.setFont(composite.getFont());
-        setButtonLayoutData(reset);
-    }
-
-    /**
-     * Creates a check box button with the given parent and text.
-     *
-     * @param parent the parent composite
-     * @param text the text for the check box
-     * @param grabRow <code>true</code>to grab the remaining horizontal space, <code>false</code> otherwise
-     * @return the check box button
-     */
-    Button createCheckbox(Composite parent, String text, boolean grabRow) {
-        Button button = new Button(parent, SWT.CHECK);
-        if (grabRow) {
-            GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-            button.setLayoutData(gridData);
-        }
-        button.setText(text);
-        button.addSelectionListener(selectionListener);
-        button.setFont(parent.getFont());
-        return button;
-    }
-
-    /**
-     * Creates a combo box with the given parent, items, and selection
-     *
-     * @param parent the parent composite
-     * @param items the items for the combo box
-     * @param selectionIndex the index of the item to select
-     * @return the combo box
-     */
-    Combo createCombo(Composite parent, String[] items, int selectionIndex) {
-        Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-        combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        combo.setFont(parent.getFont());
-        combo.setItems(items);
-        combo.select(selectionIndex);
-        combo.addSelectionListener(selectionListener);
-        return combo;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        createMarkerLimitArea(composite);
-        createTypesArea(composite);
-        createResourceArea(composite);
-        createAttributesArea(composite);
-        createResetArea(composite);
-        createSeparatorLine(composite);
-
-        updateUIFromFilter(getFilter());
-
-        return composite;
-    }
-
-    /**
-     * Creates a separator line above the OK/Cancel buttons bar
-     * 
-     * @param parent the parent composite
-     */
-    void createSeparatorLine(Composite parent) {
-        // Build the separator line
-        Label separator = new Label(parent, SWT.HORIZONTAL | SWT.SEPARATOR);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalSpan = 1;
-        separator.setLayoutData(gd);
-    }
-
-    /**
-     * Creates a radio button with the given parent and text.
-     *
-     * @param parent the parent composite
-     * @param text the text for the check box
-     * @return the radio box button
-     */
-    Button createRadioButton(Composite parent, String text) {
-        Button button = new Button(parent, SWT.RADIO);
-        button.setText(text);
-        button.setFont(parent.getFont());
-        button.addSelectionListener(selectionListener);
-        return button;
-    }
-
-    /**
-     * Creates the area showing which resources should be considered.
-     *
-     * @param parent the parent composite
-     */
-    void createResourceArea(Composite parent) {
-        Composite group = new Composite(parent, SWT.NONE);
-        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        group.setLayout(new GridLayout());
-        group.setFont(parent.getFont());
-        anyResourceButton = createRadioButton(group, TaskListMessages
-                .getString("TaskList.anyResource")); //$NON-NLS-1$
-        anyResourceInSameProjectButton = createRadioButton(group,
-                TaskListMessages.getString("TaskList.anyResourceInSameProject")); //$NON-NLS-1$ // added by cagatayk@acm.org
-        selectedResourceButton = createRadioButton(group, TaskListMessages
-                .getString("TaskList.selectedResource")); //$NON-NLS-1$
-        selectedResourceAndChildrenButton = createRadioButton(group,
-                TaskListMessages.getString("TaskList.selectedAndChildren")); //$NON-NLS-1$
-        workingSetGroup = new WorkingSetGroup(group);
-    }
-
-    /**
-     * Creates the area showing which marker types should be included.
-     *
-     * @param parent the parent composite
-     */
-    void createTypesArea(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        GridLayout layout = new GridLayout();
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(TaskListMessages.getString("TaskList.showItemsOfType")); //$NON-NLS-1$
-
-        typesViewer = new CheckboxTreeViewer(composite);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        gridData.heightHint = 100;
-        typesViewer.getControl().setLayoutData(gridData);
-        typesViewer.setContentProvider(getContentProvider());
-        typesViewer.setLabelProvider(getLabelProvider());
-        typesViewer.setSorter(getSorter());
-        typesViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
-        typesViewer.addCheckStateListener(checkStateListener);
-        typesViewer.setInput(getMarkerTypes());
-    }
-
-    ITreeContentProvider getContentProvider() {
-        return new ITreeContentProvider() {
-            public void inputChanged(Viewer viewer, Object oldInput,
-                    Object newInput) {
-            }
-
-            public void dispose() {
-            }
-
-            public Object[] getElements(Object inputElement) {
-                return new Object[] {
-                        markerTypesModel.getType(IMarker.PROBLEM),
-                        markerTypesModel.getType(IMarker.TASK) };
-            }
-
-            public Object[] getChildren(Object parentElement) {
-                MarkerType type = (MarkerType) parentElement;
-                return type.getSubtypes();
-            }
-
-            public Object getParent(Object element) {
-                return null;
-            }
-
-            public boolean hasChildren(Object element) {
-                return getChildren(element).length > 0;
-            }
-        };
-    }
-
-    void createMarkerLimitArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        composite.setFont(font);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        filterOnMarkerLimit = createCheckbox(composite, TaskListMessages
-                .getString("TaskList.limitVisibleTasksTo"), false); //$NON-NLS-1$
-        filterOnMarkerLimit.setLayoutData(new GridData());
-        markerLimit = new Text(composite, SWT.SINGLE | SWT.BORDER);
-        markerLimit.setTextLimit(6);
-        GridData gridData = new GridData();
-        gridData.widthHint = convertWidthInCharsToPixels(10);
-        markerLimit.setLayoutData(gridData);
-        markerLimit.setFont(font);
-    }
-
-    /**
-     * Returns the filter which this dialog is configuring.
-     *
-     * @return the filter
-     */
-    public TasksFilter getFilter() {
-        if (filter == null)
-            filter = new TasksFilter();
-        return filter;
-    }
-
-    ILabelProvider getLabelProvider() {
-        return new LabelProvider() {
-            public String getText(Object element) {
-                MarkerType type = (MarkerType) element;
-                return type.getLabel();
-            }
-        };
-    }
-
-    /**
-     * Returns the marker types to display.
-     *
-     * @return the marker types to display
-     */
-    MarkerType[] getMarkerTypes() {
-        if (markerTypes == null) {
-            ArrayList typesList = new ArrayList();
-            MarkerType[] types = markerTypesModel.getTypes();
-            for (int i = 0; i < types.length; ++i) {
-                MarkerType type = types[i];
-                if (type.getLabel().length() > 0) {
-                    if (type.isSubtypeOf(markerTypesModel
-                            .getType(IMarker.PROBLEM))
-                            || type.isSubtypeOf(markerTypesModel
-                                    .getType(IMarker.TASK))) {
-                        typesList.add(type);
-                    }
-                }
-            }
-            Collections.sort(typesList, new Comparator() {
-                Collator collator = Collator.getInstance();
-
-                public int compare(Object o1, Object o2) {
-                    return collator.compare(((MarkerType) o1).getLabel(),
-                            ((MarkerType) o2).getLabel());
-                }
-            });
-            markerTypes = new MarkerType[typesList.size()];
-            typesList.toArray(markerTypes);
-        }
-        return markerTypes;
-    }
-
-    /**
-     * Returns the ids of the selected marker types.
-     *
-     * @return the ids of the selected marker types
-     */
-    String[] getSelectedTypes() {
-        Object[] checked = typesViewer.getCheckedElements();
-        ArrayList list = new ArrayList();
-        for (int i = 0; i < checked.length; ++i) {
-            MarkerType type = (MarkerType) checked[i];
-            // Skip it if any supertypes have already been included.
-            // Relies on getCheckedElements() using a pre-order traversal 
-            // so parents are earlier in the list.
-            boolean found = false;
-            for (int j = list.size(); --j >= 0;) {
-                if (type.isSubtypeOf((MarkerType) list.get(j))) {
-                    found = true;
-                    break;
-                }
-            }
-            if (!found) {
-                list.add(type);
-            }
-        }
-        String[] types = new String[list.size()];
-        for (int i = 0; i < list.size(); ++i) {
-            types[i] = ((MarkerType) list.get(i)).getId();
-        }
-        return types;
-    }
-
-    ViewerSorter getSorter() {
-        return new ViewerSorter() {
-            public int compare(Viewer viewer, Object e1, Object e2) {
-                MarkerType t1 = (MarkerType) e1;
-                MarkerType t2 = (MarkerType) e2;
-                return collator.compare(t1.getLabel(), t2.getLabel());
-            }
-        };
-    }
-
-    /**
-     * Returns the id of the marker type at the given index
-     *
-     * @param typeIndex the index of the marker type in the UI list
-     * @return the id of the marker type at the given index
-     */
-    String getTypeId(int typeIndex) {
-        return getMarkerTypes()[typeIndex].getId();
-    }
-
-    /**
-     * Returns the index of the given marker type
-     *
-     * @param markerType the marker type id
-     * @return the index of the marker type
-     */
-    int getTypeIndex(String markerType) {
-        MarkerType[] types = getMarkerTypes();
-        for (int i = 0; i < types.length; ++i) {
-            String id = types[i].getId();
-            if (id == null ? markerType == null : id.equals(markerType))
-                return i;
-        }
-        return -1;
-    }
-
-    void initTypes() {
-        severityType = new EnumType(
-                new EnumValue[] {
-                        new EnumValue(
-                                IMarker.SEVERITY_ERROR,
-                                TaskListMessages
-                                        .getString("TaskList.severity.error"), MarkerUtil.getImage("error")),//$NON-NLS-2$ //$NON-NLS-1$
-                        new EnumValue(
-                                IMarker.SEVERITY_WARNING,
-                                TaskListMessages
-                                        .getString("TaskList.severity.warning"), MarkerUtil.getImage("warn")),//$NON-NLS-2$ //$NON-NLS-1$
-                        new EnumValue(
-                                IMarker.SEVERITY_INFO,
-                                TaskListMessages
-                                        .getString("TaskList.severity.info"), MarkerUtil.getImage("info")) //$NON-NLS-2$ //$NON-NLS-1$
-                });
-
-        priorityType = new EnumType(
-                new EnumValue[] {
-                        new EnumValue(
-                                IMarker.PRIORITY_HIGH,
-                                TaskListMessages
-                                        .getString("TaskList.priority.high"), MarkerUtil.getImage("hprio")),//$NON-NLS-2$ //$NON-NLS-1$
-                        new EnumValue(IMarker.PRIORITY_NORMAL, TaskListMessages
-                                .getString("TaskList.priority.normal"), null), //$NON-NLS-1$
-                        new EnumValue(
-                                IMarker.PRIORITY_LOW,
-                                TaskListMessages
-                                        .getString("TaskList.priority.low"), MarkerUtil.getImage("lprio")) //$NON-NLS-2$ //$NON-NLS-1$
-                });
-
-        completionType = new EnumType(new EnumValue[] {
-                new EnumValue(1, TaskListMessages
-                        .getString("TaskList.status.completed"), null), //$NON-NLS-1$
-                new EnumValue(0, TaskListMessages
-                        .getString("TaskList.status.notCompleted"), null) //$NON-NLS-1$
-                });
-    }
-
-    /**
-     * Updates the filter from the UI state.
-     * Must be done here rather than by extending open()
-     * because after super.open() is called, the widgetry is disposed.
-     */
-    protected void okPressed() {
-        try {
-            int parseResult = Integer.parseInt(this.markerLimit.getText());
-
-            if (parseResult < 1) {
-                throw new NumberFormatException();
-            }
-
-            updateFilterFromUI(getFilter());
-            super.okPressed();
-        } catch (NumberFormatException eNumberFormat) {
-            MessageBox messageBox = new MessageBox(getShell(), SWT.OK
-                    | SWT.APPLICATION_MODAL | SWT.ICON_ERROR);
-            messageBox.setText(TaskListMessages
-                    .getString("TaskList.titleMarkerLimitInvalid")); //$NON-NLS-1$
-            messageBox.setMessage(TaskListMessages
-                    .getString("TaskList.messageMarkerLimitInvalid")); //$NON-NLS-1$
-            messageBox.open();
-
-            if (markerLimit.forceFocus()) {
-                markerLimit.setSelection(0, markerLimit.getCharCount());
-                markerLimit.showSelection();
-            }
-        }
-    }
-
-    /**
-     * Handles a press of the Reset button.
-     * Updates the UI state to correspond to a reset filter,
-     * but doesn't actually reset our filter.
-     */
-    void resetPressed() {
-        updateUIFromFilter(new TasksFilter());
-    }
-
-    /**
-     * Returns whether any of the selected types are a subtype of the given type.
-     */
-    boolean selectionIncludesSubtypeOf(String type) {
-        MarkerType superType = markerTypesModel.getType(type);
-        if (superType == null) {
-            return false;
-        }
-        Object[] checked = typesViewer.getCheckedElements();
-        for (int i = 0; i < checked.length; ++i) {
-            if (((MarkerType) checked[i]).isSubtypeOf(superType)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Sets the filter which this dialog is to configure.
-     *
-     * @param filter the filter
-     */
-    public void setFilter(TasksFilter filter) {
-        this.filter = filter;
-    }
-
-    /**
-     * Sets the selected marker types.
-     *
-     * @param typeIds the ids of the marker types to select
-     */
-    void setSelectedTypes(String[] typeIds) {
-        typesViewer.setCheckedElements(new MarkerType[0]);
-        for (int i = 0; i < typeIds.length; ++i) {
-            MarkerType type = markerTypesModel.getType(typeIds[i]);
-            if (type != null) {
-                typesViewer.setSubtreeChecked(type, true);
-            }
-        }
-    }
-
-    /**
-     * Updates the enabled state of the widgetry.
-     */
-    void updateEnabledState() {
-        markerLimit.setEnabled(filterOnMarkerLimit.getSelection());
-        boolean isProblemSelected = selectionIncludesSubtypeOf(IMarker.PROBLEM);
-        boolean isTaskSelected = selectionIncludesSubtypeOf(IMarker.TASK);
-        severityGroup.setEnabled(isProblemSelected);
-        priorityGroup.setEnabled(isTaskSelected);
-        completionGroup.setEnabled(isTaskSelected);
-    }
-
-    /**
-     * Updates the given filter from the UI state.
-     *
-     * @param tasksFilter the filter to update
-     */
-    void updateFilterFromUI(TasksFilter tasksFilter) {
-
-        tasksFilter.types = getSelectedTypes();
-
-        if (selectedResourceButton.getSelection())
-            tasksFilter.onResource = TasksFilter.ON_SELECTED_RESOURCE_ONLY;
-        else if (selectedResourceAndChildrenButton.getSelection())
-            tasksFilter.onResource = TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN;
-        else if (anyResourceInSameProjectButton.getSelection()) // added by cagatayk@acm.org
-            tasksFilter.onResource = TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT;
-        else if (workingSetGroup.getSelection())
-            tasksFilter.onResource = TasksFilter.ON_WORKING_SET;
-        else
-            tasksFilter.onResource = TasksFilter.ON_ANY_RESOURCE;
-
-        tasksFilter.workingSet = workingSetGroup.getWorkingSet();
-        tasksFilter.descriptionFilterKind = descriptionGroup.combo
-                .getSelectionIndex();
-        tasksFilter.descriptionFilter = descriptionGroup.text.getText();
-        tasksFilter.filterOnDescription = !tasksFilter.descriptionFilter
-                .equals("");//$NON-NLS-1$
-
-        tasksFilter.filterOnSeverity = severityGroup.getSelection();
-        tasksFilter.severityFilter = severityGroup.getValueMask();
-
-        tasksFilter.filterOnPriority = priorityGroup.getSelection();
-        tasksFilter.priorityFilter = priorityGroup.getValueMask();
-
-        tasksFilter.filterOnCompletion = completionGroup.getSelection();
-        tasksFilter.completionFilter = completionGroup.getValueMask();
-
-        int limit = TasksFilter.DEFAULT_MARKER_LIMIT;
-
-        try {
-            limit = Integer.parseInt(this.markerLimit.getText());
-        } catch (NumberFormatException eNumberFormat) {
-        }
-
-        tasksFilter.setMarkerLimit(limit);
-        tasksFilter.setFilterOnMarkerLimit(filterOnMarkerLimit.getSelection());
-    }
-
-    /**
-     * Updates the UI state from the given filter.
-     *
-     * @param tasksFilter the filter to use
-     */
-    void updateUIFromFilter(TasksFilter tasksFilter) {
-
-        setSelectedTypes(tasksFilter.types);
-
-        int on = tasksFilter.onResource;
-        anyResourceButton.setSelection(on == TasksFilter.ON_ANY_RESOURCE);
-        anyResourceInSameProjectButton
-                .setSelection(on == TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT); // added by cagatayk@acm.org
-        selectedResourceButton
-                .setSelection(on == TasksFilter.ON_SELECTED_RESOURCE_ONLY);
-        selectedResourceAndChildrenButton
-                .setSelection(on == TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN);
-        workingSetGroup.setSelection(on == TasksFilter.ON_WORKING_SET);
-        workingSetGroup.setWorkingSet(tasksFilter.workingSet);
-
-        descriptionGroup.combo.select(tasksFilter.descriptionFilterKind);
-        descriptionGroup.text.setText(tasksFilter.descriptionFilter);
-
-        severityGroup.setSelection(tasksFilter.filterOnSeverity);
-        severityGroup.setValueMask(tasksFilter.severityFilter);
-
-        priorityGroup.setSelection(tasksFilter.filterOnPriority);
-        priorityGroup.setValueMask(tasksFilter.priorityFilter);
-
-        completionGroup.setSelection(tasksFilter.filterOnCompletion);
-        completionGroup.setValueMask(tasksFilter.completionFilter);
-
-        markerLimit.setText("" + tasksFilter.getMarkerLimit()); //$NON-NLS-1$
-        filterOnMarkerLimit.setSelection(tasksFilter.getFilterOnMarkerLimit());
-
-        updateEnabledState();
-    }
-
-    /**
-     * Handles selection on a check box or combo box.
-     */
-    void widgetSelected(SelectionEvent e) {
-        updateEnabledState();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java
deleted file mode 100644
index e92c02c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/GotoTaskAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.util.OpenStrategy;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-
-/**
- * This action opens an editor for the resource
- * associated with the selected marker, and
- * jumps to the marker's location in the editor.
- */
-class GotoTaskAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public GotoTaskAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				ITaskListHelpContextIds.GOTO_TASK_ACTION);
-    }
-
-    /**
-     * Performs this action. This action works only for single selection.
-     */
-    public void run() {
-        IStructuredSelection selection = (IStructuredSelection) getTaskList()
-                .getSelection();
-        Object o = selection.getFirstElement();
-        if (!(o instanceof IMarker))
-            return;
-        IMarker marker = (IMarker) o;
-        IResource resource = marker.getResource();
-        if (marker.exists() && resource instanceof IFile) {
-            IWorkbenchPage page = getTaskList().getSite().getPage();
-            try {
-                IDE.openEditor(page, marker, OpenStrategy.activateOnOpen());
-            } catch (PartInitException e) {
-                DialogUtil.openError(page.getWorkbenchWindow().getShell(),
-                        TaskListMessages.getString("GotoTask.errorMessage"), //$NON-NLS-1$
-                        e.getMessage(), e);
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java
deleted file mode 100644
index 61bec98..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/IMarkerConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-
-/**
- * This interface defines constants used for marker properties
- * and attributes.
- *
- * @see IMarker
- */
-interface IMarkerConstants {
-    public static final String PREFIX = "org.eclipse.ui.tasklist."; //$NON-NLS-1$
-
-    public static final String P_PRIORITY_IMAGE = PREFIX + "priorityImage"; //$NON-NLS-1$
-
-    public static final String P_COMPLETE_IMAGE = PREFIX + "completeImage"; //$NON-NLS-1$
-
-    public static final String P_RESOURCE_NAME = PREFIX + "resourceName"; //$NON-NLS-1$
-
-    public static final String P_CONTAINER_NAME = PREFIX + "containerName"; //$NON-NLS-1$
-
-    public static final String P_LINE_AND_LOCATION = PREFIX + "lineAndLocation"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java
deleted file mode 100644
index 7a7ee81..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListHelpContextIds.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the task list view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-interface ITaskListHelpContextIds {
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    // Actions
-    public static final String PURGE_COMPLETED_TASK_ACTION = PREFIX
-            + "purge_completed_task_action_context"; //$NON-NLS-1$
-
-    public static final String COPY_TASK_ACTION = PREFIX
-            + "copy_task_action_context"; //$NON-NLS-1$
-
-    public static final String PASTE_TASK_ACTION = PREFIX
-            + "paste_task_action_context"; //$NON-NLS-1$
-
-    public static final String NEW_TASK_ACTION = PREFIX
-            + "new_task_action_context"; //$NON-NLS-1$
-
-    public static final String REMOVE_TASK_ACTION = PREFIX
-            + "remove_task_action_context"; //$NON-NLS-1$
-
-    public static final String GOTO_TASK_ACTION = PREFIX
-            + "goto_task_action_context"; //$NON-NLS-1$
-
-    public static final String FILTERS_ACTION = PREFIX
-            + "filters_action_context"; //$NON-NLS-1$
-
-    public static final String MARK_COMPLETED_ACTION = PREFIX
-            + "mark_completed_action_context"; //$NON-NLS-1$
-
-    public static final String RESOLVE_MARKER_ACTION = PREFIX
-            + "resolve_marker_action_context"; //$NON-NLS-1$
-
-    public static final String SELECT_ALL_TASKS_ACTION = PREFIX
-            + "select_all_tasks_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_PROPERTIES_ACTION = PREFIX
-            + "task_properties_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_TYPE_ACTION = PREFIX
-            + "task_sort_type_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_COMPLETED_ACTION = PREFIX
-            + "task_sort_completed_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_PRIORITY_ACTION = PREFIX
-            + "task_sort_priority_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_DESCRIPTION_ACTION = PREFIX
-            + "task_sort_description_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_RESOURCE_ACTION = PREFIX
-            + "task_sort_resource_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_FOLDER_ACTION = PREFIX
-            + "task_sort_folder_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_LOCATION_ACTION = PREFIX
-            + "task_sort_location_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_CREATION_TIME_ACTION = PREFIX
-            + "task_sort_creation_time_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_ASCENDING_ACTION = PREFIX
-            + "task_sort_ascending_action_context"; //$NON-NLS-1$
-
-    public static final String TASK_SORT_DESCENDING_ACTION = PREFIX
-            + "task_sort_descending_action_context"; //$NON-NLS-1$
-
-    // Dialogs
-    public static final String FILTERS_DIALOG = PREFIX
-            + "task_filters_dialog_context"; //$NON-NLS-1$
-
-    public static final String PROPERTIES_DIALOG = PREFIX
-            + "task_properties_dialog_context"; //$NON-NLS-1$
-
-    // Views
-    public static final String TASK_LIST_VIEW = PREFIX
-            + "task_list_view_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.java
deleted file mode 100644
index 8f48d78..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ITaskListResourceAdapter.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.ui.views.tasklist;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * <code>ITaskListResourceAdapter</code> is an adapter interface that
- * supplies the resource to query for markers to display in the task list.
- * <p>
- * The Tasks view checks for this adapter before the <code>IResource</code>
- * adapter, allowing the object to provide a resource to the Tasks view without
- * necessarily exposing it to other components that look for an <code>IResource</code>
- * adapter.     
- * </p>
- * <p>
- * Implementors of this interface are typically registered with an
- * IAdapterFactory for lookup via the getAdapter() mechanism.
- * </p>
- */
-public interface ITaskListResourceAdapter {
-
-    /**
-     * Returns the resource to query for the markers to display
-     * for the given adaptable.
-     * 
-     * @param adaptable the adaptable being queried.
-     * @return the resource or <code>null</code> if there
-     * 	is no adapted resource for this object.
-     */
-    public IResource getAffectedResource(IAdaptable adaptable);
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java
deleted file mode 100644
index 227b951..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkCompletedAction.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-
-class MarkCompletedAction extends TaskAction {
-
-    /**
-     * Create a MarkCompletedAction.
-     * @param tasklist
-     * @param id
-     */
-    protected MarkCompletedAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                ITaskListHelpContextIds.MARK_COMPLETED_ACTION);
-    }
-
-    /**
-     * Sets the completed value of the currently selected
-     * actions.
-     */
-    public void run() {
-        ISelection markers = getTaskList().getSelection();
-        if (markers instanceof IStructuredSelection) {
-            Iterator selections = ((IStructuredSelection) markers).iterator();
-            while (selections.hasNext()) {
-                IMarker nextMarker = (IMarker) selections.next();
-                getTaskList().setProperty(nextMarker, IMarker.DONE,
-                        Boolean.TRUE);
-            }
-        }
-    }
-
-    /**
-     * Returns whether this action should be enabled for the given selection.
-     * 
-     * @param selection the selection
-     * @return enablement
-     */
-    public boolean shouldEnable(IStructuredSelection selection) {
-        if (selection.isEmpty())
-            return false;
-        for (Iterator i = selection.iterator(); i.hasNext();) {
-            IMarker marker = (IMarker) i.next();
-            if (!(MarkerUtil.isMarkerType(marker, IMarker.TASK)
-                    && !MarkerUtil.isComplete(marker) && MarkerUtil
-                    .isEditable(marker))) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.java
deleted file mode 100644
index 4b9bba3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerType.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.ui.views.tasklist;
-
-import java.util.ArrayList;
-
-/**
- * Represents a marker type.
- */
-class MarkerType {
-    private MarkerTypesModel model;
-
-    private String id;
-
-    private String label;
-
-    private String[] supertypeIds;
-
-    /**
-     * Creates a new marker type.
-     */
-    public MarkerType(MarkerTypesModel model, String id, String label,
-            String[] supertypeIds) {
-        this.model = model;
-        this.id = id;
-        this.label = label;
-        this.supertypeIds = supertypeIds;
-    }
-
-    /**
-     * Returns all this type's supertypes.
-     */
-    public MarkerType[] getAllSupertypes() {
-        ArrayList result = new ArrayList();
-        getAllSupertypes(result);
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-    }
-
-    /**
-     * Appends all this type's supertypes to the given list.
-     */
-    private void getAllSupertypes(ArrayList result) {
-        MarkerType[] supers = getSupertypes();
-        for (int i = 0; i < supers.length; ++i) {
-            MarkerType sup = supers[i];
-            if (!result.contains(sup)) {
-                result.add(sup);
-                sup.getAllSupertypes(result);
-            }
-        }
-    }
-
-    /**
-     * Returns the marker type id.
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * Returns the human-readable label for this marker type.
-     */
-    public String getLabel() {
-        return label;
-    }
-
-    /**
-     * Returns the types which have this type as a direct supertype.
-     *
-     * @return the direct subtypes of this type
-     */
-    public MarkerType[] getSubtypes() {
-        MarkerType[] types = model.getTypes();
-        ArrayList result = new ArrayList();
-        for (int i = 0; i < types.length; ++i) {
-            MarkerType type = types[i];
-            String[] supers = type.getSupertypeIds();
-            for (int j = 0; j < supers.length; ++j) {
-                if (supers[j].equals(id)) {
-                    result.add(type);
-                }
-            }
-        }
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-    }
-
-    /**
-     * Returns the marker type ids for this type's supertypes.
-     */
-    public String[] getSupertypeIds() {
-        return supertypeIds;
-    }
-
-    /**
-     * Returns this type's direct supertypes.
-     */
-    public MarkerType[] getSupertypes() {
-        ArrayList result = new ArrayList();
-        for (int i = 0; i < supertypeIds.length; ++i) {
-            MarkerType sup = model.getType(supertypeIds[i]);
-            if (sup != null) {
-                result.add(sup);
-            }
-        }
-        return (MarkerType[]) result.toArray(new MarkerType[result.size()]);
-    }
-
-    /**
-     * Returns whether this marker type is considered to be a subtype of
-     * the given marker type. 
-     *
-     * @return boolean <code>true</code>if this type is the same as (or a subtype of) the given type
-     */
-    public boolean isSubtypeOf(MarkerType superType) {
-        if (id.equals(superType.getId())) {
-            return true;
-        }
-        for (int i = 0; i < supertypeIds.length; ++i) {
-            MarkerType sup = model.getType(supertypeIds[i]);
-            if (sup != null && sup.isSubtypeOf(superType)) {
-                return true;
-            }
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java
deleted file mode 100644
index 3c30791..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerTypesModel.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Maintains a model of all known marker types.
- */
-class MarkerTypesModel {
-    /**
-     * Maps from marker type id to MarkerType.
-     */
-    private HashMap types;
-
-    /**
-     * Creates a new marker types model.
-     */
-    public MarkerTypesModel() {
-        types = readTypes();
-    }
-
-    /**
-     * Returns the marker type with the given id, or <code>null</code> if there is no such marker type.
-     */
-    public MarkerType getType(String id) {
-        return (MarkerType) types.get(id);
-    }
-
-    /**
-     * Returns all known marker types.
-     */
-    public MarkerType[] getTypes() {
-        MarkerType[] result = new MarkerType[types.size()];
-        types.values().toArray(result);
-        return result;
-    }
-
-    /**
-     * Returns the label for the given marker type.
-     * Workaround until we have labels in XML.
-     */
-    private String getWellKnownLabel(String type) {
-        if (type.equals(IMarker.PROBLEM))
-            return "Problem";//$NON-NLS-1$
-        if (type.equals(IMarker.TASK))
-            return "Task";//$NON-NLS-1$
-        if (type.equals("org.eclipse.jdt.core.problem"))//$NON-NLS-1$
-            return "Java Problem";//$NON-NLS-1$
-        return type;
-    }
-
-    /**
-     * Reads the marker types from the registry.
-     */
-    private HashMap readTypes() {
-        HashMap types = new HashMap();
-        IExtensionPoint point = Platform.getPluginRegistry().getExtensionPoint(
-                ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_MARKERS);
-        if (point != null) {
-            // Gather all registered marker types.
-            IExtension[] extensions = point.getExtensions();
-            for (int i = 0; i < extensions.length; ++i) {
-                IExtension ext = extensions[i];
-                String id = ext.getUniqueIdentifier();
-                String label = ext.getLabel();
-                if (label.equals("")) {//$NON-NLS-1$
-                    label = getWellKnownLabel(id);
-                }
-                ArrayList supersList = new ArrayList();
-                IConfigurationElement[] configElements = ext
-                        .getConfigurationElements();
-                for (int j = 0; j < configElements.length; ++j) {
-                    IConfigurationElement elt = configElements[j];
-                    if (elt.getName().equalsIgnoreCase("super")) {//$NON-NLS-1$
-                        String sup = elt.getAttribute("type");//$NON-NLS-1$
-                        if (sup != null) {
-                            supersList.add(sup);
-                        }
-                    }
-                }
-                String[] superTypes = new String[supersList.size()];
-                supersList.toArray(superTypes);
-                MarkerType type = new MarkerType(this, id, label, superTypes);
-                types.put(id, type);
-            }
-        }
-        return types;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java
deleted file mode 100644
index 3499b2a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/MarkerUtil.java
+++ /dev/null
@@ -1,510 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.DateFormat;
-import java.text.MessageFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Utility class for accessing marker attributes.
- */
-class MarkerUtil implements IMarkerConstants {
-
-    private static Map imageDescriptors;
-
-    private static ImageRegistry imageRegistry = new ImageRegistry();
-
-    private static MessageFormat line = new MessageFormat(TaskListMessages
-            .getString("TaskList.line")); //$NON-NLS-1$;
-
-    private static MessageFormat lineAndLocation = new MessageFormat(
-            TaskListMessages.getString("TaskList.lineAndLocation")); //$NON-NLS-1$
-
-    static {
-        createImageDescriptors();
-    }
-
-    /**
-     * Don't allow instantiation.
-     */
-    private MarkerUtil() {
-    }
-
-    /**
-     * Creates an image descriptor for the image file referred to by the
-     * given relative path (relative to the icons directory for the plug-in).
-     */
-    static ImageDescriptor createImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            URL URL_BASIC = TaskList.getPlugin().getDescriptor()
-                    .getInstallURL();
-            URL url = new URL(URL_BASIC, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            Assert.isTrue(false);
-            return null;
-        }
-    }
-
-    /**
-     * Creates the map of image descriptors.
-     */
-    static void createImageDescriptors() {
-        String LOCAL = "elcl16/";//$NON-NLS-1$
-        String LOCAL_DISABLED = "dlcl16/";//$NON-NLS-1$
-        String OBJ = "obj16/";//$NON-NLS-1$
-
-        imageDescriptors = new HashMap(51);
-        imageDescriptors
-                .put(
-                        "header_complete", createImageDescriptor("obj16/header_complete.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "header_priority", createImageDescriptor("obj16/header_priority.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "task", createImageDescriptor(OBJ + "taskmrk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "error", createImageDescriptor(OBJ + "error_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "warn", createImageDescriptor(OBJ + "warn_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "info", createImageDescriptor(OBJ + "info_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "hprio", createImageDescriptor(OBJ + "hprio_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "lprio", createImageDescriptor(OBJ + "lprio_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "complete_tsk", createImageDescriptor(OBJ + "complete_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "incomplete_tsk", createImageDescriptor(OBJ + "incomplete_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "gotoobj", createImageDescriptor(LOCAL + "gotoobj_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "addtsk", createImageDescriptor(LOCAL + "addtsk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "addtsk_disabled", createImageDescriptor(LOCAL_DISABLED + "addtsk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "showcomplete", createImageDescriptor(LOCAL + "showcomplete_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "selected_mode", createImageDescriptor(LOCAL + "selected_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "selected_mode_disabled", createImageDescriptor(LOCAL_DISABLED + "selected_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "showchild_mode", createImageDescriptor(LOCAL + "showchild_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "showchild_mode_disabled", createImageDescriptor(LOCAL_DISABLED + "showchild_mode.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "showerr_disabled", createImageDescriptor(LOCAL_DISABLED + "showerr_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "showwarn_disabled", createImageDescriptor(LOCAL_DISABLED + "showwarn_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors
-                .put(
-                        "showtsk_disabled", createImageDescriptor(LOCAL_DISABLED + "showtsk_tsk.gif"));//$NON-NLS-2$//$NON-NLS-1$
-        imageDescriptors.put(
-                "filter", createImageDescriptor(LOCAL + "filter_ps.gif"));//$NON-NLS-2$//$NON-NLS-1$
-    }
-
-    /**
-     * Returns the ending character offset of the given marker.
-     */
-    public static int getCharEnd(IMarker marker) {
-        return marker.getAttribute(IMarker.CHAR_END, -1);
-    }
-
-    /**
-     * Returns the starting character offset of the given marker.
-     */
-    public static int getCharStart(IMarker marker) {
-        return marker.getAttribute(IMarker.CHAR_START, -1);
-    }
-
-    /**
-     * Returns the icon to be used in the tasklist
-     * for the complete state of a task. Returns null
-     * for markers that are not tasks.
-     */
-    public static Image getCompleteImage(IMarker marker) {
-        if (isMarkerType(marker, IMarker.TASK)) {
-            if (isComplete(marker))
-                return getImage("complete_tsk");//$NON-NLS-1$
-            else if (!isReadOnly(marker)) // don't show a check box for read-only tasks
-                return getImage("incomplete_tsk");//$NON-NLS-1$
-        }
-        return null;
-    }
-
-    /**
-     * Returns the text to be used for the complete state of a task. 
-     * Returns the empty string for markers that are not tasks.
-     */
-    public static String getCompleteText(IMarker marker) {
-        if (isMarkerType(marker, IMarker.TASK)) {
-            if (isComplete(marker))
-                return TaskListMessages.getString("TaskList.completed"); //$NON-NLS-1$
-            else
-                return TaskListMessages.getString("TaskList.notCompleted"); //$NON-NLS-1$
-        }
-        return ""; //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the text to be used for the kind of marker.
-     */
-    public static String getKindText(IMarker marker) {
-        if (isMarkerType(marker, IMarker.TASK)) {
-            return TaskListMessages.getString("TaskList.task"); //$NON-NLS-1$
-        }
-        switch (getSeverity(marker)) {
-        case IMarker.SEVERITY_ERROR:
-            return TaskListMessages.getString("TaskList.error"); //$NON-NLS-1$
-        case IMarker.SEVERITY_WARNING:
-            return TaskListMessages.getString("TaskList.warning"); //$NON-NLS-1$
-        case IMarker.SEVERITY_INFO:
-            return TaskListMessages.getString("TaskList.info"); //$NON-NLS-1$
-        }
-        return ""; //$NON-NLS-1$
-    }
-
-    /**
-     * Returns the container name if it is defined, or empty string if not.
-     */
-    public static String getContainerName(IMarker marker) {
-        IPath path = marker.getResource().getFullPath();
-        int n = path.segmentCount() - 1; // n is the number of segments in container, not path
-        if (n <= 0)
-            return ""; //$NON-NLS-1$
-        int len = 0;
-        for (int i = 0; i < n; ++i)
-            len += path.segment(i).length();
-        // account for /'s
-        if (n > 1)
-            len += n - 1;
-        StringBuffer sb = new StringBuffer(len);
-        for (int i = 0; i < n; ++i) {
-            if (i != 0)
-                sb.append('/');
-            sb.append(path.segment(i));
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Returns the image with the given key, or <code>null</code> if not found.
-     */
-    static Image getImage(String key) {
-        Image image = (Image) imageRegistry.get(key);
-        if (image == null) {
-            ImageDescriptor desc = getImageDescriptor(key);
-            if (desc != null) {
-                image = desc.createImage(false);
-                if (image == null) {
-                    System.err
-                            .println("TaskList: Error creating image for " + key);//$NON-NLS-1$
-                }
-                imageRegistry.put(key, image);
-            }
-        }
-        return image;
-    }
-
-    /**
-     * Returns the image that should be used to visually represent
-     * the marker, based on its type and priority.
-     */
-    static public Image getImage(IMarker marker) {
-        if (isMarkerType(marker, IMarker.PROBLEM)) {
-            switch (getSeverity(marker)) {
-            case IMarker.SEVERITY_ERROR:
-                return getImage("error");//$NON-NLS-1$
-            case IMarker.SEVERITY_WARNING:
-                return getImage("warn");//$NON-NLS-1$
-            case IMarker.SEVERITY_INFO:
-                return getImage("info");//$NON-NLS-1$
-            }
-        } else if (isMarkerType(marker, IMarker.TASK)) {
-            return getImage("task");//$NON-NLS-1$
-        }
-        return null;
-    }
-
-    /**
-     * Returns the image descriptor with the given key, or <code>null</code> if not found.
-     */
-    static ImageDescriptor getImageDescriptor(String key) {
-        ImageDescriptor desc = (ImageDescriptor) imageDescriptors.get(key);
-        if (desc == null) {
-            System.err.println("TaskList: No image descriptor for " + key); //$NON-NLS-1$
-        }
-        return desc;
-    }
-
-    /**
-     * Returns the text for the line and location column given the marker.
-     */
-    public static String getLineAndLocation(IMarker marker) {
-        int lineNumber = getLineNumber(marker);
-        String location = getLocation(marker);
-        return getLineAndLocation(lineNumber, location);
-    }
-
-    /**
-     * Returns the text for the line and location column given the line number and location text.
-     */
-    public static String getLineAndLocation(int lineNumber, String location) {
-        if (lineNumber == -1) {
-            if (location.equals("")) {//$NON-NLS-1$
-                return "";//$NON-NLS-1$
-            } else {
-                return location;
-            }
-        } else {
-            if (location.equals("")) {//$NON-NLS-1$
-                return line
-                        .format(new Object[] { Integer.toString(lineNumber) });
-            } else {
-                return lineAndLocation.format(new Object[] {
-                        Integer.toString(lineNumber), location });
-            }
-        }
-    }
-
-    /**
-     * Returns the line number of the given marker.
-     */
-    public static int getLineNumber(IMarker marker) {
-        return marker.getAttribute(IMarker.LINE_NUMBER, -1);
-    }
-
-    /**
-     * Returns the text for the location field.
-     */
-    public static String getLocation(IMarker marker) {
-        return marker.getAttribute(IMarker.LOCATION, "");//$NON-NLS-1$
-    }
-
-    /**
-     * Returns the message attribute of the given marker,
-     * or the empty string if the message attribute is not defined.
-     */
-    public static String getMessage(IMarker marker) {
-        return marker.getAttribute(IMarker.MESSAGE, "");//$NON-NLS-1$
-    }
-
-    /**
-     * Returns the numeric value of the given string, which is assumed to represent a numeric value.
-     *
-     * @return <code>true</code> if numeric, <code>false</code> if not
-     */
-    static public int getNumericValue(String value) {
-        boolean negative = false;
-        int i = 0;
-        int len = value.length();
-
-        // skip any leading '#'
-        // workaround for 1GCE69U: ITPJCORE:ALL - Java problems should not have '#' in location.
-        if (i < len && value.charAt(i) == '#')
-            ++i;
-
-        if (i < len && value.charAt(i) == '-') {
-            negative = true;
-            ++i;
-        }
-
-        int result = 0;
-        while (i < len) {
-            int digit = Character.digit(value.charAt(i++), 10);
-            if (digit < 0) {
-                return result;
-            }
-            result = result * 10 + digit;
-        }
-        if (negative) {
-            result = -result;
-        }
-        return result;
-    }
-
-    /**
-     * Returns the priority of the given marker.  Default is PRIORITY_NORMAL.
-     */
-    public static int getPriority(IMarker marker) {
-        return marker.getAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
-    }
-
-    /**
-     * Returns an image that should visually represent marker's priority
-     * in the tasklist.
-     */
-    public static Image getPriorityImage(IMarker marker) {
-        switch (getPriority(marker)) {
-        case IMarker.PRIORITY_HIGH:
-            return getImage("hprio");//$NON-NLS-1$
-        case IMarker.PRIORITY_NORMAL:
-            return null; // no image for normal priority
-        case IMarker.PRIORITY_LOW:
-            return getImage("lprio");//$NON-NLS-1$
-        }
-        return null;
-    }
-
-    /**
-     * Returns the text for the given marker's priority.
-     */
-    public static String getPriorityText(IMarker marker) {
-        if (!isMarkerType(marker, IMarker.TASK))
-            return ""; //$NON-NLS-1$
-
-        switch (getPriority(marker)) {
-        case IMarker.PRIORITY_HIGH:
-            return TaskListMessages.getString("TaskList.high"); //$NON-NLS-1$
-        case IMarker.PRIORITY_NORMAL:
-            return TaskListMessages.getString("TaskList.normal"); //$NON-NLS-1$
-        case IMarker.PRIORITY_LOW:
-            return TaskListMessages.getString("TaskList.low"); //$NON-NLS-1$
-        }
-        return ""; //$NON-NLS-1$		
-    }
-
-    /**
-     * Implements IProvider interface by supporting a number of
-     * properties required for visual representation of markers
-     * in the tasklist.
-     */
-    static public Object getProperty(Object object, String key) {
-        IMarker marker = (IMarker) object;
-
-        // optimizations:
-        // - check properties needed for TaskListLabelProvider first,
-        //   then those needed for cell modifiers
-        // - use == instead of equals for efficiency
-        if (IBasicPropertyConstants.P_IMAGE == key) {
-            return getImage(marker);
-        }
-        if (IMarkerConstants.P_COMPLETE_IMAGE == key) {
-            return getCompleteImage(marker);
-        }
-        if (IMarkerConstants.P_PRIORITY_IMAGE == key) {
-            return getPriorityImage(marker);
-        }
-        if (IMarker.MESSAGE == key) {
-            return getMessage(marker);
-        }
-        if (IMarkerConstants.P_RESOURCE_NAME == key) {
-            return getResourceName(marker);
-        }
-        if (IMarkerConstants.P_CONTAINER_NAME == key) {
-            return getContainerName(marker);
-        }
-        if (IMarkerConstants.P_LINE_AND_LOCATION == key) {
-            return getLineAndLocation(marker);
-        }
-        if (IMarker.PRIORITY == key) {
-            // this property is used only by cell editor, where order is High, Normal, Low
-            return new Integer(IMarker.PRIORITY_HIGH - getPriority(marker));
-        }
-        if (IMarker.DONE == key) {
-            return isComplete(marker) ? Boolean.TRUE : Boolean.FALSE;
-        }
-        if (IBasicPropertyConstants.P_TEXT == key) {
-            return getMessage(marker);
-        }
-        return null;
-    }
-
-    /**
-     * Returns name if it is defined, or
-     * blank string if not.
-     */
-    public static String getResourceName(IMarker marker) {
-        return marker.getResource().getName();
-    }
-
-    /**
-     * Returns the severity of the given marker.  Default is SEVERITY_WARNING.
-     */
-    public static int getSeverity(IMarker marker) {
-        return marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
-    }
-
-    /**
-     * A helper method that returns true if the given
-     * marker is marked as complete in the tasklist.
-     * Only tasks can be complete.
-     */
-    public static boolean isComplete(IMarker marker) {
-        return marker.getAttribute(IMarker.DONE, false);
-    }
-
-    /**
-     * Returns whether the given marker is editable.
-     * Only tasks which have not been marked as read-only are editable.
-     */
-    public static boolean isEditable(IMarker marker) {
-        return isMarkerType(marker, IMarker.TASK) && !isReadOnly(marker);
-    }
-
-    /**
-     * Returns whether the given marker is of the given type (either directly or indirectly).
-     */
-    public static boolean isMarkerType(IMarker marker, String type) {
-        try {
-            return marker.isSubtypeOf(type);
-        } catch (CoreException e) {
-            return false;
-        }
-    }
-
-    /**
-     * Returns whether the given marker is read-only.
-     */
-    public static boolean isReadOnly(IMarker marker) {
-        return !marker.getAttribute(IMarker.USER_EDITABLE, true);
-    }
-
-    /**
-     * Returns the creation time of the marker as a string.
-     */
-    public static String getCreationTime(IMarker marker) {
-        try {
-            return DateFormat.getDateTimeInstance(DateFormat.LONG,
-                    DateFormat.MEDIUM).format(
-                    new Date(marker.getCreationTime()));
-        } catch (CoreException e) {
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.java
deleted file mode 100644
index 8f44c42..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/NewTaskAction.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.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action creates a new task. If a resource is currently
- * present at the tasklist's input, this task will be
- * associated with it. If the tasklist is currently
- * observing all the markers in the workbench, the task
- * will not be associated with any resource.
- * <p>The newly created task will have low priority,
- * fixed description text and will not be subject to
- * sorting or filtering until its desciprion is being
- * changed for the first time. For this reason, new
- * tasks remain at the top of the task list
- * until modified. It is possible that the newly
- * created task dissapears after that if its
- * type or some other property causes it to
- * be filtered out.
- */
-class NewTaskAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public NewTaskAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				ITaskListHelpContextIds.NEW_TASK_ACTION);
-    }
-
-    /**
-     * Opens the new task dialog and shows the newly created task when done.
-     * The new task is created on the currently selected resource.
-     */
-    public void run() {
-        TaskPropertiesDialog dialog = new TaskPropertiesDialog(getShell());
-        dialog.setResource(getTaskList().getResource());
-        int result = dialog.open();
-        if (result == Window.OK) {
-            showMarker(dialog.getMarker());
-        }
-    }
-
-    /**
-     * Show the newly created marker.
-     */
-    private void showMarker(final IMarker marker) {
-        if (marker == null) {
-            return;
-        }
-        if (getTaskList().shouldShow(marker)) {
-            // Need to do this in an asyncExec, even though we're in the UI thread here,
-            // since the task list updates itself with the addition in an asyncExec,
-            // which hasn't been processed yet.
-            getShell().getDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    getTaskList().setSelection(new StructuredSelection(marker),
-                            true);
-                }
-            });
-        } else {
-            MessageDialog.openInformation(getShell(), TaskListMessages
-                    .getString("NewTask.notShownTitle"), //$NON-NLS-1$
-                    TaskListMessages.getString("NewTask.notShownMsg")); //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java
deleted file mode 100644
index 9944fce..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PasteTaskAction.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.MarkerTransfer;
-
-/**
- * Standard action for pasting tasks from the clipboard.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @since 2.0
- */
-class PasteTaskAction extends TaskAction {
-
-    /**
-     * Creates a new action.
-     * 
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public PasteTaskAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				ITaskListHelpContextIds.PASTE_TASK_ACTION);
-    }
-
-    /**
-     * Implementation of method defined on <code>IAction</code>.
-     */
-    public void run() {
-        // Get the markers from the clipboard
-        MarkerTransfer transfer = MarkerTransfer.getInstance();
-        final IMarker[] markerData = (IMarker[]) getTaskList().getClipboard()
-                .getContents(transfer);
-
-        if (markerData == null)
-            return;
-
-        final ArrayList newMarkers = new ArrayList();
-
-        try {
-            getTaskList().getWorkspace().run(new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    for (int i = 0; i < markerData.length; i++) {
-                        // Only paste tasks (not problems)
-                        if (!markerData[i].getType().equals(IMarker.TASK))
-                            continue;
-
-                        // Paste to the same resource as the original
-                        IResource resource = markerData[i].getResource();
-                        Map attributes = markerData[i].getAttributes();
-                        IMarker marker = resource.createMarker(IMarker.TASK);
-                        marker.setAttributes(attributes);
-                        newMarkers.add(marker);
-                    }
-                }
-            }, null);
-        } catch (CoreException e) {
-            ErrorDialog.openError(getShell(), TaskListMessages
-                    .getString("PasteTask.errorMessage"), //$NON-NLS-1$
-                    null, e.getStatus());
-            return;
-        }
-
-        // Need to do this in an asyncExec, even though we're in the UI thread here,
-        // since the task list updates itself with the addition in an asyncExec,
-        // which hasn't been processed yet.
-        // Must be done outside IWorkspaceRunnable above since notification for add is
-        // sent after IWorkspaceRunnable is run.
-        if (newMarkers.size() > 0) {
-            getShell().getDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    TaskList taskList = getTaskList();
-                    taskList.setSelection(new StructuredSelection(newMarkers),
-                            true);
-                }
-            });
-        }
-    }
-
-}
-
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.java
deleted file mode 100644
index 96315be..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/PurgeCompletedAction.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.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action deletes all the tasks found in the registry that
- * are marked as completed.
- */
-class PurgeCompletedAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public PurgeCompletedAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                ITaskListHelpContextIds.PURGE_COMPLETED_TASK_ACTION);
-    }
-
-    /**
-     * Fetches all the completed tasks in the workspace and deletes them.
-     */
-    public void run() {
-        try {
-            IResource resource = getTaskList().getResource();
-            int depth = getTaskList().getResourceDepth();
-            IMarker[] tasks = resource.findMarkers(IMarker.TASK, true, depth);
-            final List completed = new ArrayList();
-            for (int i = 0; i < tasks.length; i++) {
-                IMarker task = tasks[i];
-                if (MarkerUtil.isComplete(task) && !MarkerUtil.isReadOnly(task)) {
-                    completed.add(task);
-                }
-            }
-            // Check if there is anything to do
-            if (completed.size() == 0) {
-                MessageDialog.openInformation(getShell(), TaskListMessages
-                        .getString("PurgeCompleted.title"), //$NON-NLS-1$
-                        TaskListMessages
-                                .getString("PurgeCompleted.noneCompleted")); //$NON-NLS-1$
-                return;
-            }
-
-            // Verify.
-            if (!MessageDialog.openConfirm(getShell(), TaskListMessages
-                    .getString("PurgeCompleted.title"), //$NON-NLS-1$
-                    TaskListMessages.format("PurgeCompleted.permanent", //$NON-NLS-1$
-                            new Object[] { new Integer(completed.size()) }))) {
-                return;
-            }
-
-            IMarker[] toDelete = new IMarker[completed.size()];
-            completed.toArray(toDelete);
-            getTaskList().getWorkspace().deleteMarkers(toDelete);
-        } catch (CoreException e) {
-            ErrorDialog
-                    .openError(
-                            getShell(),
-                            TaskListMessages
-                                    .getString("PurgeCompleted.errorMessage"), null, e.getStatus()); //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.java
deleted file mode 100644
index 584ca7e..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/RemoveTaskAction.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.ui.views.tasklist;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action removes the selected task(s) from the task list.
- * Only tasks can be removed. Problems can only disappear from
- * the task list when they are fixed in the associated code.
- */
-class RemoveTaskAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public RemoveTaskAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				ITaskListHelpContextIds.REMOVE_TASK_ACTION);
-    }
-
-    /**
-     * Removes all the tasks in the current selection from the task list.
-     */
-    public void run() {
-        TaskList taskList = getTaskList();
-        TableViewer viewer = taskList.getTableViewer();
-        IStructuredSelection selection = (IStructuredSelection) viewer
-                .getSelection();
-        if (selection.isEmpty()) {
-            return;
-        }
-        taskList.cancelEditing();
-        // get the index of the selected item which has focus
-        Table table = viewer.getTable();
-        int focusIndex = table.getSelectionIndex();
-        try {
-            List list = selection.toList();
-            IMarker[] markers = new IMarker[list.size()];
-            list.toArray(markers);
-            // be sure to only invoke one workspace operation
-            taskList.getWorkspace().deleteMarkers(markers);
-            // set the selection to be the one which took the place of the one with focus
-            int count = table.getItemCount();
-            if (focusIndex < count) {
-                table.setSelection(focusIndex);
-            } else if (count != 0) {
-                table.setSelection(count - 1);
-            }
-            // update the viewer's selection, since setting the table selection does not notify the viewer
-            viewer.setSelection(viewer.getSelection(), true);
-
-        } catch (CoreException e) {
-            ErrorDialog.openError(getShell(), TaskListMessages
-                    .getString("RemoveTask.errorMessage"), //$NON-NLS-1$
-                    null, e.getStatus());
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.java
deleted file mode 100644
index db3450a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/ResolveMarkerAction.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.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.MarkerResolutionSelectionDialog;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This action displays a list of resolutions for the selected marker
- * 
- * @since 2.0
- */
-class ResolveMarkerAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     */
-    protected ResolveMarkerAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                ITaskListHelpContextIds.RESOLVE_MARKER_ACTION);
-    }
-
-    /**
-     * Returns whether this action should be enabled given the selection.
-     * 
-     * @param selection the selection
-     * @return enablement
-     */
-    public boolean shouldEnable(IStructuredSelection selection) {
-        if (selection.size() != 1)
-            return false;
-        IMarker marker = (IMarker) selection.getFirstElement();
-        if (marker == null)
-            return false;
-        return IDE.getMarkerHelpRegistry().hasResolutions(marker);
-    }
-
-    /**
-     * Displays a list of resolutions and performs the selection.
-     */
-    public void run() {
-        IMarker marker = getMarker();
-        if (marker == null) {
-            return;
-        }
-        getTaskList().cancelEditing();
-        IMarkerResolution[] resolutions = getResolutions(marker);
-        if (resolutions.length == 0) {
-            MessageDialog.openInformation(getShell(), TaskListMessages
-                    .getString("Resolve.title"), //$NON-NLS-1$
-                    TaskListMessages.getString("Resolve.noResolutionsLabel")); //$NON-NLS-1$
-            return;
-        }
-        MarkerResolutionSelectionDialog d = new MarkerResolutionSelectionDialog(
-                getShell(), resolutions);
-        if (d.open() != Window.OK)
-            return;
-        Object[] result = d.getResult();
-        if (result != null && result.length > 0)
-            ((IMarkerResolution) result[0]).run(marker);
-    }
-
-    /**
-     * Returns the resolutions for the given marker.
-     *
-     * @param marker the marker for which to obtain resolutions
-     * @return the resolutions for the selected marker	
-     */
-    private IMarkerResolution[] getResolutions(IMarker marker) {
-        return IDE.getMarkerHelpRegistry().getResolutions(marker);
-    }
-
-    /**
-     * Returns the selected marker (may be <code>null</code>).
-     * 
-     * @return the selected marker
-     */
-    private IMarker getMarker() {
-        IStructuredSelection selection = (IStructuredSelection) getTaskList()
-                .getSelection();
-        // only enable for single selection
-        if (selection.size() != 1)
-            return null;
-        return (IMarker) selection.getFirstElement();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.java
deleted file mode 100644
index 67392af..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/SelectAllTasksAction.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.ui.views.tasklist;
-
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action selects all tasks currently showing in the task list.
- */
-class SelectAllTasksAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     */
-    protected SelectAllTasksAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                ITaskListHelpContextIds.SELECT_ALL_TASKS_ACTION);
-    }
-
-    /**
-     * Selects all resources in the view.
-     */
-    public void run() {
-        getTaskList().cancelEditing();
-        TableViewer viewer = getTaskList().getTableViewer();
-        viewer.getTable().selectAll();
-        // force viewer selection change
-        viewer.setSelection(viewer.getSelection());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java
deleted file mode 100644
index 342d5a4..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * This is the base class of all the local actions used
- * in the task list view.
- */
-abstract class TaskAction extends Action {
-
-    private TaskList taskList;
-
-    /**
-     * TaskAction constructor.
-     */
-    protected TaskAction(TaskList tasklist, String id) {
-        super();
-        this.taskList = tasklist;
-        setId(id);
-    }
-
-    /**
-     * Returns the shell to use within actions.
-     */
-    protected Shell getShell() {
-        return taskList.getSite().getShell();
-    }
-
-    /**
-     * Returns the task list viewer.
-     */
-    protected TaskList getTaskList() {
-        return taskList;
-    }
-
-    /**
-     * Stores the current state value of this toggle action
-     * into the dialog store using action ID as a key.
-     */
-    protected void storeValue() {
-        IDialogSettings workbenchSettings = TaskList.getPlugin()
-                .getDialogSettings();
-        IDialogSettings settings = workbenchSettings.getSection("TaskAction");//$NON-NLS-1$
-        if (settings == null)
-            settings = workbenchSettings.addNewSection("TaskAction");//$NON-NLS-1$
-        settings.put(getId(), isChecked());
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java
deleted file mode 100644
index fbf7a14..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskList.java
+++ /dev/null
@@ -1,1764 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Cagatay Kavukcuoglu <cagatayk@acm.org> - Filter for markers in same project
- *     Sebastian Davids <sdavids@gmx.de> - Reordered menu items
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-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.dialogs.IDialogSettings;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckboxCellEditor;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.OpenEvent;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.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.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.MarkerTransfer;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Main class for the Task List view for displaying tasks and problem annotations
- * on resources, and for opening an editor on the resource when the user commands.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.TaskList"</code>.
- * </p>
- * <p>
- * The workbench will automatically instantiate this class when a Task List
- * view is needed for a workbench window. This class is not intended
- * to be instantiated or subclassed by clients.
- * </p>
- */
-public class TaskList extends ViewPart {
-
-    private Table table;
-
-    private TaskSorter sorter;
-
-    private CellEditor descriptionEditor;
-
-    private TableViewer viewer;
-
-    private TasksFilter filter = new TasksFilter();
-
-    private IMemento memento;
-
-    private boolean markerLimitExceeded;
-
-    private Composite parent;
-
-    private StackLayout stackLayout = new StackLayout();
-
-    private Composite compositeMarkerLimitExceeded;
-
-    private CellEditorActionHandler editorActionHandler;
-
-    private TaskAction newTaskAction;
-
-    private TaskAction copyTaskAction;
-
-    private TaskAction pasteTaskAction;
-
-    private TaskAction removeTaskAction;
-
-    private TaskAction purgeCompletedAction;
-
-    private TaskAction gotoTaskAction;
-
-    private TaskAction selectAllAction;
-
-    private ResolveMarkerAction resolveMarkerAction;
-
-    private TaskAction filtersAction;
-
-    private MarkCompletedAction markCompletedAction;
-
-    private TaskAction propertiesAction;
-
-    //sort by action
-    private Action sortByCategoryAction;
-
-    private Action sortByCompletedAction;
-
-    private Action sortByPriorityAction;
-
-    private Action sortByDescriptionAction;
-
-    private Action sortByResourceAction;
-
-    private Action sortByContainerAction;
-
-    private Action sortByLocationAction;
-
-    private Action sortByCreationTimeAction;
-
-    private Action sortAscendingAction;
-
-    private Action sortDescendingAction;
-
-    private Clipboard clipboard;
-
-    private static String[] tableColumnProperties = {
-            IBasicPropertyConstants.P_IMAGE, IMarker.DONE, IMarker.PRIORITY,
-            IMarker.MESSAGE, IMarkerConstants.P_RESOURCE_NAME,
-            IMarkerConstants.P_CONTAINER_NAME,
-            IMarkerConstants.P_LINE_AND_LOCATION };
-
-    // Persistance tags.
-    private static final String TAG_COLUMN = "column"; //$NON-NLS-1$
-
-    private static final String TAG_NUMBER = "number"; //$NON-NLS-1$
-
-    private static final String TAG_WIDTH = "width"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER = "filter"; //$NON-NLS-1$
-
-    private static final String TAG_SELECTION = "selection"; //$NON-NLS-1$
-
-    private static final String TAG_ID = "id"; //$NON-NLS-1$
-
-    private static final String TAG_MARKER = "marker"; //$NON-NLS-1$
-
-    private static final String TAG_RESOURCE = "resource"; //$NON-NLS-1$
-
-    private static final String TAG_TOP_INDEX = "topIndex"; //$NON-NLS-1$
-
-    private static final String TAG_SORT_SECTION = "TaskListSortState"; //$NON-NLS-1$
-
-    static class TaskListLabelProvider extends LabelProvider implements
-            ITableLabelProvider {
-
-        private static String[] keys = { IBasicPropertyConstants.P_IMAGE,
-                IMarkerConstants.P_COMPLETE_IMAGE,
-                IMarkerConstants.P_PRIORITY_IMAGE, IMarker.MESSAGE,
-                IMarkerConstants.P_RESOURCE_NAME,
-                IMarkerConstants.P_CONTAINER_NAME,
-                IMarkerConstants.P_LINE_AND_LOCATION };
-
-        public String getColumnText(Object element, int columnIndex) {
-            if (columnIndex >= 3 && columnIndex <= 6)
-                return (String) MarkerUtil.getProperty(element,
-                        keys[columnIndex]);
-            return ""; //$NON-NLS-1$
-        }
-
-        public Image getColumnImage(Object element, int columnIndex) {
-            if (columnIndex >= 0 && columnIndex <= 2) {
-                return (Image) MarkerUtil.getProperty(element,
-                        keys[columnIndex]);
-            }
-            return null;
-        }
-    }
-
-    class SortByAction extends Action {
-
-        private int column;
-
-        /**
-         * @param column
-         */
-        public SortByAction(int column) {
-            this.column = column;
-        }
-
-        public void run() {
-            sorter.setTopPriority(column);
-            updateSortingState();
-            viewer.refresh();
-            IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-            IDialogSettings settings = workbenchSettings
-                    .getSection(TAG_SORT_SECTION);
-            if (settings == null)
-                settings = workbenchSettings.addNewSection(TAG_SORT_SECTION);
-            sorter.saveState(settings);
-        }
-    }
-
-    class SortDirectionAction extends Action {
-
-        private int direction;
-
-        /**
-         * @param direction
-         */
-        public SortDirectionAction(int direction) {
-            this.direction = direction;
-        }
-
-        public void run() {
-            sorter.setTopPriorityDirection(direction);
-            updateSortingState();
-            viewer.refresh();
-            IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-            IDialogSettings settings = workbenchSettings
-                    .getSection(TAG_SORT_SECTION);
-            if (settings == null)
-                settings = workbenchSettings.addNewSection(TAG_SORT_SECTION);
-            sorter.saveState(settings);
-        }
-    }
-
-    private String columnHeaders[] = {
-            TaskListMessages.getString("TaskList.headerIcon"), //$NON-NLS-1$
-            TaskListMessages.getString("TaskList.headerCompleted"), //$NON-NLS-1$
-            TaskListMessages.getString("TaskList.headerPriority"), //$NON-NLS-1$
-            TaskListMessages.getString("TaskList.headerDescription"), //$NON-NLS-1$
-            TaskListMessages.getString("TaskList.headerResource"), //$NON-NLS-1$
-            TaskListMessages.getString("TaskList.headerFolder"), //$NON-NLS-1$
-            TaskListMessages.getString("TaskList.headerLocation") //$NON-NLS-1$
-    };
-
-    private ColumnLayoutData columnLayouts[] = {
-            new ColumnPixelData(19, false), new ColumnPixelData(19, false),
-            new ColumnPixelData(19, false), new ColumnWeightData(200),
-            new ColumnWeightData(75), new ColumnWeightData(150),
-            new ColumnWeightData(60) };
-
-    private IPartListener partListener = new IPartListener() {
-        public void partActivated(IWorkbenchPart part) {
-            TaskList.this.partActivated(part);
-        }
-
-        public void partBroughtToTop(IWorkbenchPart part) {
-        }
-
-        public void partClosed(IWorkbenchPart part) {
-            TaskList.this.partClosed(part);
-        }
-
-        public void partDeactivated(IWorkbenchPart part) {
-        }
-
-        public void partOpened(IWorkbenchPart part) {
-        }
-    };
-
-    private ISelectionChangedListener focusSelectionChangedListener = new ISelectionChangedListener() {
-        public void selectionChanged(SelectionChangedEvent event) {
-            TaskList.this.focusSelectionChanged(event);
-        }
-    };
-
-    private IResource[] focusResources;
-
-    private IWorkbenchPart focusPart;
-
-    private ISelectionProvider focusSelectionProvider;
-
-    private ICellModifier cellModifier = new ICellModifier() {
-        public Object getValue(Object element, String property) {
-            return MarkerUtil.getProperty(element, property);
-        }
-
-        public boolean canModify(Object element, String property) {
-            return MarkerUtil.isEditable((IMarker) element);
-        }
-
-        /**
-         * Modifies a marker as a result of a successfully completed direct editing.
-         */
-        public void modify(Object element, String property, Object value) {
-            Item item = (Item) element;
-            IMarker marker = (IMarker) item.getData();
-            setProperty(marker, property, value);
-        }
-    };
-
-    /**
-     * Creates a new task list view.
-     */
-    public TaskList() {
-        super();
-    }
-
-    /**
-     * @param control
-     */
-    void addDragSupport(Control control) {
-
-        int operations = DND.DROP_COPY;
-        Transfer[] transferTypes = new Transfer[] {
-                MarkerTransfer.getInstance(), TextTransfer.getInstance() };
-        DragSourceListener listener = new DragSourceAdapter() {
-            public void dragSetData(DragSourceEvent event) {
-                performDragSetData(event);
-            }
-
-            public void dragFinished(DragSourceEvent event) {
-            }
-        };
-        viewer.addDragSupport(operations, transferTypes, listener);
-    }
-
-    void cancelEditing() {
-        getTableViewer().cancelEditing();
-    }
-
-    void createColumns() {
-        /**
-         * This class handles selections of the column headers.
-         * Selection of the column header will cause resorting
-         * of the shown tasks using that column's sorter.
-         * Repeated selection of the header will toggle
-         * sorting order (ascending versus descending).
-         */
-        SelectionListener headerListener = new SelectionAdapter() {
-            /**
-             * Handles the case of user selecting the
-             * header area.
-             * <p>If the column has not been selected previously,
-             * it will set the sorter of that column to be
-             * the current tasklist sorter. Repeated
-             * presses on the same column header will
-             * toggle sorting order (ascending/descending).
-             */
-            public void widgetSelected(SelectionEvent e) {
-                // column selected - need to sort
-                int column = table.indexOf((TableColumn) e.widget);
-                if (column == sorter.getTopPriority())
-                    sorter.reverseTopPriority();
-                else {
-                    sorter.setTopPriority(column);
-                }
-                updateSortingState();
-                viewer.refresh();
-                IDialogSettings workbenchSettings = getPlugin()
-                        .getDialogSettings();
-                IDialogSettings settings = workbenchSettings
-                        .getSection(TAG_SORT_SECTION);
-                if (settings == null)
-                    settings = workbenchSettings
-                            .addNewSection(TAG_SORT_SECTION);
-                sorter.saveState(settings);
-            }
-        };
-
-        if (memento != null) {
-            //restore columns width
-            IMemento children[] = memento.getChildren(TAG_COLUMN);
-            if (children != null) {
-                for (int i = 0; i < children.length; i++) {
-                    Integer val = children[i].getInteger(TAG_NUMBER);
-                    if (val != null) {
-                        int index = val.intValue();
-                        val = children[i].getInteger(TAG_WIDTH);
-                        if (val != null) {
-                            columnLayouts[index] = new ColumnPixelData(val
-                                    .intValue(), true);
-                        }
-                    }
-                }
-            }
-        }
-
-        boolean text = "carbon".equals(SWT.getPlatform()); //$NON-NLS-1$
-        TableLayout layout = new TableLayout();
-        table.setLayout(layout);
-        table.setHeaderVisible(true);
-
-        for (int i = 0; i < columnHeaders.length; i++) {
-            TableColumn tc = new TableColumn(table, SWT.NONE, i);
-
-            if (!text && i == 1)
-                tc.setImage(MarkerUtil.getImage("header_complete")); //$NON-NLS-1$
-            else if (!text && i == 2)
-                tc.setImage(MarkerUtil.getImage("header_priority")); //$NON-NLS-1$
-            else
-                tc.setText(columnHeaders[i]);
-
-            if (text && (i == 1 || i == 2)) {
-                tc.pack();
-                columnLayouts[i] = new ColumnPixelData(Math.max(19, tc
-                        .getWidth()), false);
-            }
-
-            tc.setResizable(columnLayouts[i].resizable);
-            layout.addColumnData(columnLayouts[i]);
-            tc.addSelectionListener(headerListener);
-        }
-    }
-
-    /**
-     * Returns a string that summarizes the contents of the
-     * given markers.
-     */
-    static String createMarkerReport(IMarker[] markers) {
-        StringBuffer buf = new StringBuffer();
-        // Create the header
-        buf.append(TaskListMessages.getString("TaskList.reportKind")); //$NON-NLS-1$
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(TaskListMessages.getString("TaskList.reportStatus")); //$NON-NLS-1$
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(TaskListMessages.getString("TaskList.reportPriority")); //$NON-NLS-1$
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(TaskListMessages.getString("TaskList.headerDescription")); //$NON-NLS-1$
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(TaskListMessages.getString("TaskList.headerResource")); //$NON-NLS-1$
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(TaskListMessages.getString("TaskList.headerFolder")); //$NON-NLS-1$
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(TaskListMessages.getString("TaskList.headerLocation")); //$NON-NLS-1$
-        buf.append(System.getProperty("line.separator")); //$NON-NLS-1$
-
-        // Create the report for the markers
-        for (int i = 0; i < markers.length; i++) {
-            writeMarker(buf, markers[i]);
-        }
-        return buf.toString();
-    }
-
-    /**
-     * Writes a string representation of the given marker to the buffer.
-     */
-    static void writeMarker(StringBuffer buf, IMarker marker) {
-        buf.append(MarkerUtil.getKindText(marker));
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(MarkerUtil.getCompleteText(marker));
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(MarkerUtil.getPriorityText(marker));
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(MarkerUtil.getMessage(marker));
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(MarkerUtil.getResourceName(marker));
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(MarkerUtil.getContainerName(marker));
-        buf.append("\t"); //$NON-NLS-1$
-        buf.append(MarkerUtil.getLineAndLocation(marker));
-        buf.append(System.getProperty("line.separator")); //$NON-NLS-1$
-    }
-
-    /* package */
-    boolean isMarkerLimitExceeded() {
-        return markerLimitExceeded;
-    }
-
-    /* package */
-    void setMarkerLimitExceeded(boolean markerLimitExceeded) {
-        this.markerLimitExceeded = markerLimitExceeded;
-
-        if (markerLimitExceeded) {
-            stackLayout.topControl = compositeMarkerLimitExceeded;
-        } else {
-            stackLayout.topControl = table;
-        }
-
-        parent.layout();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void createPartControl(Composite parent) {
-        //	long t = System.currentTimeMillis();
-        createPartControl0(parent);
-        //	t = System.currentTimeMillis() - t;
-        //	System.out.println("TaskList.createPartControl: " + t + "ms");
-    }
-
-    private void createPartControl0(Composite parent) {
-        this.parent = parent;
-        clipboard = new Clipboard(parent.getDisplay());
-        createTable(parent);
-        viewer = new TableViewer(table);
-        viewer.setUseHashlookup(true);
-        createColumns();
-        makeActions();
-        fillActionBars();
-        addDragSupport(table);
-
-        compositeMarkerLimitExceeded = new Composite(parent, SWT.NONE);
-        compositeMarkerLimitExceeded.setLayout(new GridLayout());
-        Label labelMarkerLimitExceeded = new Label(
-                compositeMarkerLimitExceeded, SWT.WRAP);
-        labelMarkerLimitExceeded.setText(TaskListMessages
-                .getString("TaskList.markerLimitExceeded")); //$NON-NLS-1$
-        parent.setLayout(stackLayout);
-        setMarkerLimitExceeded(false);
-
-        viewer.setContentProvider(new TaskListContentProvider(this));
-        viewer.setLabelProvider(new TaskListLabelProvider());
-        if (memento != null) {
-            //restore filter
-            IMemento filterMem = memento.getChild(TAG_FILTER);
-            if (filterMem != null)
-                getFilter().restoreState(filterMem);
-        }
-
-        sorter = new TaskSorter();
-        IDialogSettings workbenchSettings = getPlugin().getDialogSettings();
-        IDialogSettings settings = workbenchSettings
-                .getSection(TAG_SORT_SECTION);
-        sorter.restoreState(settings);
-        viewer.setSorter(sorter);
-
-        //update the menu to indicate how task are currently sorted
-        updateSortingState();
-        viewer.setInput(getWorkspace().getRoot());
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                TaskList.this.selectionChanged(event);
-            }
-        });
-        viewer.addOpenListener(new IOpenListener() {
-            public void open(OpenEvent event) {
-                gotoTaskAction.run();
-            }
-        });
-        viewer.getControl().addKeyListener(new KeyAdapter() {
-            public void keyPressed(KeyEvent e) {
-                handleKeyPressed(e);
-            }
-        });
-
-        //Add in some accessibility support to supplement the description that we already 
-        //get from the SWT table.
-        viewer.getControl().getAccessible().addAccessibleControlListener(
-                new AccessibleControlAdapter() {
-
-                    /* (non-Javadoc)
-                     * @see org.eclipse.swt.accessibility.AccessibleControlListener#getValue(org.eclipse.swt.accessibility.AccessibleControlEvent)
-                     */
-                    public void getValue(AccessibleControlEvent e) {
-
-                        int childIndex = e.childID;
-
-                        if (childIndex == ACC.CHILDID_SELF) {
-                            super.getValue(e);
-                            return;
-                        }
-                        Object item = viewer.getElementAt(childIndex);
-                        if (item instanceof IMarker) {
-                            IMarker marker = (IMarker) item;
-
-                            //If it is editable all we need is completeness
-                            // the rest is found by the table accessibility
-                            if (MarkerUtil.isEditable(marker))
-                                e.result = MarkerUtil.getCompleteText(marker);
-                            else
-                                //Otherwise all it needs is severity
-                                e.result = MarkerUtil.getKindText(marker);
-
-                        } else {
-                            super.getValue(e);
-                            return;
-                        }
-
-                    }
-
-                });
-
-        CellEditor editors[] = new CellEditor[columnHeaders.length];
-        editors[1] = new CheckboxCellEditor(table);
-        String[] priorities = new String[] {
-                TaskListMessages.getString("TaskList.high"), //$NON-NLS-1$
-                TaskListMessages.getString("TaskList.normal"), //$NON-NLS-1$
-                TaskListMessages.getString("TaskList.low") //$NON-NLS-1$
-        };
-        editors[2] = new ComboBoxCellEditor(table, priorities, SWT.READ_ONLY);
-        editors[3] = descriptionEditor = new TextCellEditor(table);
-        viewer.setCellEditors(editors);
-        viewer.setCellModifier(cellModifier);
-        viewer.setColumnProperties(tableColumnProperties);
-
-        // Configure the context menu to be lazily populated on each pop-up.
-        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-        menuMgr.setRemoveAllWhenShown(true);
-        menuMgr.addMenuListener(new IMenuListener() {
-            public void menuAboutToShow(IMenuManager manager) {
-                TaskList.this.fillContextMenu(manager);
-            }
-        });
-        Menu menu = menuMgr.createContextMenu(table);
-        table.setMenu(menu);
-        // Be sure to register it so that other plug-ins can add actions.
-        getSite().registerContextMenu(menuMgr, viewer);
-
-        // Track selection in the page.
-        getSite().getPage().addPartListener(partListener);
-
-        // Add global action handlers.
-        editorActionHandler = new CellEditorActionHandler(getViewSite()
-                .getActionBars());
-        editorActionHandler.addCellEditor(descriptionEditor);
-        editorActionHandler.setCopyAction(copyTaskAction);
-        editorActionHandler.setPasteAction(pasteTaskAction);
-        editorActionHandler.setDeleteAction(removeTaskAction);
-        editorActionHandler.setSelectAllAction(selectAllAction);
-
-        getViewSite().getActionBars().setGlobalActionHandler(
-                ActionFactory.PROPERTIES.getId(), propertiesAction);
-
-        getSite().setSelectionProvider(viewer);
-
-        if (memento != null)
-            restoreState(memento);
-        memento = null;
-
-        // Set help on the view itself
-        viewer.getControl().addHelpListener(new HelpListener() {
-            /*
-             * @see HelpListener#helpRequested(HelpEvent)
-             */
-            public void helpRequested(HelpEvent e) {
-                String contextId = null;
-                // See if there is a context registered for the current selection
-                IMarker marker = (IMarker) ((IStructuredSelection) getSelection())
-                        .getFirstElement();
-                if (marker != null) {
-                    contextId = IDE.getMarkerHelpRegistry().getHelp(marker);
-                }
-
-                if (contextId == null)
-                    contextId = ITaskListHelpContextIds.TASK_LIST_VIEW;
-
-                getSite().getWorkbenchWindow().getWorkbench().getHelpSystem()
-						.displayHelp(contextId);
-            }
-        });
-
-        // Prime the status line and title.
-        updateStatusMessage();
-        updateTitle();
-    }
-
-    /**
-     * Creates the table control.
-     */
-    void createTable(Composite parent) {
-        table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI
-                | SWT.FULL_SELECTION);
-        table.setLinesVisible(true);
-        //table.setLayout(new TableLayout());
-
-        new TableEditor(table);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void dispose() {
-        super.dispose();
-        getSite().getPage().removePartListener(partListener);
-        if (focusSelectionProvider != null) {
-            focusSelectionProvider
-                    .removeSelectionChangedListener(focusSelectionChangedListener);
-            focusSelectionProvider = null;
-        }
-        focusPart = null;
-        if (editorActionHandler != null) {
-            editorActionHandler.dispose();
-            editorActionHandler = null;
-        }
-        if (clipboard != null)
-            clipboard.dispose();
-    }
-
-    /**
-     * Activates the editor on the given marker.
-     * 
-     * @param marker the marker to edit
-     */
-    public void edit(IMarker marker) {
-        viewer.editElement(marker, 3);
-    }
-
-    /**
-     * Fills the local tool bar and menu manager with actions.
-     */
-    void fillActionBars() {
-        IActionBars actionBars = getViewSite().getActionBars();
-        IMenuManager menu = actionBars.getMenuManager();
-        IMenuManager submenu = new MenuManager(TaskListMessages
-                .getString("SortByMenu.text")); //$NON-NLS-1$
-
-        menu.add(submenu);
-        submenu.add(sortByCategoryAction);
-        submenu.add(sortByCompletedAction);
-        submenu.add(sortByPriorityAction);
-        submenu.add(sortByDescriptionAction);
-        submenu.add(sortByResourceAction);
-        submenu.add(sortByContainerAction);
-        submenu.add(sortByLocationAction);
-        submenu.add(sortByCreationTimeAction);
-        submenu.add(new Separator());
-        submenu.add(sortAscendingAction);
-        submenu.add(sortDescendingAction);
-
-        menu.add(filtersAction);
-
-        IToolBarManager toolBar = actionBars.getToolBarManager();
-        toolBar.add(newTaskAction);
-        toolBar.add(removeTaskAction);
-        toolBar.add(filtersAction);
-    }
-
-    /**
-     * Contributes actions to the pop-up menu.
-     */
-    void fillContextMenu(IMenuManager menu) {
-        // update enabled state for actions that aren't updated in selectionChanged
-        IStructuredSelection selection = (IStructuredSelection) getSelection();
-        markCompletedAction.setEnabled(markCompletedAction
-                .shouldEnable(selection));
-        resolveMarkerAction.setEnabled(resolveMarkerAction
-                .shouldEnable(selection));
-
-        // add the actions to the menu
-        menu.add(newTaskAction);
-        menu.add(gotoTaskAction);
-        menu.add(new Separator());
-        menu.add(copyTaskAction);
-        menu.add(pasteTaskAction);
-        menu.add(removeTaskAction);
-        menu.add(new Separator());
-        menu.add(markCompletedAction);
-        menu.add(purgeCompletedAction);
-        menu.add(new Separator());
-        menu.add(resolveMarkerAction);
-        menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        menu
-                .add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS
-                        + "-end")); //$NON-NLS-1$
-        menu.add(propertiesAction);
-    }
-
-    /**
-     * The filter settings have changed.
-     * Refreshes the viewer and title bar.
-     */
-    void filterChanged() {
-
-        BusyIndicator.showWhile(viewer.getControl().getShell().getDisplay(),
-                new Runnable() {
-                    public void run() {
-                        // Filter has already been updated by dialog; just refresh.
-                        // Don't need to update labels for existing elements 
-                        // since changes to filter settings don't affect them.
-                        viewer.getControl().setRedraw(false);
-                        viewer.refresh(false);
-                        viewer.getControl().setRedraw(true);
-                        // update after refresh since the content provider caches summary info
-                        updateStatusMessage();
-                        updateTitle();
-                    }
-                });
-
-    }
-
-    void focusSelectionChanged(SelectionChangedEvent event) {
-        updateFocusResource(event.getSelection());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class)
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IShowInSource.class) {
-            return new IShowInSource() {
-                public ShowInContext getShowInContext() {
-                    return new ShowInContext(null, getSelection());
-                }
-            };
-        }
-        if (adapter == IShowInTargetList.class) {
-            return new IShowInTargetList() {
-                public String[] getShowInTargetIds() {
-                    return new String[] { IPageLayout.ID_RES_NAV };
-                }
-
-            };
-        }
-        return super.getAdapter(adapter);
-    }
-
-    /**
-     * Returns a clipboard for cut/copy/paste actions.
-     * <p>
-     * May only be called after this part's viewer has been created.
-     * The clipboard is disposed when this part is disposed.
-     * </p>
-     * @return a clipboard
-     * @since 2.0
-     */
-    /*package*/
-    Clipboard getClipboard() {
-        return clipboard;
-    }
-
-    /**
-     * Returns the filter for the viewer.
-     */
-    TasksFilter getFilter() {
-        return filter;
-    }
-
-    /**
-     * Returns the UI plugin for the task list.
-     */
-    static AbstractUIPlugin getPlugin() {
-        return (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-    }
-
-    /**
-     * Returns the resource for which the task list is showing tasks.
-     *
-     * @return the resource, possibly the workspace root
-     */
-    public IResource getResource() {
-        if (showSelections()) {
-            if (focusResources != null && focusResources.length >= 1
-                    && focusResources[0] != null) {
-                return focusResources[0];
-            }
-        }
-
-        return getWorkspace().getRoot();
-    }
-
-    /**
-     * Get the resources.
-     * 
-     * @return the resources
-     */
-    public IResource[] getResources() {
-        if (showSelections()) {
-            if (focusResources != null) {
-                return focusResources;
-            }
-        }
-
-        return new IResource[] { getWorkspace().getRoot() };
-    }
-
-    /**
-     * Returns the resource depth which the task list is using to show tasks.
-     *
-     * @return an <code>IResource.DEPTH_*</code> constant
-     */
-    int getResourceDepth() {
-        if (showSelections() && !showChildrenHierarchy())
-            return IResource.DEPTH_ZERO;
-
-        return IResource.DEPTH_INFINITE;
-    }
-
-    /**
-     * API method which returns the current selection.
-     *
-     * @return the current selection (element type: <code>IMarker</code>)
-     */
-    public ISelection getSelection() {
-        return viewer.getSelection();
-    }
-
-    /**
-     * Returns the message to display in the status line.
-     */
-    String getStatusMessage(IStructuredSelection selection) {
-        if (selection != null && selection.size() == 1) {
-            IMarker marker = (IMarker) selection.getFirstElement();
-            return MarkerUtil.getMessage(marker);
-        }
-
-        TaskListContentProvider provider = (TaskListContentProvider) viewer
-                .getContentProvider();
-
-        if (selection != null && selection.size() > 1) {
-            return provider.getStatusSummarySelected(selection);
-        }
-        return provider.getStatusSummaryVisible();
-    }
-
-    /**
-     * When created, new task instance is cached in
-     * order to keep it at the top of the list until
-     * first edited. This method returns it, or
-     * null if there is no task instance pending
-     * for first editing.
-     */
-    TableViewer getTableViewer() {
-        return viewer;
-    }
-
-    /**
-     * Returns the workspace.
-     */
-    IWorkspace getWorkspace() {
-        return ResourcesPlugin.getWorkspace();
-    }
-
-    /**
-     * Handles key events in viewer.
-     */
-    void handleKeyPressed(KeyEvent event) {
-        if (event.character == SWT.DEL && event.stateMask == 0
-                && removeTaskAction.isEnabled())
-            removeTaskAction.run();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     */
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site, memento);
-        this.memento = memento;
-    }
-
-    /**
-     * Returns whether we are interested in markers on the given resource.
-     */
-    boolean checkResource(IResource resource) {
-        if (!showSelections()) {
-            return true;
-        }
-
-        IResource[] resources = getResources();
-        IResource resource2;
-
-        if (showOwnerProject()) {
-            IProject project;
-
-            for (int i = 0, l = resources.length; i < l; i++) {
-                resource2 = resources[i];
-
-                if (resource2 == null) {
-                    return true;
-                }
-                project = resource2.getProject();
-
-                if (project == null
-                        || project.equals(resource.getProject()))
-                    return true;
-            }
-        }
-
-        if (showChildrenHierarchy()) {
-            for (int i = 0, l = resources.length; i < l; i++) {
-                resource2 = resources[i];
-
-                if (resource2 != null
-                        && resource2.getFullPath().isPrefixOf(
-                                resource.getFullPath()))
-                    return true;
-            }
-        } else
-            for (int i = 0, l = resources.length; i < l; i++) {
-                resource2 = resources[i];
-
-                if (resource.equals(resource2))
-                    return true;
-            }
-
-        return false;
-    }
-
-    /**
-     * Returns whether the given marker should be shown,
-     * given the current filter settings.
-     */
-    boolean shouldShow(IMarker marker) {
-        return checkResource(marker.getResource())
-                && getFilter().select(marker);
-    }
-
-    /**
-     * Makes actions used in the local tool bar and
-     * popup menu.
-     */
-    void makeActions() {
-        ISharedImages sharedImages = PlatformUI.getWorkbench()
-                .getSharedImages();
-
-        // goto
-        gotoTaskAction = new GotoTaskAction(this, "gotoFile"); //$NON-NLS-1$
-        gotoTaskAction.setText(TaskListMessages.getString("GotoTask.text")); //$NON-NLS-1$
-        gotoTaskAction.setToolTipText(TaskListMessages
-                .getString("GotoTask.tooltip")); //$NON-NLS-1$
-        gotoTaskAction.setImageDescriptor(MarkerUtil
-                .getImageDescriptor("gotoobj")); //$NON-NLS-1$
-        gotoTaskAction.setEnabled(false);
-
-        // new task
-        newTaskAction = new NewTaskAction(this, "newTask"); //$NON-NLS-1$
-        newTaskAction.setText(TaskListMessages.getString("NewTask.text")); //$NON-NLS-1$
-        newTaskAction.setToolTipText(TaskListMessages
-                .getString("NewTask.tooltip")); //$NON-NLS-1$
-        newTaskAction.setImageDescriptor(MarkerUtil
-                .getImageDescriptor("addtsk")); //$NON-NLS-1$
-        newTaskAction.setDisabledImageDescriptor(MarkerUtil
-                .getImageDescriptor("addtsk_disabled")); //$NON-NLS-1$
-
-        // copy task
-        copyTaskAction = new CopyTaskAction(this, "copy"); //$NON-NLS-1$
-        copyTaskAction.setText(TaskListMessages.getString("CopyTask.text")); //$NON-NLS-1$
-        copyTaskAction.setToolTipText(TaskListMessages
-                .getString("CopyTask.tooltip")); //$NON-NLS-1$
-        copyTaskAction.setEnabled(false);
-
-        // paste task
-        pasteTaskAction = new PasteTaskAction(this, "paste"); //$NON-NLS-1$
-        pasteTaskAction.setText(TaskListMessages.getString("PasteTask.text")); //$NON-NLS-1$
-        pasteTaskAction.setToolTipText(TaskListMessages
-                .getString("PasteTask.tooltip")); //$NON-NLS-1$
-        pasteTaskAction.setEnabled(false);
-
-        // remove task
-        removeTaskAction = new RemoveTaskAction(this, "delete"); //$NON-NLS-1$
-        removeTaskAction.setText(TaskListMessages.getString("RemoveTask.text")); //$NON-NLS-1$
-        removeTaskAction.setToolTipText(TaskListMessages
-                .getString("RemoveTask.tooltip")); //$NON-NLS-1$
-        removeTaskAction.setImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-        removeTaskAction.setDisabledImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED));
-        removeTaskAction.setEnabled(false);
-
-        //mark completed task
-        markCompletedAction = new MarkCompletedAction(this, "markCompleted"); //$NON-NLS-1$
-        markCompletedAction.setText(TaskListMessages
-                .getString("MarkCompleted.text")); //$NON-NLS-1$
-        markCompletedAction.setToolTipText(TaskListMessages
-                .getString("MarkCompleted.tooltip")); //$NON-NLS-1$
-        markCompletedAction.setEnabled(false);
-
-        //delete completed task
-        purgeCompletedAction = new PurgeCompletedAction(this, "deleteCompleted"); //$NON-NLS-1$
-        purgeCompletedAction.setText(TaskListMessages
-                .getString("PurgeCompleted.text")); //$NON-NLS-1$
-        purgeCompletedAction.setToolTipText(TaskListMessages
-                .getString("PurgeCompleted.tooltip")); //$NON-NLS-1$
-        purgeCompletedAction.setImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE));
-        purgeCompletedAction.setEnabled(true);
-
-        // select all
-        selectAllAction = new SelectAllTasksAction(this, "selectAll"); //$NON-NLS-1$
-        selectAllAction.setText(TaskListMessages.getString("SelectAll.text")); //$NON-NLS-1$
-        selectAllAction.setToolTipText(TaskListMessages
-                .getString("SelectAll.tooltip")); //$NON-NLS-1$
-
-        // resolutions
-        resolveMarkerAction = new ResolveMarkerAction(this, "resolve"); //$NON-NLS-1$
-        resolveMarkerAction.setText(TaskListMessages.getString("Resolve.text")); //$NON-NLS-1$
-        resolveMarkerAction.setToolTipText(TaskListMessages
-                .getString("Resolve.tooltip")); //$NON-NLS-1$
-        resolveMarkerAction.setEnabled(false);
-
-        // Sort by ->	
-        sortByCategoryAction = new SortByAction(TaskSorter.TYPE);
-        sortByCategoryAction.setText(TaskListMessages
-                .getString("SortByCategory.text")); //$NON-NLS-1$
-        sortByCategoryAction.setToolTipText(TaskListMessages
-                .getString("SortByCategory.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByCategoryAction,
-				ITaskListHelpContextIds.TASK_SORT_TYPE_ACTION);
-
-        sortByCompletedAction = new SortByAction(TaskSorter.COMPLETION);
-        sortByCompletedAction.setText(TaskListMessages
-                .getString("SortByCompleted.text")); //$NON-NLS-1$
-        sortByCompletedAction.setToolTipText(TaskListMessages
-                .getString("SortByCompleted.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				sortByCompletedAction,
-				ITaskListHelpContextIds.TASK_SORT_COMPLETED_ACTION);
-
-        sortByPriorityAction = new SortByAction(TaskSorter.PRIORITY);
-        sortByPriorityAction.setText(TaskListMessages
-                .getString("SortByPriority.text")); //$NON-NLS-1$
-        sortByPriorityAction.setToolTipText(TaskListMessages
-                .getString("SortByPriority.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByPriorityAction,
-				ITaskListHelpContextIds.TASK_SORT_PRIORITY_ACTION);
-
-        sortByDescriptionAction = new SortByAction(TaskSorter.DESCRIPTION);
-        sortByDescriptionAction.setText(TaskListMessages
-                .getString("SortByDescription.text")); //$NON-NLS-1$
-        sortByDescriptionAction.setToolTipText(TaskListMessages
-                .getString("SortByDescription.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				sortByDescriptionAction,
-				ITaskListHelpContextIds.TASK_SORT_DESCRIPTION_ACTION);
-
-        sortByResourceAction = new SortByAction(TaskSorter.RESOURCE);
-        sortByResourceAction.setText(TaskListMessages
-                .getString("SortByResource.text")); //$NON-NLS-1$
-        sortByResourceAction.setToolTipText(TaskListMessages
-                .getString("SortByResource.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByResourceAction,
-				ITaskListHelpContextIds.TASK_SORT_RESOURCE_ACTION);
-
-        sortByContainerAction = new SortByAction(TaskSorter.FOLDER);
-        sortByContainerAction.setText(TaskListMessages
-                .getString("SortByContainer.text")); //$NON-NLS-1$
-        sortByContainerAction.setToolTipText(TaskListMessages
-                .getString("SortByContainer.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				sortByContainerAction,
-				ITaskListHelpContextIds.TASK_SORT_FOLDER_ACTION);
-
-        sortByLocationAction = new SortByAction(TaskSorter.LOCATION);
-        sortByLocationAction.setText(TaskListMessages
-                .getString("SortByLocation.text")); //$NON-NLS-1$
-        sortByLocationAction.setToolTipText(TaskListMessages
-                .getString("SortByLocation.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortByLocationAction,
-				ITaskListHelpContextIds.TASK_SORT_LOCATION_ACTION);
-
-        sortByCreationTimeAction = new SortByAction(TaskSorter.CREATION_TIME);
-        sortByCreationTimeAction.setText(TaskListMessages
-                .getString("SortByCreationTime.text")); //$NON-NLS-1$
-        sortByCreationTimeAction.setToolTipText(TaskListMessages
-                .getString("SortByCreationTime.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				sortByCreationTimeAction,
-				ITaskListHelpContextIds.TASK_SORT_CREATION_TIME_ACTION);
-
-        sortAscendingAction = new SortDirectionAction(TaskSorter.ASCENDING);
-        sortAscendingAction.setText(TaskListMessages
-                .getString("SortAscending.text")); //$NON-NLS-1$
-        sortAscendingAction.setToolTipText(TaskListMessages
-                .getString("SortAscending.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortAscendingAction,
-				ITaskListHelpContextIds.TASK_SORT_ASCENDING_ACTION);
-
-        sortDescendingAction = new SortDirectionAction(TaskSorter.DESCENDING);
-        sortDescendingAction.setText(TaskListMessages
-                .getString("SortDescending.text")); //$NON-NLS-1$
-        sortDescendingAction.setToolTipText(TaskListMessages
-                .getString("SortDescending.tooltip")); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(sortDescendingAction,
-				ITaskListHelpContextIds.TASK_SORT_DESCENDING_ACTION);
-
-        // filters...
-        filtersAction = new FiltersAction(this, "filter"); //$NON-NLS-1$
-        filtersAction.setText(TaskListMessages.getString("Filters.text")); //$NON-NLS-1$
-        filtersAction.setToolTipText(TaskListMessages
-                .getString("Filters.tooltip")); //$NON-NLS-1$
-        filtersAction.setImageDescriptor(MarkerUtil
-                .getImageDescriptor("filter")); //$NON-NLS-1$
-
-        // properties
-        propertiesAction = new TaskPropertiesAction(this, "properties"); //$NON-NLS-1$
-        propertiesAction.setText(TaskListMessages.getString("Properties.text")); //$NON-NLS-1$
-        propertiesAction.setToolTipText(TaskListMessages
-                .getString("Properties.tooltip")); //$NON-NLS-1$
-        propertiesAction.setEnabled(false);
-    }
-
-    /**
-     * The markers have changed.  Update the status line and title bar.
-     */
-    void markersChanged() {
-        updateStatusMessage();
-        updateTitle();
-    }
-
-    void partActivated(IWorkbenchPart part) {
-        if (part == focusPart)
-            return;
-
-        if (focusSelectionProvider != null) {
-            focusSelectionProvider
-                    .removeSelectionChangedListener(focusSelectionChangedListener);
-            focusSelectionProvider = null;
-        }
-
-        focusPart = part;
-        if (focusPart != null) {
-            focusSelectionProvider = focusPart.getSite().getSelectionProvider();
-            if (focusSelectionProvider != null) {
-                focusSelectionProvider
-                        .addSelectionChangedListener(focusSelectionChangedListener);
-                updateFocusResource(focusSelectionProvider.getSelection());
-            } else {
-                updateFocusResource(null);
-            }
-        }
-
-    }
-
-    void partClosed(IWorkbenchPart part) {
-        if (part != focusPart)
-            return;
-        if (focusSelectionProvider != null) {
-            focusSelectionProvider
-                    .removeSelectionChangedListener(focusSelectionChangedListener);
-            focusSelectionProvider = null;
-        }
-        focusPart = null;
-    }
-
-    /**
-     * The user is attempting to drag marker data.  Add the appropriate
-     * data to the event depending on the transfer type.
-     */
-    void performDragSetData(DragSourceEvent event) {
-        if (MarkerTransfer.getInstance().isSupportedType(event.dataType)) {
-            event.data = ((IStructuredSelection) viewer.getSelection())
-                    .toArray();
-            return;
-        }
-        if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-            Object[] data = ((IStructuredSelection) viewer.getSelection())
-                    .toArray();
-            if (data != null) {
-                IMarker[] markers = new IMarker[data.length];
-                for (int i = 0; i < markers.length; i++) {
-                    markers[i] = (IMarker) data[i];
-                }
-                event.data = createMarkerReport(markers);
-            }
-            return;
-        }
-    }
-
-    void restoreState(IMemento memento) {
-        //restore selection
-        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-        IMemento selectionMem = memento.getChild(TAG_SELECTION);
-        if (selectionMem != null) {
-            ArrayList selectionList = new ArrayList();
-            IMemento markerMems[] = selectionMem.getChildren(TAG_MARKER);
-            for (int i = 0; i < markerMems.length; i++) {
-                try {
-                    long id = Long.parseLong(markerMems[i].getString(TAG_ID));
-                    IResource resource = root.findMember(markerMems[i]
-                            .getString(TAG_RESOURCE));
-                    if (resource != null) {
-                        IMarker marker = resource.findMarker(id);
-                        if (marker != null) {
-                            selectionList.add(marker);
-                        }
-                    }
-                } catch (NumberFormatException e) {
-                } catch (CoreException e) {
-                }
-
-            }
-            viewer.setSelection(new StructuredSelection(selectionList));
-        }
-
-        Table table = viewer.getTable();
-        //restore vertical position
-        try {
-            String topIndexStr = memento.getString(TAG_TOP_INDEX);
-            table.setTopIndex(Integer.parseInt(topIndexStr));
-        } catch (NumberFormatException e) {
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     */
-    public void saveState(IMemento memento) {
-        if (viewer == null) {
-            if (this.memento != null) //Keep the old state;
-                memento.putMemento(this.memento);
-            return;
-        }
-
-        //save filter
-        getFilter().saveState(memento.createChild(TAG_FILTER));
-
-        //save columns width
-        Table table = viewer.getTable();
-        TableColumn columns[] = table.getColumns();
-        //check whether it has ever been layed out
-        //workaround for 1GDTU19: ITPUI:WIN2000 - Task list columns "collapsed" left
-        boolean shouldSave = false;
-        for (int i = 0; i < columns.length; i++) {
-            if (columnLayouts[i].resizable && columns[i].getWidth() != 0) {
-                shouldSave = true;
-                break;
-            }
-        }
-        if (shouldSave) {
-            for (int i = 0; i < columns.length; i++) {
-                if (columnLayouts[i].resizable) {
-                    IMemento child = memento.createChild(TAG_COLUMN);
-                    child.putInteger(TAG_NUMBER, i);
-                    child.putInteger(TAG_WIDTH, columns[i].getWidth());
-                }
-            }
-        }
-
-        //save selection
-        Object markers[] = ((IStructuredSelection) viewer.getSelection())
-                .toArray();
-        if (markers.length > 0) {
-            IMemento selectionMem = memento.createChild(TAG_SELECTION);
-            for (int i = 0; i < markers.length; i++) {
-                IMemento elementMem = selectionMem.createChild(TAG_MARKER);
-                IMarker marker = (IMarker) markers[i];
-                elementMem.putString(TAG_RESOURCE, marker.getResource()
-                        .getFullPath().toString());
-                elementMem.putString(TAG_ID, String.valueOf(marker.getId()));
-            }
-        }
-
-        //save vertical position
-        int topIndex = table.getTopIndex();
-        memento.putString(TAG_TOP_INDEX, String.valueOf(topIndex));
-    }
-
-    /**
-     * Handles marker selection change in the task list by updating availability of
-     * the actions in the local tool bar.
-     */
-    void selectionChanged(SelectionChangedEvent event) {
-        IStructuredSelection selection = (IStructuredSelection) event
-                .getSelection();
-        updateStatusMessage(selection);
-        updateTitle();
-
-        updatePasteEnablement();
-
-        // If selection is empty, then disable copy, remove and goto.	
-        if (selection.isEmpty()) {
-            copyTaskAction.setEnabled(false);
-            removeTaskAction.setEnabled(false);
-            gotoTaskAction.setEnabled(false);
-            propertiesAction.setEnabled(false);
-            return;
-        }
-        
-
-        // Can only open properties for a single task at a time
-        propertiesAction.setEnabled(selection.size() == 1);
-
-        // Can always copy
-        copyTaskAction.setEnabled(true);
-
-        // Determine if goto should be enabled
-        IMarker selectedMarker = (IMarker) selection.getFirstElement();
-        boolean canJump = selection.size() == 1
-                && selectedMarker.getResource().getType() == IResource.FILE;
-        gotoTaskAction.setEnabled(canJump);
-
-        // Determine if remove should be enabled
-        boolean canRemove = true;
-        for (Iterator markers = selection.iterator(); markers.hasNext();) {
-            IMarker m = (IMarker) markers.next();
-            if (!MarkerUtil.isEditable(m)) {
-                canRemove = false;
-                break;
-            }
-        }
-        removeTaskAction.setEnabled(canRemove);
-
-        // if there is an active editor on the selection's input, tell
-        // the editor to goto the marker
-        if (canJump) {
-            IEditorPart editor = getSite().getPage().getActiveEditor();
-            if (editor != null) {
-                IEditorInput input = editor.getEditorInput();
-                if (input instanceof IFileEditorInput) {
-                    IFile file = ((IFileEditorInput) input).getFile();
-                    if (selectedMarker.getResource().equals(file)) {
-                        IDE.gotoMarker(editor, selectedMarker);
-                    }
-                }
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-
-    /**
-     * Sets the property on a marker to the given value.
-     */
-    void setProperty(IMarker marker, String property, Object value) {
-        if (MarkerUtil.getProperty(marker, property).equals(value)) {
-            return;
-        }
-        try {
-            if (property == tableColumnProperties[1]) { // Completed
-                marker.setAttribute(IMarker.DONE, value);
-            } else if (property == tableColumnProperties[2]) { // Priority
-                // this property is used only by cell editor, where order is High, Normal, Low
-                marker.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_HIGH
-                        - ((Integer) value).intValue());
-            } else if (property == tableColumnProperties[3]) { // Description
-                marker.setAttribute(IMarker.MESSAGE, value);
-                // Let's not refilter too lightly - see if it is needed
-                //			TaskSorter sorter = (TaskSorter) viewer.getSorter();
-                //			if (sorter != null && sorter.getColumnNumber() == 3) {
-                //				viewer.refresh();
-                //			}
-            }
-        } catch (CoreException e) {
-            String msg = TaskListMessages
-                    .getString("TaskList.errorModifyingTask"); //$NON-NLS-1$
-            ErrorDialog.openError(getSite().getShell(), msg, null, e
-                    .getStatus());
-        }
-    }
-
-    /**
-     * API method which sets the current selection of this viewer.
-     *
-     * @param selection a structured selection of <code>IMarker</code> objects
-     * @param reveal <code>true</code> to reveal the selection, <false> otherwise
-     */
-    public void setSelection(ISelection selection, boolean reveal) {
-        Assert.isTrue(selection instanceof IStructuredSelection);
-        IStructuredSelection ssel = (IStructuredSelection) selection;
-
-        for (Iterator i = ssel.iterator(); i.hasNext();)
-            Assert.isTrue(i.next() instanceof IMarker);
-
-        if (viewer != null)
-            viewer.setSelection(selection, reveal);
-    }
-
-    boolean showChildrenHierarchy() {
-        switch (getFilter().onResource) {
-        case TasksFilter.ON_ANY_RESOURCE:
-        case TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN:
-        case TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT:
-        // added by cagatayk@acm.org
-        case TasksFilter.ON_WORKING_SET:
-        default:
-            return true;
-        case TasksFilter.ON_SELECTED_RESOURCE_ONLY:
-            return false;
-        }
-    }
-
-    boolean showSelections() {
-        switch (getFilter().onResource) {
-        case TasksFilter.ON_SELECTED_RESOURCE_ONLY:
-        case TasksFilter.ON_SELECTED_RESOURCE_AND_CHILDREN:
-        case TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT:
-            // added by cagatayk@acm.org
-            return true;
-        case TasksFilter.ON_ANY_RESOURCE:
-        case TasksFilter.ON_WORKING_SET:
-        default:
-            return false;
-        }
-    }
-
-    // showOwnerProject() added by cagatayk@acm.org 
-    boolean showOwnerProject() {
-        return getFilter().onResource == TasksFilter.ON_ANY_RESOURCE_OF_SAME_PROJECT;
-    }
-
-    /**
-     * Processes state change of the 'showSelections' switch.
-     * If true, it will resync with the saved input element.
-     * Otherwise, it will reconfigure to show all the
-     * problems/tasks in the workbench.
-     * 
-     * @param value the value
-     */
-    void toggleInputSelection(boolean value) {
-        /*
-         if (value) {
-         handleInput(inputSelection, false);
-         } else {
-         // detach from input and link to the workbench object
-         handleInput(WorkbenchPlugin.getPluginWorkbench(), true);
-         }
-         updateTitle();
-         */
-    }
-
-    /**
-     * If true, current input will be
-     * remembered and further selections will be
-     * ignored.
-     * 
-     * @param value the value
-     */
-    void toggleLockInput(boolean value) {
-        /*
-         if (!value) {
-         handleInput(inputSelection, false);
-         lockedInput = null;
-         } else {
-         lockedInput = (IElement) getInput();
-         }
-         String lockedInputPath = "";
-         if (lockedInput != null && lockedInput instanceof IResource) {
-         IResource resource = (IResource) lockedInput;
-         lockedInputPath = resource.getFullPath().toString();
-         }
-         IDialogStore store = WorkbenchPlugin.getDefault().getDialogStore();
-         store.put(STORE_LOCKED_INPUT, lockedInputPath);
-         updateTitle();
-         */
-    }
-
-    /**
-     * Updates the focus resource, and refreshes if we're showing only tasks for the focus resource.
-     */
-    void updateFocusResource(ISelection selection) {
-        ArrayList list = new ArrayList();
-
-        if (selection instanceof IStructuredSelection) {
-            Iterator iterator = ((IStructuredSelection) selection).iterator();
-            while (iterator.hasNext()) {
-                Object object = iterator.next();
-
-                if (object instanceof IAdaptable) {
-                    ITaskListResourceAdapter taskListResourceAdapter;
-                    Object adapter = ((IAdaptable) object)
-                            .getAdapter(ITaskListResourceAdapter.class);
-                    if (adapter != null
-                            && adapter instanceof ITaskListResourceAdapter) {
-                        taskListResourceAdapter = (ITaskListResourceAdapter) adapter;
-                    } else {
-                        taskListResourceAdapter = DefaultTaskListResourceAdapter
-                                .getDefault();
-                    }
-
-                    IResource resource = taskListResourceAdapter
-                            .getAffectedResource((IAdaptable) object);
-                    if (resource != null) {
-                        list.add(resource);
-                    }
-                }
-            }
-        }
-
-        if (list.size() == 0 && focusPart instanceof IEditorPart) {
-            IEditorInput input = ((IEditorPart) focusPart).getEditorInput();
-
-            if (input != null) {
-                if (input instanceof IFileEditorInput) {
-                    IFile file = ((IFileEditorInput) input).getFile();
-                    if (file != null) {
-                        list.add(file);
-                    }
-                } else {
-                    IResource resource = (IResource) input
-                            .getAdapter(IResource.class);
-                    if (resource == null) {
-                        resource = (IFile) input.getAdapter(IFile.class);
-                    }
-                    if (resource != null) {
-                        list.add(resource);
-                    }
-                }
-            }
-        }
-
-        int l = list.size();
-        if (l < 1) {
-            return; // required to achieve lazy update behavior.
-        }
-
-        IResource[] resources = (IResource[]) list.toArray(new IResource[l]);
-        for (int i = 0; i < l; i++) {
-            Assert.isNotNull(resources[i]);
-        }
-
-        if (!Arrays.equals(resources, focusResources)) {
-            boolean updateNeeded = false;
-
-            if (showOwnerProject()) {
-                int m = focusResources == null ? 0 : focusResources.length;
-                if (l != m) {
-                    updateNeeded = true;
-                } else {
-                    for (int i = 0; i < l; i++) {
-                        IProject oldProject = m < 1 ? null : focusResources[0]
-                                .getProject();
-                        IProject newProject = resources[0].getProject();
-                        boolean projectsEqual = (oldProject == null ? newProject == null
-                                : oldProject.equals(newProject));
-                        if (!projectsEqual) {
-                            updateNeeded = true;
-                            break;
-                        }
-                    }
-                }
-            } else if (showSelections()) {
-                updateNeeded = true;
-            }
-
-            // remember the focus resources even if update is not needed,
-            // so that we know them if the filter settings change
-            focusResources = resources;
-
-            if (updateNeeded) {
-                viewer.getControl().setRedraw(false);
-                viewer.refresh();
-                viewer.getControl().setRedraw(true);
-                updateStatusMessage();
-                updateTitle();
-            }
-        }
-    }
-
-    /**
-     * Updates the enablement of the paste action
-     */
-    void updatePasteEnablement() {
-        // Paste if clipboard contains tasks
-        MarkerTransfer transfer = MarkerTransfer.getInstance();
-        IMarker[] markerData = (IMarker[]) getClipboard().getContents(transfer);
-        boolean canPaste = false;
-        if (markerData != null) {
-            for (int i = 0; i < markerData.length; i++) {
-                if (MarkerUtil.isMarkerType(markerData[i], IMarker.TASK)) {
-                    canPaste = true;
-                    break;
-                }
-            }
-        }
-        pasteTaskAction.setEnabled(canPaste);
-    }
-
-    /**
-     * Updates that message displayed in the status line.
-     */
-    void updateStatusMessage() {
-        ISelection selection = viewer.getSelection();
-
-        if (selection instanceof IStructuredSelection)
-            updateStatusMessage((IStructuredSelection) selection);
-        else
-            updateStatusMessage(null);
-    }
-
-    /**
-     * Updates that message displayed in the status line.
-     */
-    void updateStatusMessage(IStructuredSelection selection) {
-        String message = getStatusMessage(selection);
-        getViewSite().getActionBars().getStatusLineManager()
-                .setMessage(message);
-    }
-
-    /**
-     * Updates the title of the view.  Should be called when filters change.
-     */
-    void updateTitle() {
-        TaskListContentProvider provider = (TaskListContentProvider) getTableViewer()
-                .getContentProvider();
-        String summary = provider.getTitleSummary();
-        setContentDescription(summary);
-    }
-
-    /**
-     * Method updateSortingState.
-     */
-    void updateSortingState() {
-        int curColumn = sorter.getTopPriority();
-        sortByCategoryAction.setChecked(curColumn == TaskSorter.TYPE);
-        sortByCompletedAction.setChecked(curColumn == TaskSorter.COMPLETION);
-        sortByPriorityAction.setChecked(curColumn == TaskSorter.PRIORITY);
-        sortByDescriptionAction.setChecked(curColumn == TaskSorter.DESCRIPTION);
-        sortByResourceAction.setChecked(curColumn == TaskSorter.RESOURCE);
-        sortByContainerAction.setChecked(curColumn == TaskSorter.FOLDER);
-        sortByLocationAction.setChecked(curColumn == TaskSorter.LOCATION);
-        sortByCreationTimeAction
-                .setChecked(curColumn == TaskSorter.CREATION_TIME);
-
-        int curDirection = sorter.getTopPriorityDirection();
-        sortAscendingAction.setChecked(curDirection == TaskSorter.ASCENDING);
-        sortDescendingAction.setChecked(curDirection == TaskSorter.DESCENDING);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java
deleted file mode 100644
index 1b29c57..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListContentProvider.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * Task list content provider returns elements that should be
- * in the task list depending on the selection mode.
- * It goes directly to the marker manager and retreives
- * tasks and problems.
- */
-class TaskListContentProvider implements IStructuredContentProvider,
-        IResourceChangeListener {
-
-    private static final int TASKS = 0;
-
-    private static final int ERRORS = 1;
-
-    private static final int WARNINGS = 2;
-
-    private static final int INFOS = 3;
-
-    private TaskList taskList;
-
-    private TableViewer viewer;
-
-    private IResource input;
-
-    /* cached counts of tasks, errors, warnings and infos for the visible 
-     * markers, maintained incrementally */
-    private int[] visibleMarkerCounts = null;
-
-    /* cached count of all markers in workspace matching supported root types 
-     * (tasks & problems), maintained incrementally */
-    private int totalMarkerCount = -1;
-
-    /**
-     * The constructor.
-     */
-    public TaskListContentProvider(TaskList taskList) {
-        this.taskList = taskList;
-        this.viewer = taskList.getTableViewer();
-    }
-
-    private boolean getFilterOnMarkerLimit() {
-        return taskList.getFilter().getFilterOnMarkerLimit();
-    }
-
-    private int getMarkerLimit() {
-        return taskList.getFilter().getMarkerLimit();
-    }
-
-    private boolean isMarkerLimitExceeded() {
-        return taskList.isMarkerLimitExceeded();
-    }
-
-    private void setMarkerLimitExceeded(boolean markerLimitExceeded) {
-        taskList.setMarkerLimitExceeded(markerLimitExceeded);
-    }
-
-    /**
-     * Returns a one-line string containing a summary of the number
-     * of visible tasks and problems.
-     */
-    public String getStatusSummaryVisible() {
-        if (visibleMarkerCounts == null) {
-            return ""; //$NON-NLS-1$
-        }
-
-        return TaskListMessages.format("TaskList.statusSummaryVisible", //$NON-NLS-1$
-                new Object[] { new Integer(sum(visibleMarkerCounts)),
-                        getStatusSummaryBreakdown(visibleMarkerCounts) });
-    }
-
-    /**
-     * Returns a one-line string containing a summary of the number
-     * of selected tasks and problems.
-     * 
-     * @param selection the current selection
-     */
-    public String getStatusSummarySelected(IStructuredSelection selection) {
-        int[] selectedMarkerCounts = getMarkerCounts(selection.toList());
-        return TaskListMessages.format("TaskList.statusSummarySelected", //$NON-NLS-1$
-                new Object[] { new Integer(sum(selectedMarkerCounts)),
-                        getStatusSummaryBreakdown(selectedMarkerCounts) });
-    }
-
-    /**
-     * Returns a one-line string containing a summary of the number of 
-     * given tasks, errors, warnings, and infos.
-     */
-    private String getStatusSummaryBreakdown(int[] counts) {
-        return TaskListMessages.format("TaskList.statusSummaryBreakdown", //$NON-NLS-1$
-                new Object[] { new Integer(counts[TASKS]),
-                        new Integer(counts[ERRORS]),
-                        new Integer(counts[WARNINGS]),
-                        new Integer(counts[INFOS]) });
-    }
-
-    /**
-     * Returns a one-line string containing a summary of the number items
-     * being shown by the filter, for display in the title bar.
-     */
-    public String getTitleSummary() {
-        if (visibleMarkerCounts == null) {
-            return ""; //$NON-NLS-1$
-        }
-
-        int visibleMarkerCount = sum(visibleMarkerCounts);
-        TasksFilter filter = (TasksFilter) taskList.getFilter();
-
-        if (filter.isShowingAll()) {
-            return TaskListMessages.format("TaskList.titleSummaryUnfiltered", //$NON-NLS-1$
-                    new Object[] { new Integer(visibleMarkerCount) });
-        } else {
-            return TaskListMessages.format("TaskList.titleSummaryFiltered", //$NON-NLS-1$
-                    new Object[] { new Integer(visibleMarkerCount),
-                            new Integer(getTotalMarkerCount()) });
-        }
-    }
-
-    /**
-     * Returns the sum of the given counts.
-     */
-    private int sum(int[] counts) {
-        int sum = 0;
-
-        for (int i = 0, l = counts.length; i < l; ++i) {
-            sum += counts[i];
-        }
-
-        return sum;
-    }
-
-    /**
-     * Returns the count of all markers in the workspace which can be shown in 
-     * the task list. This is computed once, then maintained incrementally by 
-     * the delta processing.
-     */
-    private int getTotalMarkerCount() {
-        if (totalMarkerCount == -1) {
-            totalMarkerCount = 0;
-
-            try {
-                IResource root = taskList.getWorkspace().getRoot();
-                IMarker[] markers = root.findMarkers(null, true,
-                        IResource.DEPTH_INFINITE);
-
-                for (int i = 0; i < markers.length; ++i) {
-                    if (isRootType(markers[i])) {
-                        ++totalMarkerCount;
-                    }
-                }
-            } catch (CoreException e) {
-                // shouldn't happen
-            }
-        }
-
-        return totalMarkerCount;
-    }
-
-    /**
-     * Returns whether the given marker is a subtype of one of the root types.
-     */
-    private boolean isRootType(IMarker marker) {
-        String[] rootTypes = TasksFilter.ROOT_TYPES;
-
-        for (int i = 0, l = rootTypes.length; i < l; ++i) {
-            if (MarkerUtil.isMarkerType(marker, rootTypes[i])) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns the markers to show in the task list.
-     */
-    private IMarker[] getMarkers() throws CoreException {
-        IResource[] resources = taskList.getResources();
-        int l = resources.length;
-        IResource resource;
-        boolean bExists = false;
-
-        for (int i = 0; i < l; i++) {
-            resource = resources[i];
-
-            if (resource != null && resource.exists()) {
-                bExists = true;
-                break;
-            }
-        }
-
-        if (!bExists) {
-            return new IMarker[0];
-        }
-
-        if (taskList.showOwnerProject()) {
-            IResource[] projectResources = new IResource[l];
-            IResource project;
-
-            for (int i = 0; i < l; i++) {
-                resource = resources[i];
-
-                if (resource != null) {
-                    project = resource.getProject();
-
-                    if (project != null) {
-                        projectResources[i] = project;
-                    } else {
-                        projectResources[i] = resource;
-                    }
-                }
-            }
-
-            resources = projectResources;
-        }
-
-        int depth = taskList.getResourceDepth();
-        TasksFilter filter = taskList.getFilter();
-        Set set = new HashSet();
-
-        for (int i = 0; i < l; i++) {
-            resource = resources[i];
-
-            if (resource != null) {
-                IMarker[] markers = resource.findMarkers(null, true, depth);
-
-                for (int j = 0; j < markers.length; ++j) {
-                    IMarker marker = markers[j];
-
-                    if (filter.select(marker)) {
-                        set.add(marker);
-                    }
-                }
-            }
-        }
-
-        IMarker[] result = new IMarker[set.size()];
-        set.toArray(result);
-        return result;
-    }
-
-    /**
-     * Returns the number of tasks, errors, warnings, infos
-     * in the given markers.
-     */
-    private int[] getMarkerCounts(List markers) {
-        int[] markerCounts = new int[4];
-        Iterator iterator = markers.iterator();
-
-        while (iterator.hasNext()) {
-            IMarker marker = (IMarker) iterator.next();
-
-            if (MarkerUtil.isMarkerType(marker, IMarker.PROBLEM)) {
-                switch (MarkerUtil.getSeverity(marker)) {
-                case IMarker.SEVERITY_ERROR:
-                    ++markerCounts[ERRORS];
-                    break;
-                case IMarker.SEVERITY_WARNING:
-                    ++markerCounts[WARNINGS];
-                    break;
-                case IMarker.SEVERITY_INFO:
-                    ++markerCounts[INFOS];
-                    break;
-                }
-            } else if (MarkerUtil.isMarkerType(marker, IMarker.TASK)) {
-                ++markerCounts[TASKS];
-            }
-        }
-
-        return markerCounts;
-    }
-
-    /**
-     * Updates the marker counts for the given delta.
-     * Assumptions:
-     *   - the delta is either an addition or a removal
-     *   - problem severities don't change
-     */
-    private void updateMarkerCounts(IMarkerDelta markerDelta, int difference) {
-        if (visibleMarkerCounts == null)
-            return;
-
-        if (markerDelta.isSubtypeOf(IMarker.PROBLEM)) {
-            int severity = markerDelta.getAttribute(IMarker.SEVERITY,
-                    IMarker.SEVERITY_WARNING);
-
-            switch (severity) {
-            case IMarker.SEVERITY_ERROR:
-                visibleMarkerCounts[ERRORS] += difference;
-                break;
-            case IMarker.SEVERITY_WARNING:
-                visibleMarkerCounts[WARNINGS] += difference;
-                break;
-            case IMarker.SEVERITY_INFO:
-                visibleMarkerCounts[INFOS] += difference;
-                break;
-            }
-        } else if (markerDelta.isSubtypeOf(IMarker.TASK))
-            visibleMarkerCounts[TASKS] += difference;
-    }
-
-    /**
-     * Updates the viewer given the lists of added, removed, and changes 
-     * markers. This is called inside an syncExec.
-     */
-    private void updateViewer(List additions, List removals, List changes) {
-
-        // The widget may have been destroyed by the time this is run.  
-        // Check for this and do nothing if so.
-        Control ctrl = viewer.getControl();
-
-        if (ctrl == null || ctrl.isDisposed()) {
-            return;
-        }
-
-        //update the viewer based on the marker changes.
-        //process removals before additions, to avoid multiple equal elements in 
-        //the viewer
-        if (removals.size() > 0) {
-
-            // Cancel any open cell editor.  We assume that the one being edited 
-            // is the one being removed.
-            viewer.cancelEditing();
-            viewer.remove(removals.toArray());
-        }
-
-        if (additions.size() > 0) {
-            viewer.add(additions.toArray());
-        }
-
-        if (changes.size() > 0) {
-            viewer.update(changes.toArray(), null);
-        }
-    }
-
-    /**
-     * The visual part that is using this content provider is about
-     * to be disposed. Deallocate all allocated SWT resources.
-     */
-    public void dispose() {
-        if (input != null) {
-            input.getWorkspace().removeResourceChangeListener(this);
-            input = null;
-        }
-    }
-
-    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-        if (this.input != null) {
-            this.input.getWorkspace().removeResourceChangeListener(this);
-        }
-
-        this.input = (IResource) newInput;
-
-        if (this.input != null) {
-            this.input.getWorkspace().addResourceChangeListener(this,
-                    IResourceChangeEvent.POST_CHANGE);
-        }
-
-        this.viewer = (TableViewer) viewer;
-    }
-
-    /**
-     * Returns all the markers that should be shown for
-     * the current settings.
-     */
-    public Object[] getElements(Object parent) {
-        try {
-            IMarker[] markers = getMarkers();
-            this.visibleMarkerCounts = getMarkerCounts(Arrays.asList(markers));
-
-            if (getFilterOnMarkerLimit() && markers.length > getMarkerLimit()) {
-                if (!isMarkerLimitExceeded()) {
-                    setMarkerLimitExceeded(true);
-
-                    viewer.getControl().getDisplay().syncExec(new Runnable() {
-                        public void run() {
-                            viewer.refresh();
-                        }
-                    });
-                }
-
-                return new IMarker[0];
-            } else {
-                if (isMarkerLimitExceeded()) {
-                    setMarkerLimitExceeded(false);
-
-                    viewer.getControl().getDisplay().syncExec(new Runnable() {
-                        public void run() {
-                            viewer.refresh();
-                        }
-                    });
-                }
-
-                return markers;
-            }
-        } catch (CoreException e) {
-            return new IMarker[0];
-        }
-    }
-
-    /**
-     * The workbench has changed.  Process the delta and issue updates to the 
-     * viewer, inside the UI thread.
-     *
-     * @see IResourceChangeListener#resourceChanged
-     */
-    public void resourceChanged(final IResourceChangeEvent event) {
-        /*
-         * gather all marker changes from the delta. be sure to do this in the 
-         * calling thread, as the delta is destroyed when this method returns
-         */
-        IMarkerDelta[] markerDeltas = event.findMarkerDeltas(null, true);
-
-        if (markerDeltas == null)
-            return;
-
-        int oldTotal = totalMarkerCount;
-        final List additions = new ArrayList();
-        final List removals = new ArrayList();
-        final List changes = new ArrayList();
-
-        for (int i = 0; i < markerDeltas.length; i++) {
-            IMarkerDelta markerDelta = markerDeltas[i];
-
-            if (markerDelta == null)
-                continue;
-
-            int iKind = markerDelta.getKind();
-
-            for (int j = 0; j < TasksFilter.ROOT_TYPES.length; j++) {
-                if (markerDelta.isSubtypeOf(TasksFilter.ROOT_TYPES[j])) {
-
-                    /* 
-                     * Updates the total count of markers given the applicable 
-                     * marker deltas. 
-                     */
-                    if (totalMarkerCount != -1) {
-                        switch (iKind) {
-                        case IResourceDelta.ADDED:
-                            totalMarkerCount++;
-                            break;
-                        case IResourceDelta.REMOVED:
-                            totalMarkerCount--;
-                            break;
-                        }
-                    }
-
-                    /*
-                     * Partition the marker deltas into one of the three given 
-                     * lists depending on
-                     * the type of delta (add, remove, or change).
-                     * The resulting lists contain the corresponding markers, 
-                     * not the deltas.
-                     * Deltas which are not under the current focus resource are 
-                     * discarded.
-                     * This also updates the marker counts.
-                     */
-
-                    IResource resource = markerDelta.getResource();
-
-                    if (resource == null)
-                        continue;
-
-                    boolean affectedBy = taskList.checkResource(resource)
-                            && taskList.getFilter().select(markerDelta);
-
-                    if (affectedBy) {
-                        IMarker marker = markerDelta.getMarker();
-
-                        switch (iKind) {
-                        case IResourceDelta.ADDED:
-                            additions.add(marker);
-                            updateMarkerCounts(markerDelta, +1);
-                            break;
-                        case IResourceDelta.REMOVED:
-                            removals.add(marker);
-                            updateMarkerCounts(markerDelta, -1);
-                            break;
-                        case IResourceDelta.CHANGED:
-                            changes.add(marker);
-                            /* 
-                             * Assume attribute changes don't affect marker 
-                             * counts. This is only true if problem severities 
-                             * can't change. 
-                             */
-                            break;
-                        }
-                    }
-
-                    break;
-                }
-            }
-        }
-
-        if (oldTotal == totalMarkerCount
-                && additions.size() + removals.size() + changes.size() == 0) {
-            // no changes to markers that we care about
-            return;
-        }
-
-        /*
-         * do the required viewer updates in the UI thread need to use syncExec; 
-         * see 1G95PU8: ITPUI:WIN2000 - Changing task description flashes old 
-         * description
-         */
-        viewer.getControl().getDisplay().syncExec(new Runnable() {
-            public void run() {
-                if (getFilterOnMarkerLimit()
-                        && sum(visibleMarkerCounts) > getMarkerLimit()) {
-                    if (!isMarkerLimitExceeded()) {
-                        setMarkerLimitExceeded(true);
-                        viewer.refresh();
-                    }
-                } else if (taskList.isMarkerLimitExceeded()) {
-                    setMarkerLimitExceeded(false);
-                    viewer.refresh();
-                } else {
-                    updateViewer(additions, removals, changes);
-                }
-
-                /* Update the task list's status message.
-                 * XXX: Quick and dirty solution here.  
-                 * Would be better to have a separate model for the tasks and
-                 * have both the content provider and the task list register for 
-                 * updates. XXX: Do this inside the syncExec, since we're 
-                 * talking to status line widget.
-                 */
-                taskList.markersChanged();
-            }
-        });
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java
deleted file mode 100644
index c672bce..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskListMessages.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps manage messages.
- */
-class TaskListMessages {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.tasklist.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private TaskListMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.java
deleted file mode 100644
index 61b5485..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesAction.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.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action opens the properties dialog for the current task.
- */
-class TaskPropertiesAction extends TaskAction {
-
-    /**
-     * Creates the action.
-     * 
-     * @param tasklist the task list
-     * @param id the id
-     */
-    public TaskPropertiesAction(TaskList tasklist, String id) {
-        super(tasklist, id);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                ITaskListHelpContextIds.TASK_PROPERTIES_ACTION);
-    }
-
-    /**
-     * Performs this action.
-     */
-    public void run() {
-        IStructuredSelection sel = (IStructuredSelection) getTaskList()
-                .getSelection();
-        Object o = sel.getFirstElement();
-        if (o instanceof IMarker) {
-            TaskPropertiesDialog dialog = new TaskPropertiesDialog(getShell());
-            dialog.setMarker((IMarker) o);
-            dialog.open();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java
deleted file mode 100644
index a45d839..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskPropertiesDialog.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.StatusUtil;
-
-/**
- * Shows the properties of a new or existing task, or a problem.
- */
-public class TaskPropertiesDialog extends Dialog {
-
-    /**
-     * The task or problem being shown, or <code>null</code> for a new task.
-     */
-    private IMarker marker = null;
-
-    /**
-     * The resource on which to create a new task.
-     */
-    private IResource resource = null;
-
-    /**
-     * The initial attributes to use when creating a new task.
-     */
-    private Map initialAttributes = null;
-
-    /**
-     * The text control for the Description field.
-     */
-    private Text descriptionText;
-
-    /**
-     * The control for the Creation Time field.
-     */
-    private Label creationTime;
-
-    /**
-     * The combo box control for the Priority field.
-     */
-    private Combo priorityCombo;
-
-    /**
-     * The checkbox button for the Completed field.
-     */
-    private Button completedCheckbox;
-
-    /**
-     * The control for the Severity field.
-     */
-    private Label severityLabel;
-
-    /**
-     * The text control for the Resource field.
-     */
-    private Text resourceText;
-
-    /**
-     * The text control for the Folder field.
-     */
-    private Text folderText;
-
-    /**
-     * The text control for the Location field.
-     */
-    private Text locationText;
-
-    /**
-     * Dirty flag.  True if any changes have been made.
-     */
-    private boolean dirty;
-
-    /**
-     * Creates the dialog.  By default this dialog creates a new task.
-     * To set the resource and initial attributes for the new task, 
-     * use <code>setResource</code> and <code>setInitialAttributes</code>.
-     * To show or modify an existing task, use <code>setMarker</code>.
-     * 
-     * @param parentShell the parent shell
-     */
-    public TaskPropertiesDialog(Shell parentShell) {
-        super(parentShell);
-    }
-
-    /**
-     * Sets the marker to show or modify.
-     * 
-     * @param marker the marker, or <code>null</code> to create a new marker
-     */
-    public void setMarker(IMarker marker) {
-        this.marker = marker;
-    }
-
-    /**
-     * Returns the marker being created or modified.
-     * For a new marker, this returns <code>null</code> until
-     * the dialog returns, but is non-null after.
-     * 
-     * @return the marker
-     */
-    public IMarker getMarker() {
-        return marker;
-    }
-
-    /**
-     * Sets the resource to use when creating a new task.
-     * If not set, the new task is created on the workspace root.
-     * 
-     * @param resource the resource
-     */
-    public void setResource(IResource resource) {
-        this.resource = resource;
-    }
-
-    /**
-     * Returns the resource to use when creating a new task,
-     * or <code>null</code> if none has been set.
-     * If not set, the new task is created on the workspace root.
-     * 
-     * @return the resource
-     */
-    public IResource getResource() {
-        return resource;
-    }
-
-    /**
-     * Sets initial attributes to use when creating a new task.
-     * If not set, the new task is created with default attributes.
-     * 
-     * @param initialAttributes the initial attributes
-     */
-    public void setInitialAttributes(Map initialAttributes) {
-        this.initialAttributes = initialAttributes;
-    }
-
-    /**
-     * Returns the initial attributes to use when creating a new task,
-     * or <code>null</code> if not set.
-     * If not set, the new task is created with default attributes.
-     * 
-     * @return the initial attributes
-     */
-    public Map getInitialAttributes() {
-        return initialAttributes;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-
-        if (marker == null) {
-            newShell.setText(TaskListMessages
-                    .getString("TaskProp.newTaskTitle")); //$NON-NLS-1$
-        } else {
-            String kind = MarkerUtil.getKindText(marker);
-            newShell.setText(TaskListMessages.format(
-                    "TaskProp.propertiesTitle", new Object[] { kind })); //$NON-NLS-1$
-        }
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-                ITaskListHelpContextIds.PROPERTIES_DIALOG);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog.
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-        initializeDialogUnits(composite);
-        createDescriptionArea(composite);
-        if (marker != null)
-            createCreationTimeArea(composite);
-        if (isTask()) {
-            createPriorityAndStatusArea(composite);
-        } else {
-            createSeverityArea(composite);
-        }
-        createResourceArea(composite);
-        updateDialogFromMarker();
-        return composite;
-    }
-
-    /**
-     * Method createCreationTimeArea.
-     * 
-     * @param parent the parent
-     */
-    private void createCreationTimeArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(TaskListMessages.getString("TaskProp.creationTime")); //$NON-NLS-1$
-        label.setFont(font);
-
-        creationTime = new Label(composite, SWT.NONE);
-        creationTime.setFont(font);
-    }
-
-    /**
-     * Creates only the OK button if showing problem properties, otherwise creates
-     * both OK and Cancel buttons.
-     */
-    protected void createButtonsForButtonBar(Composite parent) {
-        createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
-                true);
-        if (isEditable()) {
-            createButton(parent, IDialogConstants.CANCEL_ID,
-                    IDialogConstants.CANCEL_LABEL, false);
-        }
-    }
-
-    /**
-     * Creates the area for the Description field.
-     */
-    private void createDescriptionArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-        
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        composite.setLayoutData(gridData);
-        
-        
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(TaskListMessages.getString("TaskProp.description")); //$NON-NLS-1$
-        label.setFont(font);
-        int style = SWT.SINGLE | SWT.BORDER;
-        if (!isEditable()) {
-            style |= SWT.READ_ONLY;
-        }
-        descriptionText = new Text(composite, style);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        gridData.widthHint = convertHorizontalDLUsToPixels(400);
-        descriptionText.setLayoutData(gridData);
-        descriptionText.setFont(font);
-    }
-
-    /**
-     * Creates the area for the Priority and Status fields.
-     */
-    private void createPriorityAndStatusArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(TaskListMessages.getString("TaskProp.priority")); //$NON-NLS-1$
-        label.setFont(font);
-        priorityCombo = new Combo(composite, SWT.READ_ONLY);
-        priorityCombo.setItems(new String[] {
-                TaskListMessages.getString("TaskList.high"), //$NON-NLS-1$
-                TaskListMessages.getString("TaskList.normal"), //$NON-NLS-1$
-                TaskListMessages.getString("TaskList.low") //$NON-NLS-1$
-                });
-        // Prevent Esc and Return from closing the dialog when the combo is active.
-        priorityCombo.addTraverseListener(new TraverseListener() {
-            public void keyTraversed(TraverseEvent e) {
-                if (e.detail == SWT.TRAVERSE_ESCAPE
-                        || e.detail == SWT.TRAVERSE_RETURN) {
-                    e.doit = false;
-                }
-            }
-        });
-        priorityCombo.setFont(font);
-
-        completedCheckbox = new Button(composite, SWT.CHECK);
-        completedCheckbox.setText(TaskListMessages
-                .getString("TaskProp.completed")); //$NON-NLS-1$
-        GridData gridData = new GridData();
-        gridData.horizontalIndent = convertHorizontalDLUsToPixels(20);
-        completedCheckbox.setLayoutData(gridData);
-        completedCheckbox.setFont(font);
-
-        if (!isEditable()) {
-            priorityCombo.setEnabled(false);
-            completedCheckbox.setEnabled(false);
-        }
-    }
-
-    /**
-     * Creates the area for the Severity field.
-     */
-    private void createSeverityArea(Composite parent) {
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label label = new Label(composite, SWT.NONE);
-        label.setText(TaskListMessages.getString("TaskProp.severity")); //$NON-NLS-1$
-        label.setFont(font);
-        // workaround for bug 11078: Can't get a read-only combo box
-        severityLabel = new Label(composite, SWT.NONE);
-        severityLabel.setFont(font);
-        /*
-         severityCombo = new Combo(composite, SWT.READ_ONLY);
-         severityCombo.setItems(new String[] {
-         TaskListMessages.getString("TaskList.error"), //$NON-NLS-1$
-         TaskListMessages.getString("TaskList.warning"), //$NON-NLS-1$
-         TaskListMessages.getString("TaskList.info") //$NON-NLS-1$
-         });
-         */
-    }
-
-    /**
-     * Creates the area for the Resource field.
-     */
-    private void createResourceArea(Composite parent) {
-        IResource resource = getResource();
-        if (marker == null) {
-            if (resource == null)
-                return;
-            if ((resource.getType() & (IResource.FILE | IResource.FOLDER | IResource.PROJECT)) == 0)
-                return;
-        }
-
-        Font font = parent.getFont();
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-        composite.setLayoutData(gridData);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        composite.setLayout(layout);
-
-        Label resourceLabel = new Label(composite, SWT.NONE);
-        resourceLabel
-                .setText(TaskListMessages.getString("TaskProp.onResource")); //$NON-NLS-1$
-        resourceLabel.setFont(font);
-        resourceText = new Text(composite, SWT.SINGLE | SWT.WRAP
-                | SWT.READ_ONLY | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        resourceText.setLayoutData(gridData);
-        resourceText.setFont(font);
-
-        Label folderLabel = new Label(composite, SWT.NONE);
-        folderLabel.setText(TaskListMessages.getString("TaskProp.inFolder")); //$NON-NLS-1$
-        folderLabel.setFont(font);
-        folderText = new Text(composite, SWT.SINGLE | SWT.WRAP | SWT.READ_ONLY
-                | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        folderText.setLayoutData(gridData);
-        folderText.setFont(font);
-
-        Label locationLabel = new Label(composite, SWT.NONE);
-        locationLabel.setText(TaskListMessages.getString("TaskProp.location")); //$NON-NLS-1$
-        locationLabel.setFont(font);
-        locationText = new Text(composite, SWT.SINGLE | SWT.WRAP
-                | SWT.READ_ONLY | SWT.BORDER);
-        gridData = new GridData(GridData.FILL_HORIZONTAL);
-        locationText.setLayoutData(gridData);
-        locationText.setFont(font);
-    }
-
-    /**
-     * Updates the dialog from the marker state.
-     */
-    private void updateDialogFromMarker() {
-        if (marker == null) {
-            updateDialogForNewMarker();
-            return;
-        }
-        descriptionText.setText(MarkerUtil.getMessage(marker));
-        descriptionText.selectAll();
-        creationTime.setText(MarkerUtil.getCreationTime(marker));
-        if (isTask()) {
-            priorityCombo.clearSelection();
-            priorityCombo.select(IMarker.PRIORITY_HIGH
-                    - MarkerUtil.getPriority(marker));
-            completedCheckbox.setSelection(MarkerUtil.isComplete(marker));
-            markDirty();
-        } else {
-            /* 	workaround for bug 11078: Can't get a read-only combo box
-             severityCombo.clearSelection();
-             severityCombo.select(IMarker.SEVERITY_ERROR - MarkerUtil.getSeverity(marker));
-             */
-            String sev = ""; //$NON-NLS-1$
-            switch (MarkerUtil.getSeverity(marker)) {
-            case IMarker.SEVERITY_ERROR:
-                sev = TaskListMessages.getString("TaskList.error"); //$NON-NLS-1$
-                break;
-            case IMarker.SEVERITY_WARNING:
-                sev = TaskListMessages.getString("TaskList.warning"); //$NON-NLS-1$
-                break;
-            case IMarker.SEVERITY_INFO:
-                sev = TaskListMessages.getString("TaskList.info"); //$NON-NLS-1$
-                break;
-            }
-            severityLabel.setText(sev);
-
-        }
-        resourceText.setText(MarkerUtil.getResourceName(marker));
-        folderText.setText(MarkerUtil.getContainerName(marker));
-        locationText.setText(MarkerUtil.getLineAndLocation(marker));
-    }
-
-    /**
-     * Updates the dialog to reflect the state for a new marker.
-     */
-    private void updateDialogForNewMarker() {
-        Map attrs = getInitialAttributes();
-
-        String desc = ""; //$NON-NLS-1$
-        if (attrs != null) {
-            Object o = attrs.get(IMarker.MESSAGE);
-            if (o instanceof String) {
-                desc = (String) o;
-            }
-        }
-        descriptionText.setText(desc);
-        descriptionText.selectAll();
-
-        int pri = IMarker.PRIORITY_NORMAL;
-        if (attrs != null) {
-            Object o = attrs.get(IMarker.PRIORITY);
-            if (o instanceof Integer) {
-                int val = ((Integer) o).intValue();
-                if (val >= IMarker.PRIORITY_LOW && val <= IMarker.PRIORITY_HIGH) {
-                    pri = val;
-                }
-            }
-        }
-        priorityCombo.deselectAll();
-        priorityCombo.select(IMarker.PRIORITY_HIGH - pri);
-
-        boolean completed = false;
-        if (attrs != null) {
-            Object o = attrs.get(IMarker.DONE);
-            if (o instanceof Boolean) {
-                completed = ((Boolean) o).booleanValue();
-            }
-        }
-        completedCheckbox.setSelection(completed);
-
-        IResource resource = getResource();
-        if (resource != null && resourceText != null) {
-            resourceText.setText(resource.getName());
-            IResource parent = resource.getParent();
-            folderText
-                    .setText(parent == null ? "" : parent.getFullPath().toString().substring(1)); //$NON-NLS-1$
-        }
-
-        int line = -1;
-        String loc = ""; //$NON-NLS-1$
-        if (attrs != null) {
-            Object o = attrs.get(IMarker.LINE_NUMBER);
-            if (o instanceof Integer) {
-                line = ((Integer) o).intValue();
-            }
-            o = attrs.get(IMarker.LOCATION);
-            if (o instanceof String) {
-                loc = (String) o;
-            }
-        }
-        if (locationText != null)
-            locationText.setText(MarkerUtil.getLineAndLocation(line, loc));
-
-        markDirty();
-        return;
-
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog
-     */
-    protected void okPressed() {
-        saveChanges();
-        super.okPressed();
-    }
-
-    private void markDirty() {
-        dirty = true;
-    }
-
-    private boolean isDirty() {
-        return dirty;
-    }
-
-    /**
-     * Returns whether the marker is editable.
-     */
-    private boolean isEditable() {
-        return marker == null || MarkerUtil.isEditable(marker);
-    }
-
-    /**
-     * Returns <code>true</code> if a task is being created or modified.
-     * Returns <code>false</code> if a problem is being shown.
-     */
-    private boolean isTask() {
-        return marker == null || MarkerUtil.isMarkerType(marker, IMarker.TASK);
-    }
-
-    /**
-     * Saves the changes made in the dialog if needed.
-     * Creates a new task if needed.
-     * Updates the existing task only if there have been changes.
-     * Does nothing for problems, since they cannot be modified.
-     */
-    private void saveChanges() {
-        if (!isEditable() || !isDirty())
-            return;
-
-        final CoreException[] coreExceptions = new CoreException[1];
-        final Map attrs = getMarkerAttributesFromDialog();
-        try {
-            PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
-                    new IRunnableWithProgress() {
-                        /* (non-Javadoc)
-                         * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-                         */
-                        public void run(IProgressMonitor monitor)
-                                throws InvocationTargetException,
-                                InterruptedException {
-                            try {
-                                IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-                                    /* (non-Javadoc)
-                                     * @see org.eclipse.core.resources.IWorkspaceRunnable#run(org.eclipse.core.runtime.IProgressMonitor)
-                                     */
-                                    public void run(IProgressMonitor monitor)
-                                            throws CoreException {
-                                        createOrUpdateMarker(monitor, attrs);
-                                    }
-                                };
-                                ResourcesPlugin.getWorkspace().run(runnable,
-                                        monitor);
-                            } catch (CoreException e) {
-                                coreExceptions[0] = e;
-                            }
-                        }
-                    });
-        } catch (InvocationTargetException e) {
-            IDEWorkbenchPlugin.log(e.getMessage(), StatusUtil.newStatus(
-                    IStatus.ERROR, e.getMessage(), e));
-            return;
-        }
-
-        catch (InterruptedException e) {
-            IDEWorkbenchPlugin.log(e.getMessage(), StatusUtil.newStatus(
-                    IStatus.ERROR, e.getMessage(), e));
-            return;
-        }
-
-        if (coreExceptions[0] != null)
-            ErrorDialog.openError(getShell(), TaskListMessages
-                    .getString("TaskProp.errorMessage"), //$NON-NLS-1$
-                    null, coreExceptions[0].getStatus());
-    }
-
-    /**
-     * Creates or updates the marker.  Must be called within a workspace runnable.
-     * @param monitor The monitor to report to.
-     * @param attrs The atrributes entered from the dialog.
-     * @throws CoreException
-     */
-    private void createOrUpdateMarker(IProgressMonitor monitor, Map attrs)
-            throws CoreException {
-
-        monitor.beginTask(TaskListMessages
-                .getString("TaskPropertiesDialog.WorkingOnMarker"), 100); //$NON-NLS-1$
-        if (marker == null) {
-            monitor.subTask(TaskListMessages
-                    .getString("TaskPropertiesDialog.CreatingMarker")); //$NON-NLS-1$
-            IResource resource = getResource();
-            if (resource == null) {
-                resource = ResourcesPlugin.getWorkspace().getRoot();
-            }
-            monitor.worked(25);
-
-            marker = resource.createMarker(IMarker.TASK);
-            Map initialAttrs = getInitialAttributes();
-            if (initialAttrs != null) {
-                marker.setAttributes(initialAttrs);
-            }
-            monitor.worked(25);
-        } else
-            monitor.worked(50);
-
-        // Set the marker attributes from the current dialog field values.
-        // Do not use setAttributes(Map) as that overwrites any attributes
-        // not covered by the dialog.
-
-        monitor.subTask(TaskListMessages
-                .getString("TaskPropertiesDialog.UpdatingAttributes")); //$NON-NLS-1$
-        int increment = 50 / attrs.keySet().size();
-        for (Iterator i = attrs.keySet().iterator(); i.hasNext();) {
-            String key = (String) i.next();
-            Object val = attrs.get(key);
-            marker.setAttribute(key, val);
-            monitor.worked(increment);
-        }
-
-        monitor.done();
-    }
-
-    /**
-     * Returns the marker attributes to save back to the marker, 
-     * based on the current dialog fields.
-     */
-    private Map getMarkerAttributesFromDialog() {
-        Map attribs = new HashMap(11);
-        if (isTask()) {
-            attribs.put(IMarker.MESSAGE, descriptionText.getText());
-            int i = priorityCombo.getSelectionIndex();
-            if (i != -1) {
-                attribs.put(IMarker.PRIORITY, new Integer(IMarker.PRIORITY_HIGH
-                        - i));
-            }
-            attribs.put(IMarker.DONE,
-                    completedCheckbox.getSelection() ? Boolean.TRUE
-                            : Boolean.FALSE);
-        }
-        return attribs;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java
deleted file mode 100644
index dce730a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TaskSorter.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * This is the task list's sorter.
- */
-class TaskSorter extends ViewerSorter {
-    private int[] priorities;
-
-    private int[] directions;
-
-    final static int ASCENDING = 1;
-
-    final static int DEFAULT_DIRECTION = 0;
-
-    final static int DESCENDING = -1;
-
-    final static int TYPE = 0;
-
-    final static int COMPLETION = 1;
-
-    final static int PRIORITY = 2;
-
-    final static int DESCRIPTION = 3;
-
-    final static int RESOURCE = 4;
-
-    final static int FOLDER = 5;
-
-    final static int LOCATION = 6;
-
-    final static int CREATION_TIME = 7;
-
-    final static int[] DEFAULT_PRIORITIES = { FOLDER, RESOURCE, LOCATION,
-            DESCRIPTION, TYPE, PRIORITY, COMPLETION, CREATION_TIME };
-
-    final static int[] DEFAULT_DIRECTIONS = { DESCENDING, //type
-            DESCENDING, //completed
-            DESCENDING, //priority
-            ASCENDING, //description
-            ASCENDING, //resource
-            ASCENDING, //folder
-            ASCENDING, //location
-            ASCENDING }; //creation time
-
-    /**
-     * Creates a new task sorter.
-     */
-    public TaskSorter() {
-        resetState();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ViewerSorter.
-     */
-    /**
-     * Compares two markers, sorting first by the main column of this sorter,
-     * then by subsequent columns, depending on the column sort order.
-     */
-    public int compare(Viewer viewer, Object e1, Object e2) {
-        IMarker m1 = (IMarker) e1;
-        IMarker m2 = (IMarker) e2;
-        return compareColumnValue(m1, m2, 0);
-    }
-
-    public void setTopPriority(int priority) {
-        if (priority < 0 || priority >= priorities.length)
-            return;
-
-        int index = -1;
-        for (int i = 0; i < priorities.length; i++) {
-            if (priorities[i] == priority) {
-                index = i;
-                break;
-            }
-        }
-
-        if (index == -1) {
-            resetState();
-            return;
-        }
-
-        //shift the array
-        for (int i = index; i > 0; i--) {
-            priorities[i] = priorities[i - 1];
-        }
-        priorities[0] = priority;
-        directions[priority] = DEFAULT_DIRECTIONS[priority];
-    }
-
-    public int getTopPriority() {
-        return priorities[0];
-    }
-
-    public int[] getPriorities() {
-        return priorities;
-    }
-
-    public void setTopPriorityDirection(int direction) {
-        if (direction == DEFAULT_DIRECTION)
-            directions[priorities[0]] = DEFAULT_DIRECTIONS[priorities[0]];
-        else if (direction == ASCENDING || direction == DESCENDING)
-            directions[priorities[0]] = direction;
-    }
-
-    public int getTopPriorityDirection() {
-        return directions[priorities[0]];
-    }
-
-    public void reverseTopPriority() {
-        directions[priorities[0]] *= -1;
-    }
-
-    public void resetState() {
-        priorities = new int[DEFAULT_PRIORITIES.length];
-        System.arraycopy(DEFAULT_PRIORITIES, 0, priorities, 0,
-                priorities.length);
-        directions = new int[DEFAULT_DIRECTIONS.length];
-        System.arraycopy(DEFAULT_DIRECTIONS, 0, directions, 0,
-                directions.length);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ViewerSorter.
-     */
-    /**
-     * Compares two markers, based only on the value of the specified column.
-     */
-    private int compareColumnValue(IMarker m1, IMarker m2, int depth) {
-        if (depth >= priorities.length)
-            return 0;
-
-        int columnNumber = priorities[depth];
-        int direction = directions[columnNumber];
-        switch (columnNumber) {
-        case TYPE: {
-            /* category */
-            int result = getCategoryOrder(m1) - getCategoryOrder(m2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case COMPLETION: {
-            /* completed */
-            int result = getCompletedOrder(m1) - getCompletedOrder(m2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case PRIORITY: {
-            /* priority */
-            int result = getPriorityOrder(m1) - getPriorityOrder(m2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case DESCRIPTION: {
-            /* description */
-            int result = collator.compare(MarkerUtil.getMessage(m1), MarkerUtil
-                    .getMessage(m2));
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case RESOURCE: {
-            /* resource name */
-            IResource r1 = m1.getResource();
-            IResource r2 = m2.getResource();
-            String n1 = r1.getName();
-            String n2 = r2.getName();
-            int result = collator.compare(n1, n2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case FOLDER: {
-            /* container name */
-            String c1 = MarkerUtil.getContainerName(m1);
-            String c2 = MarkerUtil.getContainerName(m2);
-            int result = c1.equals(c2) ? 0 : collator.compare(c1, c2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case LOCATION: {
-            /* line and location */
-            int result = compareLineAndLocation(m1, m2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        case CREATION_TIME: {
-            /* creation time */
-            int result = compareCreationTime(m1, m2);
-            if (result == 0)
-                return compareColumnValue(m1, m2, depth + 1);
-            return result * direction;
-        }
-        default:
-            return 0;
-        }
-    }
-
-    /**
-     * Compares the creation time of two markers.
-     */
-    private int compareCreationTime(IMarker m1, IMarker m2) {
-        long result;
-        try {
-            result = m1.getCreationTime() - m2.getCreationTime();
-        } catch (CoreException e) {
-            result = 0;
-        }
-        if (result > 0)
-            return 1;
-        else if (result < 0)
-            return -1;
-        return 0;
-    }
-
-    /**
-     * Compares the line number and location of the two markers.
-     * If line number is specified for both, this sorts first by line number (numerically), 
-     * then by start offset (numerically), then by location (textually).
-     * If line number is not specified for either, this sorts by location.
-     * Otherwise, if only one has a line number, this sorts by the combined text for line number and location.
-     */
-    private int compareLineAndLocation(IMarker m1, IMarker m2) {
-        int line1 = MarkerUtil.getLineNumber(m1);
-        int line2 = MarkerUtil.getLineNumber(m2);
-        if (line1 != -1 && line2 != -1) {
-            if (line1 != line2) {
-                return line1 - line2;
-            }
-            int start1 = MarkerUtil.getCharStart(m1);
-            int start2 = MarkerUtil.getCharStart(m2);
-            if (start1 != -1 && start2 != -1) {
-                if (start1 != start2) {
-                    return start1 - start2;
-                }
-            }
-            String loc1 = MarkerUtil.getLocation(m1);
-            String loc2 = MarkerUtil.getLocation(m2);
-            return collator.compare(loc1, loc2);
-        }
-        if (line1 == -1 && line2 == -1) {
-            String loc1 = MarkerUtil.getLocation(m1);
-            String loc2 = MarkerUtil.getLocation(m2);
-            return collator.compare(loc1, loc2);
-        }
-        String loc1 = MarkerUtil.getLineAndLocation(m1);
-        String loc2 = MarkerUtil.getLineAndLocation(m2);
-        return collator.compare(loc1, loc2);
-    }
-
-    /**
-     * Returns the sort order for the given marker based on its category.
-     * Lower numbers appear first.
-     */
-    private int getCategoryOrder(IMarker marker) {
-        if (MarkerUtil.isMarkerType(marker, IMarker.PROBLEM)) {
-            switch (MarkerUtil.getSeverity(marker)) {
-            case IMarker.SEVERITY_ERROR:
-                return 4;
-            case IMarker.SEVERITY_WARNING:
-                return 3;
-            case IMarker.SEVERITY_INFO:
-                return 2;
-            }
-        } else if (MarkerUtil.isMarkerType(marker, IMarker.TASK)) {
-            return 1;
-        }
-        return 1000;
-    }
-
-    /**
-     * Returns the sort order for the given marker based on its completion status.
-     * Lower numbers appear first.
-     */
-    private int getCompletedOrder(IMarker marker) {
-        if (MarkerUtil.isMarkerType(marker, IMarker.TASK))
-            return MarkerUtil.isComplete(marker) ? 2 : 1;
-        return 0;
-    }
-
-    /**
-     * Returns the sort order for the given marker based on its priority.
-     */
-    private int getPriorityOrder(IMarker marker) {
-        if (MarkerUtil.isMarkerType(marker, IMarker.TASK))
-            return MarkerUtil.getPriority(marker);
-        return -1;
-    }
-
-    public void saveState(IDialogSettings settings) {
-        if (settings == null)
-            return;
-
-        for (int i = 0; i < directions.length; i++) {
-            settings.put("direction" + i, directions[i]);//$NON-NLS-1$
-            settings.put("priority" + i, priorities[i]);//$NON-NLS-1$
-        }
-    }
-
-    public void restoreState(IDialogSettings settings) {
-        if (settings == null)
-            return;
-
-        try {
-            for (int i = 0; i < priorities.length; i++) {
-                directions[i] = settings.getInt("direction" + i);//$NON-NLS-1$
-                priorities[i] = settings.getInt("priority" + i);//$NON-NLS-1$
-            }
-        } catch (NumberFormatException e) {
-            resetState();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java
deleted file mode 100644
index 7cfb8d3..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/TasksFilter.java
+++ /dev/null
@@ -1,520 +0,0 @@
-/******************************************************************************* 
- * Copyright (c) 2000, 2003 IBM Corporation and others. 
- * All rights reserved. This program and the accompanying materials! 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies this distribution, and is available at 
- * http://www.eclipse.org/legal/cpl-v10.html 
- * 
- * Contributors: 
- *      IBM Corporation - initial API and implementation 
- * 		Cagatay Kavukcuoglu <cagatayk@acm.org> - Filter for markers in same project
- ************************************************************************/
-
-package org.eclipse.ui.views.tasklist;
-
-import java.util.Arrays;
-import java.util.HashSet;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.IContainmentAdapter;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-
-class TasksFilter extends ViewerFilter implements Cloneable {
-
-    public static final String[] ROOT_TYPES = new String[] { IMarker.PROBLEM,
-            IMarker.TASK };
-
-    // Filter on resource constants
-    static final int ON_ANY_RESOURCE = 0;
-
-    static final int ON_SELECTED_RESOURCE_ONLY = 1;
-
-    static final int ON_SELECTED_RESOURCE_AND_CHILDREN = 2;
-
-    static final int ON_ANY_RESOURCE_OF_SAME_PROJECT = 3; // added by cagatayk@acm.org
-
-    static final int ON_WORKING_SET = 4;
-
-    // Description filter kind constants
-    static final int FILTER_CONTAINS = 0;
-
-    static final int FILTER_DOES_NOT_CONTAIN = 1;
-
-    //final static int MINIMUM_MARKER_LIMIT = 10;
-    final static int DEFAULT_MARKER_LIMIT = 2000;
-
-    //final static int MAXIMUM_MARKER_LIMIT = 20000;
-
-    String[] types;
-
-    int onResource;
-
-    IWorkingSet workingSet;
-
-    boolean filterOnDescription;
-
-    int descriptionFilterKind;
-
-    String descriptionFilter;
-
-    boolean filterOnSeverity;
-
-    int severityFilter;
-
-    boolean filterOnPriority;
-
-    int priorityFilter;
-
-    boolean filterOnCompletion;
-
-    int completionFilter;
-
-    private boolean filterOnMarkerLimit = true;
-
-    private int markerLimit = DEFAULT_MARKER_LIMIT;
-
-    private static final String TAG_ID = "id"; //$NON-NLS-1$
-
-    private static final String TAG_TYPE = "type"; //$NON-NLS-1$
-
-    private static final String TAG_ON_RESOURCE = "onResource"; //$NON-NLS-1$
-
-    private static final String TAG_WORKING_SET = "workingSet"; //$NON-NLS-1$	
-
-    private static final String TAG_FILTER_ON_DESCRIPTION = "filterOnDescription"; //$NON-NLS-1$
-
-    private static final String TAG_DESCRIPTION_FILTER_KIND = "descriptionFilterKind"; //$NON-NLS-1$
-
-    private static final String TAG_DESCRIPTION_FILTER = "descriptionFilter"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER_ON_SEVERITY = "filterOnSeverity"; //$NON-NLS-1$
-
-    private static final String TAG_SEVERITY_FILTER = "severityFilter"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER_ON_PRIORITY = "filterOnPriority"; //$NON-NLS-1$
-
-    private static final String TAG_PRIORITY_FILTER = "priorityFilter"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER_ON_COMPLETION = "filterOnCompletion"; //$NON-NLS-1$
-
-    private static final String TAG_COMPLETION_FILTER = "completionFilter"; //$NON-NLS-1$
-
-    private static final String TAG_FILTER_ON_MARKER_LIMIT = "filterOnMarkerLimit"; //$NON-NLS-1$ 
-
-    private static final String TAG_MARKER_LIMIT = "markerLimit"; //$NON-NLS-1$
-
-    public TasksFilter() {
-        reset();
-    }
-
-    boolean getFilterOnMarkerLimit() {
-        return filterOnMarkerLimit;
-    }
-
-    void setFilterOnMarkerLimit(boolean filterOnMarkerLimit) {
-        this.filterOnMarkerLimit = filterOnMarkerLimit;
-    }
-
-    int getMarkerLimit() {
-        return markerLimit;
-    }
-
-    void setMarkerLimit(int markerLimit) {
-        if (markerLimit < 1) {
-            markerLimit = TasksFilter.DEFAULT_MARKER_LIMIT;
-        }
-
-        //if (markerLimit < TasksFilter.MINIMUM_MARKER_LIMIT) {
-        //	markerLimit = TasksFilter.MINIMUM_MARKER_LIMIT;
-        //} else if (markerLimit > TasksFilter.MAXIMUM_MARKER_LIMIT) {
-        //	markerLimit = TasksFilter.MAXIMUM_MARKER_LIMIT;
-        //} 
-
-        this.markerLimit = markerLimit;
-    }
-
-    boolean checkDescription(String desc) {
-        if (desc == null) { // be paranoid
-            desc = ""; //$NON-NLS-1$
-        }
-        boolean contains = containsSubstring(desc, descriptionFilter);
-        return descriptionFilterKind == FILTER_CONTAINS ? contains : !contains;
-    }
-
-    public Object clone() {
-        try {
-            return super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new Error(); // shouldn't happen
-        }
-    }
-
-    boolean containsSubstring(String string, String substring) {
-        int strLen = string.length();
-        int subLen = substring.length();
-        int len = strLen - subLen;
-        for (int i = 0; i <= len; ++i) {
-            if (string.regionMatches(true, i, substring, 0, subLen)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Returns if the given resource is enclosed by a working set element.
-     * The IContainmentAdapter of each working set element is used for the
-     * containment test. If there is no IContainmentAdapter for a working 
-     * set element, a simple resource based test is used. 
-     * 
-     * @param element resource to test for enclosure by a working set
-     * 	element 
-     * @return true if element is enclosed by a working set element and 
-     * 	false otherwise. 
-     */
-    private boolean isEnclosed(IResource element) {
-        IPath elementPath = element.getFullPath();
-        IAdaptable[] workingSetElements = workingSet.getElements();
-
-        if (elementPath.isEmpty() || elementPath.isRoot()) {
-            return false;
-        }
-        for (int i = 0; i < workingSetElements.length; i++) {
-            IAdaptable workingSetElement = workingSetElements[i];
-            IContainmentAdapter containmentAdapter = (IContainmentAdapter) workingSetElement
-                    .getAdapter(IContainmentAdapter.class);
-
-            // if there is no IContainmentAdapter defined for the working  
-            // set element type fall back to using resource based  
-            // containment check 
-            if (containmentAdapter != null) {
-                if (containmentAdapter.contains(workingSetElement, element,
-                        IContainmentAdapter.CHECK_CONTEXT
-                                | IContainmentAdapter.CHECK_IF_CHILD
-                                | IContainmentAdapter.CHECK_IF_DESCENDANT))
-                    return true;
-            } else if (isEnclosedResource(element, elementPath,
-                    workingSetElement)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Returns if the given resource is enclosed by a working set element.
-     * A resource is enclosed if it is either a parent of a working set 
-     * element, a child of a working set element or a working set element
-     * itself.
-     * Simple path comparison is used. This is only guaranteed to return
-     * correct results for resource working set elements. 
-     * 
-     * @param element resource to test for enclosure by a working set
-     * 	element
-     * @param elementPath full, absolute path of the element to test 
-     * @return true if element is enclosed by a working set element and 
-     * 	false otherwise. 
-     */
-    private boolean isEnclosedResource(IResource element, IPath elementPath,
-            IAdaptable workingSetElement) {
-        IResource workingSetResource = null;
-
-        if (workingSetElement.equals(element))
-            return true;
-        if (workingSetElement instanceof IResource) {
-            workingSetResource = (IResource) workingSetElement;
-        } else {
-            workingSetResource = (IResource) workingSetElement
-                    .getAdapter(IResource.class);
-        }
-        if (workingSetResource != null) {
-            IPath resourcePath = workingSetResource.getFullPath();
-            if (resourcePath.isPrefixOf(elementPath))
-                return true;
-        }
-        return false;
-    }
-
-    public void reset() {
-        types = ROOT_TYPES;
-        onResource = ON_ANY_RESOURCE;
-        filterOnDescription = false;
-        descriptionFilter = ""; //$NON-NLS-1$
-        filterOnSeverity = false;
-        severityFilter = 0;
-        filterOnPriority = false;
-        priorityFilter = 0;
-        filterOnCompletion = false;
-        completionFilter = 0;
-        filterOnMarkerLimit = true;
-        markerLimit = DEFAULT_MARKER_LIMIT;
-    }
-
-    /**
-     * @see IPersistable
-     */
-    public void restoreState(IMemento memento) {
-        IMemento children[] = memento.getChildren(TAG_TYPE);
-        types = new String[children.length];
-        for (int i = 0; i < children.length; i++) {
-            types[i] = children[i].getString(TAG_ID);
-        }
-        Integer ival = memento.getInteger(TAG_ON_RESOURCE);
-        onResource = ival == null ? ON_ANY_RESOURCE : ival.intValue();
-        restoreWorkingSet(memento.getString(TAG_WORKING_SET));
-        ival = memento.getInteger(TAG_FILTER_ON_DESCRIPTION);
-        filterOnDescription = ival != null && ival.intValue() == 1;
-        ival = memento.getInteger(TAG_DESCRIPTION_FILTER_KIND);
-        descriptionFilterKind = ival == null ? FILTER_CONTAINS : ival
-                .intValue();
-        descriptionFilter = memento.getString(TAG_DESCRIPTION_FILTER);
-        if (descriptionFilter == null)
-            descriptionFilter = ""; //$NON-NLS-1$
-        ival = memento.getInteger(TAG_FILTER_ON_SEVERITY);
-        filterOnSeverity = ival != null && ival.intValue() == 1;
-        ival = memento.getInteger(TAG_SEVERITY_FILTER);
-        severityFilter = ival == null ? 0 : ival.intValue();
-        ival = memento.getInteger(TAG_FILTER_ON_PRIORITY);
-        filterOnPriority = ival != null && ival.intValue() == 1;
-        ival = memento.getInteger(TAG_PRIORITY_FILTER);
-        priorityFilter = ival == null ? 0 : ival.intValue();
-        ival = memento.getInteger(TAG_FILTER_ON_COMPLETION);
-        filterOnCompletion = ival != null && ival.intValue() == 1;
-        ival = memento.getInteger(TAG_COMPLETION_FILTER);
-        completionFilter = ival == null ? 0 : ival.intValue();
-        ival = memento.getInteger(TAG_FILTER_ON_MARKER_LIMIT);
-        filterOnMarkerLimit = ival == null || ival.intValue() == 1;
-        ival = memento.getInteger(TAG_MARKER_LIMIT);
-        markerLimit = ival == null ? DEFAULT_MARKER_LIMIT : ival.intValue();
-    }
-
-    /**
-     * Restores the saved working set, if any.
-     * 
-     * @param the saved working set name or null
-     */
-    private void restoreWorkingSet(String workingSetName) {
-        if (workingSetName != null) {
-            IWorkingSetManager workingSetManager = PlatformUI.getWorkbench()
-                    .getWorkingSetManager();
-            IWorkingSet workingSet = workingSetManager
-                    .getWorkingSet(workingSetName);
-
-            if (workingSet != null) {
-                this.workingSet = workingSet;
-            }
-        }
-    }
-
-    /**
-     * Saves the object state within a memento.
-     *
-     * @param memento a memento to receive the object state
-     */
-    public void saveState(IMemento memento) {
-        for (int i = 0; i < types.length; i++) {
-            memento.createChild(TAG_TYPE).putString(TAG_ID, types[i]);
-        }
-        memento.putInteger(TAG_ON_RESOURCE, onResource);
-        if (workingSet != null) {
-            memento.putString(TAG_WORKING_SET, workingSet.getName());
-        }
-        memento.putInteger(TAG_FILTER_ON_DESCRIPTION, filterOnDescription ? 1
-                : 0);
-        memento.putInteger(TAG_DESCRIPTION_FILTER_KIND, descriptionFilterKind);
-        memento.putString(TAG_DESCRIPTION_FILTER, descriptionFilter);
-        memento.putInteger(TAG_FILTER_ON_SEVERITY, filterOnSeverity ? 1 : 0);
-        memento.putInteger(TAG_SEVERITY_FILTER, severityFilter);
-        memento.putInteger(TAG_FILTER_ON_PRIORITY, filterOnPriority ? 1 : 0);
-        memento.putInteger(TAG_PRIORITY_FILTER, priorityFilter);
-        memento
-                .putInteger(TAG_FILTER_ON_COMPLETION, filterOnCompletion ? 1
-                        : 0);
-        memento.putInteger(TAG_COMPLETION_FILTER, completionFilter);
-        memento.putInteger(TAG_FILTER_ON_MARKER_LIMIT, filterOnMarkerLimit ? 1
-                : 0);
-        memento.putInteger(TAG_MARKER_LIMIT, markerLimit);
-    }
-
-    public boolean select(Viewer viewer, Object parentElement, Object element) {
-        return select((IMarker) element);
-    }
-
-    public boolean select(IMarker marker) {
-        // resource settings are handled by the content provider
-        return selectByType(marker) && selectByAttributes(marker)
-                && selectByWorkingSet(marker);
-    }
-
-    public boolean select(IMarkerDelta markerDelta) {
-        // resource settings are handled by the content provider
-        return selectByType(markerDelta) && selectByAttributes(markerDelta)
-                && selectByWorkingSet(markerDelta);
-    }
-
-    private boolean selectByType(IMarker marker) {
-        for (int i = 0; i < types.length; ++i) {
-            if (MarkerUtil.isMarkerType(marker, types[i]))
-                return true;
-        }
-        return false;
-    }
-
-    private boolean selectByType(IMarkerDelta markerDelta) {
-        for (int i = 0; i < types.length; ++i) {
-            if (markerDelta.isSubtypeOf(types[i]))
-                return true;
-        }
-        return false;
-    }
-
-    /**
-     * Returns whether the specified marker should be filter out or not.
-     * 
-     * @param marker the marker to test
-     * @return 
-     * 	true=the marker should not be filtered out
-     * 	false=the marker should be filtered out
-     */
-    private boolean selectByWorkingSet(IMarker marker) {
-        if (workingSet == null || onResource != ON_WORKING_SET) {
-            return true;
-        }
-        IResource resource = (IResource) marker.getResource();
-        if (resource != null) {
-            return isEnclosed(resource);
-        }
-        return false;
-    }
-
-    /**
-     * Returns whether the specified marker delta should be filter out 
-     * or not.
-     * 
-     * @param markerDelta the marker delta to test
-     * @return 
-     * 	true=the marker delta should not be filtered out
-     * 	false=the marker delta should be filtered out
-     */
-    private boolean selectByWorkingSet(IMarkerDelta markerDelta) {
-        if (workingSet == null || onResource != ON_WORKING_SET) {
-            return true;
-        }
-        IResource resource = (IResource) markerDelta.getResource();
-        if (resource != null) {
-            return isEnclosed(resource);
-        }
-        return false;
-    }
-
-    /* 
-     * WARNING: selectByAttributes(IMarker) and selectByAttributes(IMarkerDelta) must correspond.
-     */
-
-    private boolean selectByAttributes(IMarker marker) {
-
-        // severity filter applies only to problems
-        if (filterOnSeverity
-                && MarkerUtil.isMarkerType(marker, IMarker.PROBLEM)) {
-            int sev = MarkerUtil.getSeverity(marker);
-            if ((severityFilter & (1 << sev)) == 0)
-                return false;
-        }
-
-        // priority and completion filters apply only to tasks
-        // avoid doing type check more than once
-        if ((filterOnPriority || filterOnCompletion)
-                && MarkerUtil.isMarkerType(marker, IMarker.TASK)) {
-            if (filterOnPriority) {
-                int pri = MarkerUtil.getPriority(marker);
-                if ((priorityFilter & (1 << pri)) == 0)
-                    return false;
-            }
-            if (filterOnCompletion) {
-                boolean complete = MarkerUtil.isComplete(marker);
-                if ((completionFilter & (complete ? 2 : 1)) == 0)
-                    return false;
-            }
-        }
-
-        // description applies to all markers
-        if (filterOnDescription) {
-            String desc = MarkerUtil.getMessage(marker);
-            if (!checkDescription(desc))
-                return false;
-        }
-        return true;
-    }
-
-    private boolean selectByAttributes(IMarkerDelta markerDelta) {
-
-        // severity filter applies only to problems
-        if (filterOnSeverity && markerDelta.isSubtypeOf(IMarker.PROBLEM)) {
-            int sev = markerDelta.getAttribute(IMarker.SEVERITY,
-                    IMarker.SEVERITY_WARNING);
-            if ((severityFilter & (1 << sev)) == 0)
-                return false;
-        }
-
-        // priority and completion filters apply only to tasks
-        // avoid doing type check more than once
-        if ((filterOnPriority || filterOnCompletion)
-                && markerDelta.isSubtypeOf(IMarker.TASK)) {
-            if (filterOnPriority) {
-                int pri = markerDelta.getAttribute(IMarker.PRIORITY,
-                        IMarker.PRIORITY_NORMAL);
-                if ((priorityFilter & (1 << pri)) == 0)
-                    return false;
-            }
-            if (filterOnCompletion) {
-                boolean complete = markerDelta
-                        .getAttribute(IMarker.DONE, false);
-                if ((completionFilter & (complete ? 2 : 1)) == 0)
-                    return false;
-            }
-        }
-
-        // description applies to all markers
-        if (filterOnDescription) {
-            String desc = markerDelta.getAttribute(IMarker.MESSAGE, ""); //$NON-NLS-1$
-            if (!checkDescription(desc))
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * Returns whether the filter is including all markers.
-     *
-     * @return <code>true</code> if the filter includes all markers, <code>false</code> if not
-     */
-    public boolean isShowingAll() {
-        if (filterOnDescription || filterOnSeverity || filterOnPriority
-                || filterOnCompletion) {
-            return false;
-        }
-        if (onResource != ON_ANY_RESOURCE) {
-            return false;
-        }
-
-        HashSet set = new HashSet(Arrays.asList(types));
-        if (set.size() != ROOT_TYPES.length) {
-            return false;
-        }
-        for (int i = 0; i < ROOT_TYPES.length; ++i) {
-            if (!set.contains(ROOT_TYPES[i])) {
-                return false;
-            }
-        }
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties
deleted file mode 100644
index f1e5adf..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/messages.properties
+++ /dev/null
@@ -1,182 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Cagatay Kavukcuoglu <cagatayk@acm.org> - Filter for markers in same project
-###############################################################################
-
-# package: org.eclipse.ui.views.tasklist
-
-
-# ==============================================================================
-# TaskList
-# ==============================================================================
-
-TaskList.line = line {0}
-TaskList.lineAndLocation = line {0} in {1}
-
-TaskList.statusSummaryVisible = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}: {1}
-TaskList.statusSummarySelected = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items} selected: {1}
-TaskList.statusSummaryBreakdown = {0,choice,0#0 tasks|1#{0,number,integer} task|1<{0,number,integer} tasks}, {1,choice,0#0 errors|1#{1,number,integer} error|1<{1,number,integer} errors}, {2,choice,0#0 warnings|1#{2,number,integer} warning|1<{2,number,integer} warnings}, {3,choice,0#0 infos|1#{3,number,integer} info|1<{3,number,integer} infos}
-TaskList.titleSummaryUnfiltered = {0,choice,0#0 items|1#{0,number,integer} item|1<{0,number,integer} items}
-TaskList.titleSummaryFiltered = Filter matched {0} of {1,choice,0#0 items|1#{1,number,integer} item|1<{1,number,integer} items}
-TaskList.title = {0} ({1})
-
-TaskList.headerIcon = 
-TaskList.headerCompleted = C
-TaskList.headerPriority = !
-TaskList.headerDescription = Description
-TaskList.headerResource = Resource
-TaskList.headerFolder = In Folder
-TaskList.headerLocation = Location
-
-TaskList.high = High
-TaskList.low = Low
-TaskList.normal = Normal
-
-TaskList.errorModifyingTask = Error modifying task
-
-TaskList.reportKind = Kind
-TaskList.reportStatus = Status
-TaskList.reportPriority = Priority
-
-TaskList.task = Task
-TaskList.error = Error
-TaskList.warning = Warning
-TaskList.info = Info
-
-TaskList.completed = Completed
-TaskList.notCompleted = Not Completed
-
-TaskList.markerLimitExceeded = There are too many items to display.\n\
-	To see items in this window, adjust the filter settings.
-
-# --- Actions ---
-NewTask.text = &New Task
-NewTask.tooltip = New Task
-NewTask.notShownTitle = New Task Not Visible
-NewTask.notShownMsg = The new task will not be visible, due to the current filter settings.\n\
-     To see all tasks, choose Filter... then select the Reset button.
-
-CopyTask.text = &Copy
-CopyTask.tooltip = Copy
-
-PasteTask.text = &Paste
-PasteTask.tooltip = Paste
-PasteTask.errorMessage = Error pasting task
-
-RemoveTask.text = &Delete
-RemoveTask.tooltip = Delete
-RemoveTask.errorMessage = Error deleting task
-
-Filters.text = &Filters...
-Filters.tooltip = Filters...
-
-SortByMenu.text= &Sort
-SortByCategory.text= by &Type
-SortByCategory.tooltip= Sort by type column
-SortByCompleted.text= by &Completion
-SortByCompleted.tooltip= Sort by completion column 
-SortByPriority.text= by &Priority
-SortByPriority.tooltip= Sort by priority column
-SortByDescription.text= by &Description
-SortByDescription.tooltip= Sort by description column
-SortByResource.text= by &Resource
-SortByResource.tooltip= Sort by resource column
-SortByContainer.text= by &Folder
-SortByContainer.tooltip= Sort by folder column
-SortByLocation.text= by &Location
-SortByLocation.tooltip= Sort by location column
-SortByCreationTime.text= by Cr&eation Time
-SortByCreationTime.tooltip= Sort by task creation time
-SortAscending.text= &Ascending
-SortAscending.tooltip= Sort ascending
-SortDescending.text= De&scending
-SortDescending.tooltip= Sort Descending
-
-GotoTask.text = &Go To
-GotoTask.tooltip = Go To
-GotoTask.errorMessage = Problems Opening Editor
-
-PurgeCompleted.text = Delete Completed &Tasks
-PurgeCompleted.tooltip = Delete Completed Tasks
-PurgeCompleted.title = Delete Completed Tasks
-PurgeCompleted.noneCompleted = No completed tasks to delete.
-PurgeCompleted.permanent = Do you want to permanently delete all {0} completed tasks?
-PurgeCompleted.errorMessage = Error deleting completed tasks
-
-MarkCompleted.text = &Mark Completed
-MarkCompleted.tooltip = Mark Completed
-
-SelectAll.text = Select A&ll
-SelectAll.tooltip = Select All
-
-Resolve.text = &Quick Fix...
-Resolve.tooltip = Quick Fix
-Resolve.title = Quick Fix
-Resolve.noResolutionsLabel = There are no quick fixes available for the selected marker.
-
-Properties.text = P&roperties
-Properties.tooltip = Properties
-
-# --- Filter Dialog ---
-TaskList.filter = Filter Tasks
-TaskList.showItemsOfType = Show items of &type:
-
-TaskList.anyResource = On &any resource
-TaskList.anyResourceInSameProject = On any resource in same &project
-TaskList.selectedResource = On selected resource &only
-TaskList.selectedAndChildren = On selected resource and its &children
-TaskList.workingSet = On wor&king set:  {0}
-TaskList.workingSetSelect = &Select...
-TaskList.noWorkingSet = On wor&king set:  <no working set selected>
-
-TaskList.whereDescription = Where &description
-TaskList.contains = contains
-TaskList.doesNotContain = does not contain
-
-TaskList.severity.label = Where problem se&verity is:
-TaskList.severity.error = &Error
-TaskList.severity.warning = Warnin&g
-TaskList.severity.info = &Info
-
-TaskList.priority.label = Where task priorit&y is:
-TaskList.priority.high = &High
-TaskList.priority.low = Lo&w
-TaskList.priority.normal = &Normal
-
-TaskList.status.label = Where task stat&us is:
-TaskList.status.completed = Co&mpleted
-TaskList.status.notCompleted = Not Comp&leted
-
-TaskList.resetText = &Restore Defaults
-
-TaskList.limitVisibleTasksTo = Limit visi&ble items to:
-TaskList.titleMarkerLimitInvalid = Error
-TaskList.messageMarkerLimitInvalid = The visible item limit must be a positive integer.
-TaskPropertiesDialog.WorkingOnMarker=Working on Marker
-TaskPropertiesDialog.CreatingMarker=Creating marker
-
-# --- Properties Dialog ---
-TaskProp.newTaskTitle = New Task
-TaskProp.propertiesTitle = {0} Properties
-#TaskProp.titleFmt = {0} - {1}
-TaskProp.description = &Description:
-TaskProp.creationTime = Creation &Time:
-TaskProp.priority = &Priority:
-TaskProp.completed = &Completed
-TaskProp.severity = Severity:
-TaskProp.onResource = On &Resource:
-TaskProp.inFolder = In &Folder:
-TaskProp.location = &Location:
-TaskProp.errorMessage = Error creating or modifying task
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
-
-TaskPropertiesDialog.UpdatingAttributes=Updating attributes
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html
deleted file mode 100644
index 94c17f9..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/tasklist/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Task List view for displaying
-tasks and problem annotations on resources.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.java
deleted file mode 100644
index a3fedfd..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ExternalProjectImportWizard.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.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage;
-
-/**
- * Standard workbench wizard for importing projects defined
- * outside of the currently defined projects into Eclipse.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new ExternalProjectImportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a project is created with the location
- * specified by the user.
- * </p>
- */
-
-public class ExternalProjectImportWizard extends Wizard implements
-        IImportWizard {
-    private WizardProjectsImportPage mainPage;
-
-    /**
-     * Constructor for ExternalProjectImportWizard.
-     */
-    public ExternalProjectImportWizard() {
-        super();
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardProjectsImportPage();
-        addPage(mainPage);
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    private ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/"; //$NON-NLS-1$	
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // Should not happen
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        setWindowTitle(DataTransferMessages
-                .getString("DataTransfer.importTitle")); //$NON-NLS-1$
-        setDefaultPageImageDescriptor(getImageDescriptor("wizban/importdir_wiz.gif")); //$NON-NLS-1$
-
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performCancel() {
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        return mainPage.createProjects();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
deleted file mode 100644
index d9372ba..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemExportWizard.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.WizardFileSystemResourceExportPage1;
-
-/**
- * Standard workbench wizard for exporting resources from the workspace
- * to the local file system.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new FileSystemExportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected workspace resources 
- * are exported to the user-specified location in the local file system,
- * the dialog closes, and the call to <code>open</code> returns.
- * </p>
- */
-public class FileSystemExportWizard extends Wizard implements IExportWizard {
-    private IStructuredSelection selection;
-
-    private WizardFileSystemResourceExportPage1 mainPage;
-
-    /**
-     * Creates a wizard for exporting workspace resources to the local file system.
-     */
-    public FileSystemExportWizard() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings section = workbenchSettings
-                .getSection("FileSystemExportWizard");//$NON-NLS-1$
-        if (section == null)
-            section = workbenchSettings.addNewSection("FileSystemExportWizard");//$NON-NLS-1$
-        setDialogSettings(section);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardFileSystemResourceExportPage1(selection);
-        addPage(mainPage);
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    private ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/";//$NON-NLS-1$	
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // Should not happen
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        this.selection = currentSelection;
-        List selectedResources = IDE.computeSelectedResources(currentSelection);
-        if (!selectedResources.isEmpty()) {
-            this.selection = new StructuredSelection(selectedResources);
-        }
-
-        // look it up if current selection (after resource adapting) is empty
-        if (selection.isEmpty() && workbench.getActiveWorkbenchWindow() != null) {
-            IWorkbenchPage page = workbench.getActiveWorkbenchWindow()
-                    .getActivePage();
-            if (page != null) {
-                IEditorPart currentEditor = page.getActiveEditor();
-                if (currentEditor != null) {
-                    Object selectedResource = currentEditor.getEditorInput()
-                            .getAdapter(IResource.class);
-                    if (selectedResource != null) {
-                        selection = new StructuredSelection(selectedResource);
-                    }
-                }
-            }
-        }
-
-        setWindowTitle(DataTransferMessages.getString("DataTransfer.export")); //$NON-NLS-1$
-        setDefaultPageImageDescriptor(getImageDescriptor("wizban/exportdir_wiz.gif"));//$NON-NLS-1$
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
deleted file mode 100644
index fa21b41..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.WizardFileSystemResourceImportPage1;
-
-/**
- * Standard workbench wizard for importing resources from the local file system
- * into the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new FileSystemImportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected files are imported
- * into the workspace, the dialog closes, and the call to <code>open</code>
- * returns.
- * </p>
- */
-public class FileSystemImportWizard extends Wizard implements IImportWizard {
-    private IWorkbench workbench;
-
-    private IStructuredSelection selection;
-
-    private WizardFileSystemResourceImportPage1 mainPage;
-
-    /**
-     * Creates a wizard for importing resources into the workspace from
-     * the file system.
-     */
-    public FileSystemImportWizard() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings section = workbenchSettings
-                .getSection("FileSystemImportWizard");//$NON-NLS-1$
-        if (section == null)
-            section = workbenchSettings.addNewSection("FileSystemImportWizard");//$NON-NLS-1$
-        setDialogSettings(section);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardFileSystemResourceImportPage1(workbench, selection);
-        addPage(mainPage);
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    private ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // Should not happen
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        this.workbench = workbench;
-        this.selection = currentSelection;
-
-        List selectedResources = IDE.computeSelectedResources(currentSelection);
-        if (!selectedResources.isEmpty()) {
-            this.selection = new StructuredSelection(selectedResources);
-        }
-
-        setWindowTitle(DataTransferMessages
-                .getString("DataTransfer.importTitle")); //$NON-NLS-1$
-        setDefaultPageImageDescriptor(getImageDescriptor("wizban/importdir_wiz.gif"));//$NON-NLS-1$
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.java
deleted file mode 100644
index f01489f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/FileSystemStructureProvider.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.ui.wizards.datatransfer;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class provides information regarding the structure and
- * content of specified file system File objects.
- */
-public class FileSystemStructureProvider implements IImportStructureProvider {
-
-    /**
-     * Holds a singleton instance of this class.
-     */
-    public final static FileSystemStructureProvider INSTANCE = new FileSystemStructureProvider();
-
-    /**
-     * Creates an instance of <code>FileSystemStructureProvider</code>.
-     */
-    private FileSystemStructureProvider() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public List getChildren(Object element) {
-        File folder = (File) element;
-        String[] children = folder.list();
-        int childrenLength = children == null ? 0 : children.length;
-        List result = new ArrayList(childrenLength);
-
-        for (int i = 0; i < childrenLength; i++)
-            result.add(new File(folder, children[i]));
-
-        return result;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public InputStream getContents(Object element) {
-        try {
-            return new FileInputStream((File) element);
-        } catch (FileNotFoundException e) {
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public String getFullPath(Object element) {
-        return ((File) element).getPath();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public String getLabel(Object element) {
-
-        //Get the name - if it is empty then return the path as it is a file root
-        File file = (File) element;
-        String name = file.getName();
-        if (name.length() == 0)
-            return file.getPath();
-        else
-            return name;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public boolean isFolder(Object element) {
-        return ((File) element).isDirectory();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
deleted file mode 100644
index ee5025c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/IImportStructureProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.io.InputStream;
-import java.util.List;
-
-/**
- * Interface which can provide structure and content information 
- * for an element (for example, a file system element).
- * Used by the import wizards to abstract the commonalities
- * between importing from the file system and importing from an archive.
- */
-public interface IImportStructureProvider {
-    /**
-     * Returns a collection with the children of the specified structured element.
-     */
-    List getChildren(Object element);
-
-    /**
-     * Returns the contents of the specified structured element, or
-     * <code>null</code> if there is a problem determining the element's
-     * contents.
-     *
-     * @param element a structured element
-     * @return the contents of the structured element, or <code>null</code>
-     */
-    InputStream getContents(Object element);
-
-    /**
-     * Returns the full path of the specified structured element.
-     *
-     * @param element a structured element
-     * @return the display label of the structured element
-     */
-    String getFullPath(Object element);
-
-    /**
-     * Returns the display label of the specified structured element.
-     *
-     * @param element a structured element
-     * @return the display label of the structured element
-     */
-    String getLabel(Object element);
-
-    /**
-     * Returns a boolean indicating whether the passed structured element represents
-     * a container element (as opposed to a leaf element).
-     *
-     * @return boolean
-     * @param element java.lang.Object
-     */
-    boolean isFolder(Object element);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
deleted file mode 100644
index e4cebf1..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ImportOperation.java
+++ /dev/null
@@ -1,834 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.ContainerGenerator;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.TarFileStructureProvider;
-
-/**
- * An operation which does the actual work of copying objects from the local file
- * system into the workspace.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- */
-public class ImportOperation extends WorkspaceModifyOperation {
-    private static final int POLICY_DEFAULT = 0;
-
-    private static final int POLICY_SKIP_CHILDREN = 1;
-
-    private static final int POLICY_FORCE_OVERWRITE = 2;
-
-    private Object source;
-
-    private IPath destinationPath;
-
-    private IContainer destinationContainer;
-
-    private List selectedFiles;
-
-    private List rejectedFiles;
-
-    private IImportStructureProvider provider;
-
-    private IProgressMonitor monitor;
-
-    protected IOverwriteQuery overwriteCallback;
-
-    private Shell context;
-
-    private List errorTable = new ArrayList();
-
-    private boolean createContainerStructure = true;
-
-    //The constants for the overwrite 3 state
-    private static final int OVERWRITE_NOT_SET = 0;
-
-    private static final int OVERWRITE_NONE = 1;
-
-    private static final int OVERWRITE_ALL = 2;
-
-    private int overwriteState = OVERWRITE_NOT_SET;
-
-    /**
-     * Creates a new operation that recursively imports the entire contents of the
-     * specified root file system object.
-     * <p>
-     * The <code>source</code> parameter represents the root file system object to 
-     * import. All contents of this object are imported. Valid types for this parameter
-     * are determined by the supplied <code>IImportStructureProvider</code>.
-     * </p>
-     * <p>
-     * The <code>provider</code> parameter allows this operation to deal with the
-     * source object in an abstract way. This operation calls methods on the provider
-     * and the provider in turn calls specific methods on the source object.
-     * </p>
-     *  <p>
-     * The default import behavior is to recreate the complete container structure
-     * for the contents of the root file system object in their destination. 
-     * If <code>setCreateContainerStructure</code> is set to false then the container 
-     * structure created is relative to the root file system object.
-     * </p>
-     * 
-     * @param containerPath the full path of the destination container within the
-     *   workspace
-     * @param source the root file system object to import
-     * @param provider the file system structure provider to use
-     * @param overwriteImplementor the overwrite strategy to use
-     */
-    public ImportOperation(IPath containerPath, Object source,
-            IImportStructureProvider provider,
-            IOverwriteQuery overwriteImplementor) {
-        super();
-        this.destinationPath = containerPath;
-        this.source = source;
-        this.provider = provider;
-        overwriteCallback = overwriteImplementor;
-    }
-
-    /**
-     * Creates a new operation that imports specific file system objects.
-     * In this usage context, the specified source file system object is used by the
-     * operation solely to determine the destination container structure of the file system
-     * objects being imported.
-     * <p>
-     * The <code>source</code> parameter represents the root file system object to 
-     * import. Valid types for this parameter are determined by the supplied 
-     * <code>IImportStructureProvider</code>. The contents of the source which
-     * are to be imported are specified in the <code>filesToImport</code>
-     * parameter.
-     * </p>
-     * <p>
-     * The <code>provider</code> parameter allows this operation to deal with the
-     * source object in an abstract way. This operation calls methods on the provider
-     * and the provider in turn calls specific methods on the source object.
-     * </p>
-     * <p>
-     * The <code>filesToImport</code> parameter specifies what contents of the root
-     * file system object are to be imported.
-     * </p>
-     * <p>
-     * The default import behavior is to recreate the complete container structure
-     * for the file system objects in their destination. If <code>setCreateContainerStructure</code>
-     * is set to <code>false</code>, then the container structure created for each of 
-     * the file system objects is relative to the supplied root file system object.
-     * </p>
-     *
-     * @param containerPath the full path of the destination container within the
-     *   workspace
-     * @param source the root file system object to import from
-     * @param provider the file system structure provider to use
-     * @param overwriteImplementor the overwrite strategy to use
-     * @param filesToImport the list of file system objects to be imported
-     *  (element type: <code>Object</code>)
-     */
-    public ImportOperation(IPath containerPath, Object source,
-            IImportStructureProvider provider,
-            IOverwriteQuery overwriteImplementor, List filesToImport) {
-        this(containerPath, source, provider, overwriteImplementor);
-        setFilesToImport(filesToImport);
-    }
-
-    /**
-     * Creates a new operation that imports specific file system objects.
-     * <p>
-     * The <code>provider</code> parameter allows this operation to deal with the
-     * source object in an abstract way. This operation calls methods on the provider
-     * and the provider in turn calls specific methods on the source object.
-     * </p>
-     * <p>
-     * The <code>filesToImport</code> parameter specifies what file system objects 
-     * are to be imported.
-     * </p>
-     * <p>
-     * The default import behavior is to recreate the complete container structure
-     * for the file system objects in their destination. If <code>setCreateContainerStructure</code>
-     * is set to <code>false</code>, then no container structure is created for each of 
-     * the file system objects.
-     * </p>
-     *
-     * @param containerPath the full path of the destination container within the
-     *   workspace
-     * @param provider the file system structure provider to use
-     * @param overwriteImplementor the overwrite strategy to use
-     * @param filesToImport the list of file system objects to be imported
-     *  (element type: <code>Object</code>)
-     */
-    public ImportOperation(IPath containerPath,
-            IImportStructureProvider provider,
-            IOverwriteQuery overwriteImplementor, List filesToImport) {
-        this(containerPath, null, provider, overwriteImplementor);
-        setFilesToImport(filesToImport);
-    }
-
-    /**
-     * Prompts if existing resources should be overwritten. Recursively collects
-     * existing read-only files to overwrite and resources that should not be
-     * overwritten.
-     * 
-     * @param sourceStart destination path to check for existing files
-     * @param sources file system objects that may exist in the destination
-     * @param noOverwrite files that were selected to be skipped (don't overwrite).
-     * 	object type IPath
-     * @param overwriteReadonly the collected existing read-only files to overwrite.
-     * 	object type IPath
-     * @param policy on of the POLICY constants defined in the
-     * class.
-     */
-    void collectExistingReadonlyFiles(IPath sourceStart, List sources,
-            ArrayList noOverwrite, ArrayList overwriteReadonly, int policy) {
-        IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-        Iterator sourceIter = sources.iterator();
-        IPath sourceRootPath = null;
-
-        if (this.source != null) {
-            sourceRootPath = new Path(provider.getFullPath(this.source));
-        }
-        while (sourceIter.hasNext()) {
-            Object nextSource = sourceIter.next();
-            IPath sourcePath = new Path(provider.getFullPath(nextSource));
-            IPath newDestinationPath;
-            IResource newDestination;
-
-            if (sourceRootPath == null) {
-                newDestinationPath = sourceStart.append(provider
-                        .getLabel(nextSource));
-            } else {
-                int prefixLength = sourcePath
-                        .matchingFirstSegments(sourceRootPath);
-                IPath relativeSourcePath = sourcePath
-                        .removeFirstSegments(prefixLength);
-                newDestinationPath = this.destinationPath
-                        .append(relativeSourcePath);
-            }
-            newDestination = workspaceRoot.findMember(newDestinationPath);
-            if (newDestination == null)
-                continue;
-
-            IFolder folder = getFolder(newDestination);
-            if (folder != null) {
-                if (policy != POLICY_FORCE_OVERWRITE) {
-                    if (this.overwriteState == OVERWRITE_NONE
-                            || !queryOverwrite(newDestinationPath)) {
-                        noOverwrite.add(folder);
-                        continue;
-                    }
-                }
-                if (provider.isFolder(nextSource))//Recurse into children
-                    collectExistingReadonlyFiles(newDestinationPath, provider
-                            .getChildren(nextSource), noOverwrite,
-                            overwriteReadonly, POLICY_FORCE_OVERWRITE);
-            } else {
-                IFile file = getFile(newDestination);
-
-                if (file != null) {
-                    if (!queryOverwriteFile(file, policy))
-                        noOverwrite.add(file.getFullPath());
-                    else if (file.isReadOnly())
-                        overwriteReadonly.add(file);
-                }
-            }
-        }
-    }
-
-    /**
-     * Creates the folders that appear in the specified resource path.
-     * These folders are created relative to the destination container.
-     *
-     * @param path the relative path of the resource
-     * @return the container resource coresponding to the given path
-     * @exception CoreException if this method failed
-     */
-    IContainer createContainersFor(IPath path) throws CoreException {
-
-        IContainer currentFolder = destinationContainer;
-
-        int segmentCount = path.segmentCount();
-
-        //No containers to create
-        if (segmentCount == 0)
-            return currentFolder;
-
-        //Needs to be handles differently at the root
-        if (currentFolder.getType() == IResource.ROOT)
-            return createFromRoot(path);
-
-        for (int i = 0; i < segmentCount; i++) {
-            currentFolder = currentFolder.getFolder(new Path(path.segment(i)));
-            if (!currentFolder.exists())
-                ((IFolder) currentFolder).create(false, true, null);
-        }
-
-        return currentFolder;
-    }
-
-    /**
-     * Creates the folders that appear in the specified resource path
-     * assuming that the destinationContainer begins at the root. Do not create projects.
-     *
-     * @param path the relative path of the resource
-     * @return the container resource coresponding to the given path
-     * @exception CoreException if this method failed
-     */
-    private IContainer createFromRoot(IPath path) throws CoreException {
-
-        int segmentCount = path.segmentCount();
-
-        //Assume the project exists 
-        IContainer currentFolder = ((IWorkspaceRoot) destinationContainer)
-                .getProject(path.segment(0));
-
-        for (int i = 1; i < segmentCount; i++) {
-            currentFolder = currentFolder.getFolder(new Path(path.segment(i)));
-            if (!currentFolder.exists())
-                ((IFolder) currentFolder).create(false, true, null);
-        }
-
-        return currentFolder;
-    }
-
-    /**
-     * Deletes the given resource. If the resource fails to be deleted, adds a
-     * status object to the list to be returned by <code>getResult</code>.
-     *
-     * @param resource the resource
-     */
-    void deleteResource(IResource resource) {
-        try {
-            resource.delete(IResource.KEEP_HISTORY, null);
-        } catch (CoreException e) {
-            errorTable.add(e.getStatus());
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkbenchModifyOperation.
-     * Imports the specified file system objects from the file system.
-     */
-    protected void execute(IProgressMonitor progressMonitor) {
-
-        monitor = progressMonitor;
-
-        try {
-            if (selectedFiles == null) {
-                //Set the amount to 1000 as we have no idea of how long this will take
-                monitor.beginTask(DataTransferMessages
-                        .getString("DataTransfer.importTask"), 1000); //$NON-NLS-1$
-                ContainerGenerator generator = new ContainerGenerator(
-                        destinationPath);
-                monitor.worked(30);
-                validateFiles(Arrays.asList(new Object[] { source }));
-                monitor.worked(50);
-                destinationContainer = generator
-                        .generateContainer(new SubProgressMonitor(monitor, 50));
-                importRecursivelyFrom(source, POLICY_DEFAULT);
-                //Be sure it finishes
-                monitor.worked(90);
-            } else {
-                // Choose twice the selected files size to take folders into account
-                int creationCount = selectedFiles.size();
-                monitor
-                        .beginTask(
-                                DataTransferMessages
-                                        .getString("DataTransfer.importTask"), creationCount + 100); //$NON-NLS-1$
-                ContainerGenerator generator = new ContainerGenerator(
-                        destinationPath);
-                monitor.worked(30);
-                validateFiles(selectedFiles);
-                monitor.worked(50);
-                destinationContainer = generator
-                        .generateContainer(new SubProgressMonitor(monitor, 50));
-                importFileSystemObjects(selectedFiles);
-                monitor.done();
-            }
-        } catch (CoreException e) {
-            errorTable.add(e.getStatus());
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     * Returns the container resource that the passed file system object should be
-     * imported into.
-     *
-     * @param fileSystemObject the file system object being imported
-     * @return the container resource that the passed file system object should be
-     *     imported into
-     * @exception CoreException if this method failed
-     */
-    IContainer getDestinationContainerFor(Object fileSystemObject)
-            throws CoreException {
-        IPath pathname = new Path(provider.getFullPath(fileSystemObject));
-
-        if (createContainerStructure)
-            return createContainersFor(pathname.removeLastSegments(1));
-        if (source == fileSystemObject)
-                return null;
-        IPath sourcePath = new Path(provider.getFullPath(source));
-        IPath destContainerPath = pathname.removeLastSegments(1);
-        IPath relativePath = destContainerPath.removeFirstSegments(
-                sourcePath.segmentCount()).setDevice(null);
-        return createContainersFor(relativePath);
-        
-    }
-
-    /**
-     * Returns the resource either casted to or adapted to an IFile. 
-     * 
-     * @param resource resource to cast/adapt
-     * @return the resource either casted to or adapted to an IFile.
-     * 	<code>null</code> if the resource does not adapt to IFile 
-     */
-    IFile getFile(IResource resource) {
-        if (resource instanceof IFile) {
-            return (IFile) resource;
-        }
-        Object adapted = ((IAdaptable) resource).getAdapter(IFile.class);
-        if(adapted == null)
-        	return null;
-        return (IFile) adapted;
-      
-    }
-
-    /**
-     * Returns the resource either casted to or adapted to an IFolder. 
-     * 
-     * @param resource resource to cast/adapt
-     * @return the resource either casted to or adapted to an IFolder.
-     * 	<code>null</code> if the resource does not adapt to IFolder 
-     */
-    IFolder getFolder(IResource resource) {
-        if (resource instanceof IFolder) {
-            return (IFolder) resource;
-        }
-        Object adapted = ((IAdaptable) resource).getAdapter(IFolder.class);
-        if(adapted == null)
-        	return null;
-        return (IFolder) adapted;
-    }
-
-    /**
-     * Returns the rejected files based on the given multi status.
-     *  
-     * @param multiStatus multi status to use to determine file rejection
-     * @param files source files
-     * @return list of rejected files as absolute paths. Object type IPath.
-     */
-    ArrayList getRejectedFiles(IStatus multiStatus, IFile[] files) {
-        ArrayList filteredFiles = new ArrayList();
-
-        IStatus[] status = multiStatus.getChildren();
-        for (int i = 0; i < status.length; i++) {
-            if (status[i].isOK() == false) {
-            	errorTable.add(status[i]);
-            	filteredFiles.add(files[i].getFullPath());
-            }
-        }
-        return filteredFiles;
-    }
-
-    /**
-     * Returns the status of the import operation.
-     * If there were any errors, the result is a status object containing
-     * individual status objects for each error.
-     * If there were no errors, the result is a status object with error code <code>OK</code>.
-     *
-     * @return the status
-     */
-    public IStatus getStatus() {
-        IStatus[] errors = new IStatus[errorTable.size()];
-        errorTable.toArray(errors);
-        return new MultiStatus(PlatformUI.PLUGIN_ID, IStatus.OK, errors,
-                DataTransferMessages
-                        .getString("ImportOperation.importProblems"), //$NON-NLS-1$
-                null);
-    }
-
-    /**
-     * Imports the specified file system object into the workspace.
-     * If the import fails, adds a status object to the list to be returned by
-     * <code>getResult</code>.
-     *
-     * @param fileObject the file system object to be imported
-     * @param policy determines how the file object is imported
-     */
-    void importFile(Object fileObject, int policy) {
-        IContainer containerResource;
-        try {
-            containerResource = getDestinationContainerFor(fileObject);
-        } catch (CoreException e) {
-            IStatus coreStatus = e.getStatus();
-            String newMessage = DataTransferMessages
-                    .format(
-                            "ImportOperation.coreImportError", new Object[] { fileObject, coreStatus.getMessage() }); //$NON-NLS-1$
-            IStatus status = new Status(coreStatus.getSeverity(), coreStatus
-                    .getPlugin(), coreStatus.getCode(), newMessage, null);
-            errorTable.add(status);
-            return;
-        }
-
-        String fileObjectPath = provider.getFullPath(fileObject);
-        monitor.subTask(fileObjectPath);
-        IFile targetResource = containerResource.getFile(new Path(provider
-                .getLabel(fileObject)));
-        monitor.worked(1);
-
-        if (rejectedFiles.contains(targetResource.getFullPath()))
-            return;
-
-        // ensure that the source and target are not the same
-        IPath targetPath = targetResource.getLocation();
-        // Use Files for comparison to avoid platform specific case issues
-        if (targetPath != null
-                && (targetPath.toFile().equals(new File(fileObjectPath)))) {
-            errorTable.add(new Status(IStatus.ERROR, PlatformUI.PLUGIN_ID, 0,
-                    DataTransferMessages.format(
-                            "ImportOperation.targetSameAsSourceError", //$NON-NLS-1$
-                            new Object[] { fileObjectPath }), null));
-            return;
-        }
-
-        InputStream contentStream = provider.getContents(fileObject);
-        if (contentStream == null) {
-            errorTable
-                    .add(new Status(
-                            IStatus.ERROR,
-                            PlatformUI.PLUGIN_ID,
-                            0,
-                            DataTransferMessages
-                                    .format(
-                                            "ImportOperation.openStreamError", new Object[] { fileObjectPath }), //$NON-NLS-1$
-                            null));
-            return;
-        }
-
-        try {
-            if (targetResource.exists())
-                targetResource.setContents(contentStream,
-                        IResource.KEEP_HISTORY, null);
-            else
-                targetResource.create(contentStream, false, null);
-            
-            if (provider instanceof TarFileStructureProvider) {
-            	try {
-            		targetResource.setResourceAttributes(((TarFileStructureProvider) provider).getResourceAttributes(fileObject));
-            	} catch (CoreException e) {
-            		errorTable.add(e.getStatus());
-            	}
-            }
-        } catch (CoreException e) {
-            errorTable.add(e.getStatus());
-        } finally {
-            try {
-                contentStream.close();
-            } catch (IOException e) {
-                errorTable
-                        .add(new Status(
-                                IStatus.ERROR,
-                                PlatformUI.PLUGIN_ID,
-                                0,
-                                DataTransferMessages
-                                        .format(
-                                                "ImportOperation.closeStreamError", new Object[] { fileObjectPath }), //$NON-NLS-1$
-                                e));
-            }
-        }
-    }
-
-    /**
-     * Imports the specified file system objects into the workspace.
-     * If the import fails, adds a status object to the list to be returned by
-     * <code>getStatus</code>.
-     *
-     * @param filesToImport the list of file system objects to import
-     *   (element type: <code>Object</code>)
-     * @exception OperationCanceledException if canceled
-     */
-    void importFileSystemObjects(List filesToImport) {
-        Iterator filesEnum = filesToImport.iterator();
-        while (filesEnum.hasNext()) {
-            Object fileSystemObject = filesEnum.next();
-            if (source == null) {
-                // We just import what we are given into the destination
-                IPath sourcePath = new Path(provider
-                        .getFullPath(fileSystemObject)).removeLastSegments(1);
-                if (provider.isFolder(fileSystemObject) && sourcePath.isEmpty()) {
-                    // If we don't have a parent then we have selected the
-                    // file systems root. Roots can't copied (at least not
-                    // under windows).
-                    errorTable.add(new Status(IStatus.INFO,
-                            PlatformUI.PLUGIN_ID, 0, DataTransferMessages
-                                    .getString("ImportOperation.cannotCopy"), //$NON-NLS-1$
-                            null));
-                    continue;
-                }
-                source = sourcePath.toFile();
-            }
-            importRecursivelyFrom(fileSystemObject, POLICY_DEFAULT);
-        }
-    }
-
-    /**
-     * Imports the specified file system container object into the workspace.
-     * If the import fails, adds a status object to the list to be returned by
-     * <code>getResult</code>.
-     *
-     * @param folderObject the file system container object to be imported
-     * @param policy determines how the folder object and children are imported
-     * @return the policy to use to import the folder's children
-     */
-    int importFolder(Object folderObject, int policy) {
-        IContainer containerResource;
-        try {
-            containerResource = getDestinationContainerFor(folderObject);
-        } catch (CoreException e) {
-            errorTable.add(e.getStatus());
-            return policy;
-        }
-
-        if (containerResource == null)
-            return policy;
-
-        monitor.subTask(provider.getFullPath(folderObject));
-        IWorkspace workspace = destinationContainer.getWorkspace();
-        IPath containerPath = containerResource.getFullPath();
-        IPath resourcePath = containerPath.append(provider
-                .getLabel(folderObject));
-
-        // Do not attempt the import if the resource path is unchanged. This may happen
-        // when importing from a zip file.
-        if (resourcePath.equals(containerPath))
-            return policy;
-
-        if (workspace.getRoot().exists(resourcePath)) {
-            if (rejectedFiles.contains(resourcePath))
-                return POLICY_SKIP_CHILDREN;
-
-            return POLICY_FORCE_OVERWRITE;
-        }
-
-        try {
-            workspace.getRoot().getFolder(resourcePath).create(false, true,
-                    null);
-        } catch (CoreException e) {
-            errorTable.add(e.getStatus());
-        }
-
-        return policy;
-    }
-
-    /**
-     * Imports the specified file system object recursively into the workspace.
-     * If the import fails, adds a status object to the list to be returned by
-     * <code>getStatus</code>.
-     *
-     * @param fileSystemObject the file system object to be imported
-     * @param policy determines how the file system object and children are imported
-     * @exception OperationCanceledException if canceled
-     */
-    void importRecursivelyFrom(Object fileSystemObject, int policy) {
-        if (monitor.isCanceled())
-            throw new OperationCanceledException();
-
-        if (!provider.isFolder(fileSystemObject)) {
-            importFile(fileSystemObject, policy);
-            return;
-        }
-
-        int childPolicy = importFolder(fileSystemObject, policy);
-        if (childPolicy != POLICY_SKIP_CHILDREN) {
-            Iterator children = provider.getChildren(fileSystemObject)
-                    .iterator();
-            while (children.hasNext())
-                importRecursivelyFrom(children.next(), childPolicy);
-        }
-    }
-
-    /**
-     * Queries the user whether the resource with the specified path should be
-     * overwritten by a file system object that is being imported.
-     * 
-     * @param resourcePath the workspace path of the resource that needs to be overwritten
-     * @return <code>true</code> to overwrite, <code>false</code> to not overwrite
-     * @exception OperationCanceledException if canceled
-     */
-    boolean queryOverwrite(IPath resourcePath)
-            throws OperationCanceledException {
-        String overwriteAnswer = overwriteCallback.queryOverwrite(resourcePath
-                .makeRelative().toString());
-
-        if (overwriteAnswer.equals(IOverwriteQuery.CANCEL))
-            throw new OperationCanceledException(DataTransferMessages
-                    .getString("DataTransfer.emptyString")); //$NON-NLS-1$
-
-        if (overwriteAnswer.equals(IOverwriteQuery.NO)) {
-            return false;
-        }
-
-        if (overwriteAnswer.equals(IOverwriteQuery.NO_ALL)) {
-            this.overwriteState = OVERWRITE_NONE;
-            return false;
-        }
-
-        if (overwriteAnswer.equals(IOverwriteQuery.ALL))
-            this.overwriteState = OVERWRITE_ALL;
-
-        return true;
-    }
-
-    /**
-     * Returns whether the given file should be overwritten.
-     *
-     * @param targetFile the file to ask to overwrite 
-     * @param policy determines if the user is queried for overwrite 
-     * @return <code>true</code> if the file should be overwritten, and
-     * 	<code>false</code> if not.
-     */
-    boolean queryOverwriteFile(IFile targetFile, int policy) {
-        //If force overwrite is on don't bother
-        if (policy != POLICY_FORCE_OVERWRITE) {
-            if (this.overwriteState == OVERWRITE_NOT_SET
-                    && !queryOverwrite(targetFile.getFullPath()))
-                return false;
-            if (this.overwriteState == OVERWRITE_NONE)
-                return false;
-        }
-        return true;
-    }
-
-    /**
-     * Sets the context for use by the VCM provider to prompt the user
-     * for check-out of files.
-     * 
-     * @param shell context for use by the VCM provider to prompt user
-     * 	for check-out. The user will not be prompted if set to <code>null</code>.
-     * @see IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)
-     * @since 2.1
-     */
-    public void setContext(Shell shell) {
-        context = shell;
-    }
-
-    /**
-     * Sets whether the containment structures that are implied from the full paths
-     * of file system objects being imported should be duplicated in the workbench.
-     *
-     * @param value <code>true</code> if containers should be created, and
-     *  <code>false</code> otherwise
-     */
-    public void setCreateContainerStructure(boolean value) {
-        createContainerStructure = value;
-    }
-
-    /**
-     * Sets the file system objects to import.
-     *
-     * @param filesToImport the list of file system objects to be imported
-     *   (element type: <code>Object</code>)
-     */
-    public void setFilesToImport(List filesToImport) {
-        this.selectedFiles = filesToImport;
-    }
-
-    /**
-     * Sets whether imported file system objects should automatically overwrite
-     * existing workbench resources when a conflict occurs.
-     *
-     * @param value <code>true</code> to automatically overwrite, and 
-     *   <code>false</code> otherwise
-     */
-    public void setOverwriteResources(boolean value) {
-        if (value)
-            this.overwriteState = OVERWRITE_ALL;
-    }
-
-    /**
-     * Validates that the given source resources can be copied to the 
-     * destination as decided by the VCM provider.
-     * 
-     * @param existingFiles existing files to validate
-     * @return list of rejected files as absolute paths. Object type IPath.
-     */
-    ArrayList validateEdit(List existingFiles) {
-       
-        if (existingFiles.size() > 0) {
-            IFile[] files = (IFile[]) existingFiles
-                    .toArray(new IFile[existingFiles.size()]);
-            IWorkspace workspace = ResourcesPlugin.getWorkspace();
-            IStatus status = workspace.validateEdit(files, context);
-
-            //If there was a mix return the bad ones
-            if (status.isMultiStatus())
-                return getRejectedFiles(status, files);
-            
-           if(!status.isOK()){
-           		//If just a single status reject them all
-           		errorTable.add(status);
-           		ArrayList filteredFiles = new ArrayList();
-
-           		for (int i = 0; i < files.length; i++) {
-           			filteredFiles.add(files[i].getFullPath());
-           		}
-           		return filteredFiles;
-           }
-            
-        }
-        return new ArrayList();
-    }
-
-    /**
-     * Validates the given file system objects.
-     * The user is prompted to overwrite existing files.
-     * Existing read-only files are validated with the VCM provider.
-     * 
-     * @param sourceFiles files to validate
-     */
-    void validateFiles(List sourceFiles) {
-        ArrayList noOverwrite = new ArrayList();
-        ArrayList overwriteReadonly = new ArrayList();
-
-        collectExistingReadonlyFiles(destinationPath, sourceFiles, noOverwrite,
-                overwriteReadonly, POLICY_DEFAULT);
-        rejectedFiles = validateEdit(overwriteReadonly);
-        rejectedFiles.addAll(noOverwrite);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
deleted file mode 100644
index dbad0b6..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateElementOperation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.jface.operation.ModalContext;
-
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.MinimizedFileSystemElement;
-
-
-/**
- * The PopulateElementOperation has a MinimizedFileSystemElement as an object as this is
- * just filled in.
- */
-public class PopulateElementOperation extends PopulateRootOperation {
-    /**
-     * Create a new <code>PopulateElementsOperation</code>.
-     * @param rootObject the object to be populated
-     * @param structureProvider the object that defines how we are to populate it.
-     */
-    public PopulateElementOperation(MinimizedFileSystemElement rootObject,
-            IImportStructureProvider structureProvider) {
-        super(rootObject, structureProvider);
-    }
-
-    /**
-     * Populates the children of element down to level depth
-     */
-    private void populateElement(MinimizedFileSystemElement element,
-            IProgressMonitor monitor) throws InterruptedException {
-
-        Object fileSystemObject = element.getFileSystemObject();
-        ModalContext.checkCanceled(monitor);
-
-        List children = provider.getChildren(fileSystemObject);
-        if (children == null)
-            children = new ArrayList(1);
-        Iterator childrenEnum = children.iterator();
-        while (childrenEnum.hasNext()) {
-            //Create one level below
-            createElement(element, childrenEnum.next(), 1);
-        }
-        element.setPopulated();
-    }
-
-    /**
-     * Runs the operation. The result of this operation is always the elemen provided.
-     */
-    public void run(IProgressMonitor monitor) throws InterruptedException {
-        try {
-            this.monitor = monitor;
-            monitor
-                    .beginTask(
-                            DataTransferMessages
-                                    .getString("DataTransfer.scanningChildren"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-            MinimizedFileSystemElement element = (MinimizedFileSystemElement) root;
-            populateElement(element, monitor);
-
-        } finally {
-            monitor.done();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
deleted file mode 100644
index ab74ebc..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/PopulateRootOperation.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.dialogs.FileSystemElement;
-
-import org.eclipse.ui.internal.wizards.datatransfer.MinimizedFileSystemElement;
-
-/**
- * The PopulateFilesOperation is an operation used to populate a FileSystemElement one
- * level deep rather than the whole way.
- */
-public class PopulateRootOperation extends SelectFilesOperation {
-    /**
-     * Create a new <code>PopulateFilesOperation</code>.
-     * @param rootObject the object to be populated
-     * @param structureProvider the object that defines how we are to populate it.
-     */
-    public PopulateRootOperation(Object rootObject,
-            IImportStructureProvider structureProvider) {
-        super(rootObject, structureProvider);
-    }
-
-    /**
-     * Creates and returns a <code>FileSystemElement</code> if the specified
-     * file system object merits one.  The criteria for this are:
-     * - if the file system object is a container then it must have either a
-     *   child container or an associated file
-     * - if the file system object is a file then it must have an extension
-     *   suitable for selection
-     */
-    protected FileSystemElement createElement(FileSystemElement parent,
-            Object fileSystemObject) throws InterruptedException {
-
-        //Iterate on level deep
-        return createElement(parent, fileSystemObject, 2);
-
-    }
-
-    /**
-     * Creates and returns a <code>FileSystemElement</code> if the specified
-     * file system object merits one.  The criteria for this are:
-     * - if the file system object is a container then it must have either a
-     *   child container or an associated file
-     * - if the file system object is a file then it must have an extension
-     *   suitable for selection
-     * 	recurse down for depth to populate children
-     */
-    protected FileSystemElement createElement(FileSystemElement parent,
-            Object fileSystemObject, int depth) throws InterruptedException {
-        ModalContext.checkCanceled(monitor);
-        boolean isContainer = provider.isFolder(fileSystemObject);
-        String elementLabel = parent == null ? provider
-                .getFullPath(fileSystemObject) : provider
-                .getLabel(fileSystemObject);
-
-        MinimizedFileSystemElement result = new MinimizedFileSystemElement(
-                elementLabel, parent, isContainer);
-        result.setFileSystemObject(fileSystemObject);
-
-        if (isContainer) {
-            if (depth > 0) {
-                List children = provider.getChildren(fileSystemObject);
-                if (children == null)
-                    children = new ArrayList(1);
-                Iterator childrenEnum = children.iterator();
-                while (childrenEnum.hasNext()) {
-                    createElement(result, childrenEnum.next(), depth - 1);
-                }
-                result.setPopulated();
-            }
-
-        }
-
-        return result;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.java
deleted file mode 100644
index 8d93d2c..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/SelectFilesOperation.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.ui.wizards.datatransfer;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.ui.dialogs.FileSystemElement;
-
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-
-/**
- *	Operation responsible for traversing a specified file system position
- *	recursively and building
- *	-	a tree that represents the container structure
- *	-	a collection containing all files meeting a specified extension criteria
- *
- *	This is implemented as an Operation in order to provide an escape to the user
- *	(the Cancel button) if the operation drags on for too long
- */
-public class SelectFilesOperation implements IRunnableWithProgress {
-    IProgressMonitor monitor;
-
-    Object root;
-
-    IImportStructureProvider provider;
-
-    String desiredExtensions[];
-
-    FileSystemElement result;
-
-    /**
-     * Creates a new <code>SelectFilesOperation</code>.
-     */
-    public SelectFilesOperation(Object rootObject,
-            IImportStructureProvider structureProvider) {
-        super();
-        root = rootObject;
-        provider = structureProvider;
-    }
-
-    /**
-     * Creates and returns a <code>FileSystemElement</code> if the specified
-     * file system object merits one.  The criteria for this are:
-     * - if the file system object is a container then it must have either a
-     *   child container or an associated file
-     * - if the file system object is a file then it must have an extension
-     *   suitable for selection
-     */
-    protected FileSystemElement createElement(FileSystemElement parent,
-            Object fileSystemObject) throws InterruptedException {
-        ModalContext.checkCanceled(monitor);
-        boolean isContainer = provider.isFolder(fileSystemObject);
-        String elementLabel = parent == null ? provider
-                .getFullPath(fileSystemObject) : provider
-                .getLabel(fileSystemObject);
-
-        if (!isContainer && !hasDesiredExtension(elementLabel))
-            return null;
-
-        FileSystemElement result = new FileSystemElement(elementLabel, parent,
-                isContainer);
-        result.setFileSystemObject(fileSystemObject);
-
-        if (isContainer) {
-            boolean haveChildOrFile = false;
-            List children = provider.getChildren(fileSystemObject);
-            if (children == null)
-                children = new ArrayList(1);
-            Iterator childrenEnum = children.iterator();
-            while (childrenEnum.hasNext()) {
-                if (createElement(result, childrenEnum.next()) != null)
-                    haveChildOrFile = true;
-            }
-
-            if (!haveChildOrFile && parent != null) {
-                parent.removeFolder(result);
-                result = null;
-            }
-        }
-
-        return result;
-    }
-
-    /**
-     * Returns the extension portion of the passed filename string.
-     */
-    protected String getExtensionFor(String filename) {
-        int nIndex = filename.lastIndexOf('.');
-
-        if (nIndex >= 0)
-            return filename.substring(nIndex + 1);
-
-        return "";//$NON-NLS-1$
-
-    }
-
-    /**
-     * Returns the resulting root file system element.
-     */
-    public FileSystemElement getResult() {
-        return result;
-    }
-
-    /**
-     * Returns a boolean indicating whether the extension of the passed filename
-     * is one of the extensions specified as desired by the filter.
-     */
-    protected boolean hasDesiredExtension(String filename) {
-        if (desiredExtensions == null) // ie.- all extensions are fine
-            return true;
-
-        int extensionsSize = desiredExtensions.length;
-        for (int i = 0; i < extensionsSize; i++) {
-            if (getExtensionFor(filename)
-                    .equalsIgnoreCase(desiredExtensions[i]))
-                return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Runs the operation.
-     */
-    public void run(IProgressMonitor monitor) throws InterruptedException {
-        try {
-            this.monitor = monitor;
-            monitor
-                    .beginTask(
-                            DataTransferMessages
-                                    .getString("DataTransfer.scanningMatching"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-            result = createElement(null, root);
-            if (result == null) {
-                result = new FileSystemElement(provider.getLabel(root), null,
-                        provider.isFolder(root));
-                result.setFileSystemObject(root);
-            }
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     * Sets the file extensions which are desired.  A value of <code>null</code>
-     * indicates that all files should be kept regardless of extension.
-     */
-    public void setDesiredExtensions(String[] extensions) {
-        desiredExtensions = extensions;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
deleted file mode 100644
index 979c494..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/WizardExternalProjectImportPage.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-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.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IIDEHelpContextIds;
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-
-/**
- * Standard main page for a wizard that creates a project resource from
- * whose location already contains a project.
- * <p>
- * This page may be used by clients as-is; it may be also be subclassed to suit.
- * </p>
- * <p>
- * Example useage:
- * <pre>
- * mainPage = new WizardExternalProjectImportPage("basicNewProjectPage");
- * mainPage.setTitle("Project");
- * mainPage.setDescription("Create a new project resource.");
- * </pre>
- * </p>
- */
-public class WizardExternalProjectImportPage extends WizardPage {
-
-    private FileFilter projectFilter = new FileFilter() {
-        //Only accept those files that are .project
-        public boolean accept(File pathName) {
-            return pathName.getName().equals(
-                    IProjectDescription.DESCRIPTION_FILE_NAME);
-        }
-    };
-
-    //Keep track of the directory that we browsed to last time
-    //the wizard was invoked.
-    private static String previouslyBrowsedDirectory = ""; //$NON-NLS-1$
-
-    // widgets
-    private Text projectNameField;
-
-    private Text locationPathField;
-
-    private Button browseButton;
-
-    private IProjectDescription description;
-
-    private Listener locationModifyListener = new Listener() {
-        public void handleEvent(Event e) {
-            setPageComplete(validatePage());
-        }
-    };
-
-    // constants
-    private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-
-    /**
-     * Creates a new project creation wizard page.
-     *
-     */
-    public WizardExternalProjectImportPage() {
-        super("wizardExternalProjectPage"); //$NON-NLS-1$
-        setPageComplete(false);
-        setTitle(DataTransferMessages
-                .getString("WizardExternalProjectImportPage.title")); //$NON-NLS-1$
-        setDescription(DataTransferMessages
-                .getString("WizardExternalProjectImportPage.description")); //$NON-NLS-1$
-
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-
-        initializeDialogUnits(parent);
-
-        Composite composite = new Composite(parent, SWT.NULL);
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
-                IIDEHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
-        composite.setLayout(new GridLayout());
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        composite.setFont(parent.getFont());
-
-        createProjectNameGroup(composite);
-        createProjectLocationGroup(composite);
-        validatePage();
-        // Show description on opening
-        setErrorMessage(null);
-        setMessage(null);
-        setControl(composite);
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectLocationGroup(Composite parent) {
-
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 3;
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        projectGroup.setFont(parent.getFont());
-
-        // new project label
-        Label projectContentsLabel = new Label(projectGroup, SWT.NONE);
-        projectContentsLabel
-                .setText(DataTransferMessages
-                        .getString("WizardExternalProjectImportPage.projectContentsLabel")); //$NON-NLS-1$
-        projectContentsLabel.setFont(parent.getFont());
-
-        createUserSpecifiedProjectLocationGroup(projectGroup);
-    }
-
-    /**
-     * Creates the project name specification controls.
-     *
-     * @param parent the parent composite
-     */
-    private final void createProjectNameGroup(Composite parent) {
-
-        Font dialogFont = parent.getFont();
-
-        // project specification group
-        Composite projectGroup = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        projectGroup.setFont(dialogFont);
-        projectGroup.setLayout(layout);
-        projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-        // new project label
-        Label projectLabel = new Label(projectGroup, SWT.NONE);
-        projectLabel.setText(DataTransferMessages
-                .getString("WizardExternalProjectImportPage.nameLabel")); //$NON-NLS-1$
-        projectLabel.setFont(dialogFont);
-
-        // new project name entry field
-        projectNameField = new Text(projectGroup, SWT.BORDER | SWT.READ_ONLY);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        projectNameField.setLayoutData(data);
-        projectNameField.setFont(dialogFont);
-        projectNameField.setBackground(parent.getDisplay().getSystemColor(
-                SWT.COLOR_WIDGET_BACKGROUND));
-    }
-
-    /**
-     * Creates the project location specification controls.
-     *
-     * @param projectGroup the parent composite
-     */
-    private void createUserSpecifiedProjectLocationGroup(Composite projectGroup) {
-
-        Font dialogFont = projectGroup.getFont();
-
-        // project location entry field
-        this.locationPathField = new Text(projectGroup, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        this.locationPathField.setLayoutData(data);
-        this.locationPathField.setFont(dialogFont);
-
-        // browse button
-        this.browseButton = new Button(projectGroup, SWT.PUSH);
-        this.browseButton.setText(DataTransferMessages
-                .getString("WizardExternalProjectImportPage.browseLabel")); //$NON-NLS-1$
-        this.browseButton.setFont(dialogFont);
-        setButtonLayoutData(this.browseButton);
-
-        this.browseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                handleLocationBrowseButtonPressed();
-            }
-        });
-
-        locationPathField.addListener(SWT.Modify, locationModifyListener);
-    }
-
-    /**
-     * Returns the current project location path as entered by 
-     * the user, or its anticipated initial value.
-     *
-     * @return the project location path, its anticipated initial value, or <code>null</code>
-     *   if no project location path is known
-     */
-    public IPath getLocationPath() {
-
-        return new Path(getProjectLocationFieldValue());
-    }
-
-    /**
-     * Creates a project resource handle for the current project name field value.
-     * <p>
-     * This method does not create the project resource; this is the responsibility
-     * of <code>IProject::create</code> invoked by the new project resource wizard.
-     * </p>
-     *
-     * @return the new project resource handle
-     */
-    public IProject getProjectHandle() {
-        return ResourcesPlugin.getWorkspace().getRoot().getProject(
-                getProjectName());
-    }
-
-    /**
-     * Returns the current project name as entered by the user, or its anticipated
-     * initial value.
-     *
-     * @return the project name, its anticipated initial value, or <code>null</code>
-     *   if no project name is known
-     */
-    public String getProjectName() {
-        return getProjectNameFieldValue();
-    }
-
-    /**
-     * Returns the value of the project name field
-     * with leading and trailing spaces removed.
-     * 
-     * @return the project name in the field
-     */
-    private String getProjectNameFieldValue() {
-        if (projectNameField == null)
-            return ""; //$NON-NLS-1$
-
-        return projectNameField.getText().trim();
-    }
-
-    /**
-     * Returns the value of the project location field
-     * with leading and trailing spaces removed.
-     * 
-     * @return the project location directory in the field
-     */
-    private String getProjectLocationFieldValue() {
-        return locationPathField.getText().trim();
-    }
-
-    /**
-     *	Open an appropriate directory browser
-     */
-    private void handleLocationBrowseButtonPressed() {
-        DirectoryDialog dialog = new DirectoryDialog(locationPathField
-                .getShell());
-        dialog.setMessage(DataTransferMessages
-                .getString("WizardExternalProjectImportPage.directoryLabel")); //$NON-NLS-1$
-
-        String dirName = getProjectLocationFieldValue();
-        if (dirName.length() == 0)
-            dirName = previouslyBrowsedDirectory;
-
-        if (dirName.length() == 0) //$NON-NLS-1$
-            dialog.setFilterPath(getWorkspace().getRoot().getLocation()
-                    .toOSString());
-        else {
-            File path = new File(dirName);
-            if (path.exists())
-                dialog.setFilterPath(new Path(dirName).toOSString());
-        }
-
-        String selectedDirectory = dialog.open();
-        if (selectedDirectory != null) {
-            previouslyBrowsedDirectory = selectedDirectory;
-            locationPathField.setText(previouslyBrowsedDirectory);
-            setProjectName(projectFile(previouslyBrowsedDirectory));
-        }
-    }
-
-    /**
-     * Returns whether this page's controls currently all contain valid 
-     * values.
-     *
-     * @return <code>true</code> if all controls are valid, and
-     *   <code>false</code> if at least one is invalid
-     */
-    private boolean validatePage() {
-
-        String locationFieldContents = getProjectLocationFieldValue();
-
-        if (locationFieldContents.equals("")) { //$NON-NLS-1$
-            setErrorMessage(null);
-            setMessage(DataTransferMessages
-                    .getString("WizardExternalProjectImportPage.projectLocationEmpty")); //$NON-NLS-1$
-            return false;
-        }
-
-        IPath path = new Path(""); //$NON-NLS-1$
-        if (!path.isValidPath(locationFieldContents)) {
-            setErrorMessage(DataTransferMessages
-                    .getString("WizardExternalProjectImportPage.locationError")); //$NON-NLS-1$
-            return false;
-        }
-
-        File projectFile = projectFile(locationFieldContents);
-        if (projectFile == null) {
-            setErrorMessage(DataTransferMessages.format(
-                    "WizardExternalProjectImportPage.notAProject", //$NON-NLS-1$
-                    new String[] { locationFieldContents }));
-            return false;
-        }
-        setProjectName(projectFile);
-
-        if (getProjectHandle().exists()) {
-            setErrorMessage(DataTransferMessages
-                    .getString("WizardExternalProjectImportPage.projectExistsMessage")); //$NON-NLS-1$
-            return false;
-        }
-
-        setErrorMessage(null);
-        setMessage(null);
-        return true;
-    }
-
-    private IWorkspace getWorkspace() {
-        IWorkspace workspace = IDEWorkbenchPlugin.getPluginWorkspace();
-        return workspace;
-    }
-
-    /**
-     * Return whether or not the specifed location is a prefix
-     * of the root.
-     */
-    private boolean isPrefixOfRoot(IPath locationPath) {
-        return Platform.getLocation().isPrefixOf(locationPath);
-    }
-
-    /**
-     * Set the project name using either the name of the
-     * parent of the file or the name entry in the xml for 
-     * the file
-     */
-    private void setProjectName(File projectFile) {
-
-        //If there is no file or the user has already specified forget it
-        if (projectFile == null)
-            return;
-
-        IPath path = new Path(projectFile.getPath());
-
-        IProjectDescription newDescription = null;
-
-        try {
-            newDescription = getWorkspace().loadProjectDescription(path);
-        } catch (CoreException exception) {
-            //no good couldn't get the name
-        }
-
-        if (newDescription == null) {
-            this.description = null;
-            this.projectNameField.setText(""); //$NON-NLS-1$
-        } else {
-            this.description = newDescription;
-            this.projectNameField.setText(this.description.getName());
-        }
-    }
-
-    /**
-     * Return a.project file from the specified location.
-     * If there isn't one return null.
-     */
-    private File projectFile(String locationFieldContents) {
-        File directory = new File(locationFieldContents);
-        if (directory.isFile())
-            return null;
-
-        File[] files = directory.listFiles(this.projectFilter);
-        if (files != null && files.length == 1)
-            return files[0];
-
-        return null;
-    }
-
-    /**
-     * Creates a new project resource with the selected name.
-     * <p>
-     * In normal usage, this method is invoked after the user has pressed Finish on
-     * the wizard; the enablement of the Finish button implies that all controls
-     * on the pages currently contain valid values.
-     * </p>
-     *
-     * @return the created project resource, or <code>null</code> if the project
-     *    was not created
-     */
-    IProject createExistingProject() {
-
-        String projectName = projectNameField.getText();
-        final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProject project = workspace.getRoot().getProject(projectName);
-        if (this.description == null) {
-            this.description = workspace.newProjectDescription(projectName);
-            IPath locationPath = getLocationPath();
-            //If it is under the root use the default location
-            if (isPrefixOfRoot(locationPath))
-                this.description.setLocation(null);
-            else
-                this.description.setLocation(locationPath);
-        } else
-            this.description.setName(projectName);
-
-        // create the new project operation
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                monitor.beginTask("", 2000); //$NON-NLS-1$
-                project.create(description, new SubProgressMonitor(monitor,
-                        1000));
-                if (monitor.isCanceled())
-                    throw new OperationCanceledException();
-                project.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1000));
-
-            }
-        };
-
-        // run the new project creation operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            // ie.- one of the steps resulted in a core exception	
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-                    MessageDialog
-                            .openError(
-                                    getShell(),
-                                    DataTransferMessages
-                                            .getString("WizardExternalProjectImportPage.errorMessage"), //$NON-NLS-1$
-                                    DataTransferMessages
-                                            .getString("WizardExternalProjectImportPage.caseVariantExistsError") //$NON-NLS-1$,
-                            );
-                } else {
-                    ErrorDialog
-                            .openError(
-                                    getShell(),
-                                    DataTransferMessages
-                                            .getString("WizardExternalProjectImportPage.errorMessage"), //$NON-NLS-1$
-                                    null, ((CoreException) t).getStatus());
-                }
-            }
-            return null;
-        }
-
-        return project;
-    }
-
-    /*
-     * see @DialogPage.setVisible(boolean)
-     */
-    public void setVisible(boolean visible) {
-        super.setVisible(visible);
-        if (visible)
-            this.locationPathField.setFocus();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.java
deleted file mode 100644
index 52fb1d7..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileExportWizard.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.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.WizardArchiveFileResourceExportPage1;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Standard workbench wizard for exporting resources from the workspace
- * to a zip file.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new ZipFileExportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected workspace resources 
- * are exported to the user-specified zip file, the dialog closes, and the call
- * to <code>open</code> returns.
- * </p>
- */
-public class ZipFileExportWizard extends Wizard implements IExportWizard {
-    private IStructuredSelection selection;
-
-    private WizardArchiveFileResourceExportPage1 mainPage;
-
-    /**
-     * Creates a wizard for exporting workspace resources to a zip file.
-     */
-    public ZipFileExportWizard() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings section = workbenchSettings
-                .getSection("ZipFileExportWizard");//$NON-NLS-1$
-        if (section == null)
-            section = workbenchSettings.addNewSection("ZipFileExportWizard");//$NON-NLS-1$
-        setDialogSettings(section);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardArchiveFileResourceExportPage1(selection);
-        addPage(mainPage);
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    private ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // Should not happen
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        this.selection = currentSelection;
-        List selectedResources = IDE.computeSelectedResources(currentSelection);
-        if (!selectedResources.isEmpty()) {
-            this.selection = new StructuredSelection(selectedResources);
-        }
-
-        setWindowTitle(DataTransferMessages.getString("DataTransfer.export")); //$NON-NLS-1$
-        setDefaultPageImageDescriptor(getImageDescriptor("wizban/exportzip_wiz.gif"));//$NON-NLS-1$
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
deleted file mode 100644
index 60d2d9b..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileImportWizard.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.datatransfer;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.wizards.datatransfer.DataTransferMessages;
-import org.eclipse.ui.internal.wizards.datatransfer.WizardArchiveFileResourceImportPage1;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Standard workbench wizard for importing resources from a zip file
- * into the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWizard wizard = new ZipFileImportWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, the user-selected zip file is imported
- * into the workspace, the dialog closes, and the call to <code>open</code>
- * returns.
- * </p>
- */
-public class ZipFileImportWizard extends Wizard implements IImportWizard {
-    private IWorkbench workbench;
-
-    private IStructuredSelection selection;
-
-    private WizardArchiveFileResourceImportPage1 mainPage;
-
-    /**
-     * Creates a wizard for importing resources into the workspace from
-     * a zip file.
-     */
-    public ZipFileImportWizard() {
-        AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                .getPlugin(PlatformUI.PLUGIN_ID);
-        IDialogSettings workbenchSettings = plugin.getDialogSettings();
-        IDialogSettings section = workbenchSettings
-                .getSection("ZipFileImportWizard");//$NON-NLS-1$
-        if (section == null)
-            section = workbenchSettings.addNewSection("ZipFileImportWizard");//$NON-NLS-1$
-        setDialogSettings(section);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardArchiveFileResourceImportPage1(workbench, selection);
-        addPage(mainPage);
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     */
-    private ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/";//$NON-NLS-1$	
-        try {
-            AbstractUIPlugin plugin = (AbstractUIPlugin) Platform
-                    .getPlugin(PlatformUI.PLUGIN_ID);
-            URL installURL = plugin.getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + relativePath);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // Should not happen
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        this.workbench = workbench;
-        this.selection = currentSelection;
-        List selectedResources = IDE.computeSelectedResources(currentSelection);
-        if (!selectedResources.isEmpty()) {
-            this.selection = new StructuredSelection(selectedResources);
-        }
-
-        setWindowTitle(DataTransferMessages
-                .getString("DataTransfer.importTitle")); //$NON-NLS-1$
-        setDefaultPageImageDescriptor(getImageDescriptor("wizban/importzip_wiz.gif"));//$NON-NLS-1$
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performCancel() {
-        return mainPage.cancel();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.java
deleted file mode 100644
index 6167c7d..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/ZipFileStructureProvider.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.ui.wizards.datatransfer;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-/**
- * This class provides information regarding the context structure and
- * content of specified zip file entry objects.
- */
-public class ZipFileStructureProvider implements IImportStructureProvider {
-    private ZipFile zipFile;
-
-    private ZipEntry root = new ZipEntry("/");//$NON-NLS-1$
-
-    private Map children;
-
-    private Map directoryEntryCache = new HashMap();
-
-    /**
-     * Creates a <code>ZipFileStructureProvider</code>, which will operate
-     * on the passed zip file.
-     */
-    public ZipFileStructureProvider(ZipFile sourceFile) {
-        super();
-        zipFile = sourceFile;
-    }
-
-    /**
-     * Adds the specified child to the internal collection of the parent's children.
-     */
-    protected void addToChildren(ZipEntry parent, ZipEntry child) {
-        List childList = (List) children.get(parent);
-        if (childList == null) {
-            childList = new ArrayList();
-            children.put(parent, childList);
-        }
-
-        childList.add(child);
-    }
-
-    /**
-     * Creates a new container zip entry with the specified name, iff
-     * it has not already been created.
-     */
-    protected void createContainer(IPath pathname) {
-        if (directoryEntryCache.containsKey(pathname))
-            return;
-
-        ZipEntry parent;
-        if (pathname.segmentCount() == 1)
-            parent = root;
-        else
-            parent = (ZipEntry) directoryEntryCache.get(pathname
-                    .removeLastSegments(1));
-
-        ZipEntry newEntry = new ZipEntry(pathname.toString());
-        directoryEntryCache.put(pathname, newEntry);
-        addToChildren(parent, newEntry);
-    }
-
-    /**
-     * Creates a new file zip entry with the specified name.
-     */
-    protected void createFile(ZipEntry entry) {
-        IPath pathname = new Path(entry.getName());
-        ZipEntry parent;
-        if (pathname.segmentCount() == 1)
-            parent = root;
-        else
-            parent = (ZipEntry) directoryEntryCache.get(pathname
-                    .removeLastSegments(1));
-
-        addToChildren(parent, entry);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public List getChildren(Object element) {
-        if (children == null)
-            initialize();
-
-        return ((List) children.get(element));
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public InputStream getContents(Object element) {
-        try {
-            return zipFile.getInputStream((ZipEntry) element);
-        } catch (IOException e) {
-            return null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public String getFullPath(Object element) {
-        return ((ZipEntry) element).getName();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public String getLabel(Object element) {
-        if (element.equals(root))
-            return ((ZipEntry) element).getName();
-
-        return new Path(((ZipEntry) element).getName()).lastSegment();
-    }
-
-    /**
-     * Returns the entry that this importer uses as the root sentinel.
-     *
-     * @return java.util.zip.ZipEntry
-     */
-    public ZipEntry getRoot() {
-        return root;
-    }
-
-    /**
-     * Returns the zip file that this provider provides structure for.
-     */
-    public ZipFile getZipFile() {
-        return zipFile;
-    }
-
-    /**
-     * Initializes this object's children table based on the contents of
-     * the specified source file.
-     */
-    protected void initialize() {
-        children = new HashMap(1000);
-
-        Enumeration entries = zipFile.entries();
-        while (entries.hasMoreElements()) {
-            ZipEntry entry = (ZipEntry) entries.nextElement();
-            if (!entry.isDirectory()) {
-                IPath path = new Path(entry.getName()).addTrailingSeparator();
-                int pathSegmentCount = path.segmentCount();
-
-                for (int i = 1; i < pathSegmentCount; i++)
-                    createContainer(path.uptoSegment(i));
-                createFile(entry);
-            }
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IImportStructureProvider
-     */
-    public boolean isFolder(Object element) {
-        return ((ZipEntry) element).isDirectory();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html
deleted file mode 100644
index 83c410f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/datatransfer/package.html
+++ /dev/null
@@ -1,13 +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.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Import and Export wizards for
-moving resources into and out of the workspace.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
deleted file mode 100644
index d8ba05a..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFileResourceWizard.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.ide.DialogUtil;
-
-/**
- * Standard workbench wizard that create a new file resource in the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWorkbenchWizard wizard = new BasicNewFileResourceWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a file resource at the user-specified
- * workspace path is created, the dialog closes, and the call to
- * <code>open</code> returns.
- * </p>
- */
-public class BasicNewFileResourceWizard extends BasicNewResourceWizard {
-    private WizardNewFileCreationPage mainPage;
-
-    /**
-     * Creates a wizard for creating a new file resource in the workspace.
-     */
-    public BasicNewFileResourceWizard() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardNewFileCreationPage("newFilePage1", getSelection());//$NON-NLS-1$
-        mainPage.setTitle(ResourceMessages.getString("FileResource.pageTitle")); //$NON-NLS-1$
-        mainPage.setDescription(ResourceMessages
-                .getString("FileResource.description")); //$NON-NLS-1$
-        addPage(mainPage);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        super.init(workbench, currentSelection);
-        setWindowTitle(ResourceMessages.getString("FileResource.shellTitle")); //$NON-NLS-1$
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on BasicNewResourceWizard.
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/newfile_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen.  Ignore.
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        IFile file = mainPage.createNewFile();
-        if (file == null)
-            return false;
-
-        selectAndReveal(file);
-
-        // Open editor on new file.
-        IWorkbenchWindow dw = getWorkbench().getActiveWorkbenchWindow();
-        try {
-            if (dw != null) {
-                IWorkbenchPage page = dw.getActivePage();
-                if (page != null) {
-                    IDE.openEditor(page, file, true);
-                }
-            }
-        } catch (PartInitException e) {
-            DialogUtil.openError(dw.getShell(), ResourceMessages
-                    .getString("FileResource.errorMessage"), //$NON-NLS-1$
-                    e.getMessage(), e);
-        }
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
deleted file mode 100644
index 5afa723..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewFolderResourceWizard.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFolderMainPage;
-
-/**
- * Standard workbench wizard that create a new folder resource in the workspace.
- * <p>
- * This class may be instantiated and used without further configuration;
- * this class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IWorkbenchWizard wizard = new BasicNewFolderResourceWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * During the call to <code>open</code>, the wizard dialog is presented to the
- * user. When the user hits Finish, a folder resource at the user-specified
- * workspace path is created, the dialog closes, and the call to
- * <code>open</code> returns.
- * </p>
- */
-public class BasicNewFolderResourceWizard extends BasicNewResourceWizard {
-    private WizardNewFolderMainPage mainPage;
-
-    /**
-     * Creates a wizard for creating a new folder resource in the workspace.
-     */
-    public BasicNewFolderResourceWizard() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-        mainPage = new WizardNewFolderMainPage(ResourceMessages
-                .getString("NewFolder.text"), getSelection()); //$NON-NLS-1$
-        addPage(mainPage);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        super.init(workbench, currentSelection);
-        setWindowTitle(ResourceMessages.getString("NewFolder.title")); //$NON-NLS-1$
-        setNeedsProgressMonitor(true);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on BasicNewResourceWizard.
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/newfolder_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen.  Ignore.
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        IFolder folder = mainPage.createNewFolder();
-        if (folder == null)
-            return false;
-
-        selectAndReveal(folder);
-
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
deleted file mode 100644
index 14b448f..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
+++ /dev/null
@@ -1,595 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.wizards.newresource;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IIdentifier;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.dialogs.WizardNewProjectReferencePage;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.ide.IDEInternalPreferences;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.internal.registry.PerspectiveDescriptor;
-import org.eclipse.ui.internal.util.PrefUtil;
-
-/**
- * Standard workbench wizard that creates a new project resource in the
- * workspace.
- * <p>
- * This class may be instantiated and used without further configuration; this
- * class is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * 
- * <pre>
- * IWorkbenchWizard wizard = new BasicNewProjectResourceWizard();
- * wizard.init(workbench, selection);
- * WizardDialog dialog = new WizardDialog(shell, wizard);
- * dialog.open();
- * </pre>
- * 
- * During the call to <code>open</code>, the wizard dialog is presented to
- * the user. When the user hits Finish, a project resource with the
- * user-specified name is created, the dialog closes, and the call to
- * <code>open</code> returns.
- * </p>
- */
-public class BasicNewProjectResourceWizard extends BasicNewResourceWizard
-        implements IExecutableExtension {
-    private WizardNewProjectCreationPage mainPage;
-
-    private WizardNewProjectReferencePage referencePage;
-
-    // cache of newly-created project
-    private IProject newProject;
-
-    /**
-     * The config element which declares this wizard.
-     */
-    private IConfigurationElement configElement;
-
-    private static String WINDOW_PROBLEMS_TITLE = ResourceMessages
-            .getString("NewProject.errorOpeningWindow"); //$NON-NLS-1$
-
-    /**
-     * Extension attribute name for final perspective.
-     */
-    private static final String FINAL_PERSPECTIVE = "finalPerspective"; //$NON-NLS-1$
-
-    /**
-     * Extension attribute name for preferred perspectives.
-     */
-    private static final String PREFERRED_PERSPECTIVES = "preferredPerspectives"; //$NON-NLS-1$
-
-    /**
-     * Creates a wizard for creating a new project resource in the workspace.
-     */
-    public BasicNewProjectResourceWizard() {
-        IDialogSettings workbenchSettings = IDEWorkbenchPlugin.getDefault()
-                .getDialogSettings();
-        IDialogSettings section = workbenchSettings
-                .getSection("BasicNewProjectResourceWizard");//$NON-NLS-1$
-        if (section == null)
-            section = workbenchSettings
-                    .addNewSection("BasicNewProjectResourceWizard");//$NON-NLS-1$
-        setDialogSettings(section);
-    }
-
-    /*
-     * (non-Javadoc) Method declared on IWizard.
-     */
-    public void addPages() {
-        super.addPages();
-
-        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");//$NON-NLS-1$
-        mainPage.setTitle(ResourceMessages.getString("NewProject.title")); //$NON-NLS-1$
-        mainPage.setDescription(ResourceMessages
-                .getString("NewProject.description")); //$NON-NLS-1$
-        this.addPage(mainPage);
-
-        // only add page if there are already projects in the workspace
-        if (ResourcesPlugin.getWorkspace().getRoot().getProjects().length > 0) {
-            referencePage = new WizardNewProjectReferencePage(
-                    "basicReferenceProjectPage");//$NON-NLS-1$
-            referencePage.setTitle(ResourceMessages
-                    .getString("NewProject.referenceTitle")); //$NON-NLS-1$
-            referencePage.setDescription(ResourceMessages
-                    .getString("NewProject.referenceDescription")); //$NON-NLS-1$
-            this.addPage(referencePage);
-        }
-    }
-
-    /**
-     * Creates a new project resource with the selected name.
-     * <p>
-     * In normal usage, this method is invoked after the user has pressed Finish
-     * on the wizard; the enablement of the Finish button implies that all
-     * controls on the pages currently contain valid values.
-     * </p>
-     * <p>
-     * Note that this wizard caches the new project once it has been
-     * successfully created; subsequent invocations of this method will answer
-     * the same project resource without attempting to create it again.
-     * </p>
-     * 
-     * @return the created project resource, or <code>null</code> if the
-     *         project was not created
-     */
-    private IProject createNewProject() {
-        if (newProject != null)
-            return newProject;
-
-        // get a project handle
-        final IProject newProjectHandle = mainPage.getProjectHandle();
-
-        // get a project descriptor
-        IPath newPath = null;
-        if (!mainPage.useDefaults())
-            newPath = mainPage.getLocationPath();
-
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProjectDescription description = workspace
-                .newProjectDescription(newProjectHandle.getName());
-        description.setLocation(newPath);
-
-        // update the referenced project if provided
-        if (referencePage != null) {
-            IProject[] refProjects = referencePage.getReferencedProjects();
-            if (refProjects.length > 0)
-                description.setReferencedProjects(refProjects);
-        }
-
-        // create the new project operation
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                createProject(description, newProjectHandle, monitor);
-            }
-        };
-
-        // run the new project creation operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return null;
-        } catch (InvocationTargetException e) {
-            // ie.- one of the steps resulted in a core exception
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-                    MessageDialog
-                            .openError(
-                                    getShell(),
-                                    ResourceMessages
-                                            .getString("NewProject.errorMessage"), //$NON-NLS-1$
-                                    ResourceMessages
-                                            .format(
-                                                    "NewProject.caseVariantExistsError", new String[] { newProjectHandle.getName() }) //$NON-NLS-1$,
-                            );
-                } else {
-                    ErrorDialog.openError(getShell(), ResourceMessages
-                            .getString("NewProject.errorMessage"), //$NON-NLS-1$
-                            null, // no special message
-                            ((CoreException) t).getStatus());
-                }
-            } else {
-                // CoreExceptions are handled above, but unexpected runtime
-                // exceptions and errors may still occur.
-                IDEWorkbenchPlugin.getDefault().getLog().log(
-                        new Status(IStatus.ERROR,
-                                IDEWorkbenchPlugin.IDE_WORKBENCH, 0, t
-                                        .toString(), t));
-                MessageDialog
-                        .openError(
-                                getShell(),
-                                ResourceMessages
-                                        .getString("NewProject.errorMessage"), //$NON-NLS-1$
-                                ResourceMessages
-                                        .format(
-                                                "NewProject.internalError", new Object[] { t.getMessage() })); //$NON-NLS-1$
-            }
-            return null;
-        }
-
-        newProject = newProjectHandle;
-
-        return newProject;
-    }
-
-    /**
-     * Creates a project resource given the project handle and description.
-     * 
-     * @param description
-     *            the project description to create a project resource for
-     * @param projectHandle
-     *            the project handle to create a project resource for
-     * @param monitor
-     *            the progress monitor to show visual progress with
-     * 
-     * @exception CoreException
-     *                if the operation fails
-     * @exception OperationCanceledException
-     *                if the operation is canceled
-     */
-    void createProject(IProjectDescription description, IProject projectHandle,
-            IProgressMonitor monitor) throws CoreException,
-            OperationCanceledException {
-        try {
-            monitor.beginTask("", 2000);//$NON-NLS-1$
-
-            projectHandle.create(description, new SubProgressMonitor(monitor,
-                    1000));
-
-            if (monitor.isCanceled())
-                throw new OperationCanceledException();
-
-            projectHandle.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1000));
-
-        } finally {
-            monitor.done();
-        }
-    }
-
-    /**
-     * Returns the newly created project.
-     * 
-     * @return the created project, or <code>null</code> if project not
-     *         created
-     */
-    public IProject getNewProject() {
-        return newProject;
-    }
-
-    /*
-     * (non-Javadoc) Method declared on IWorkbenchWizard.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        super.init(workbench, currentSelection);
-        setNeedsProgressMonitor(true);
-        setWindowTitle(ResourceMessages.getString("NewProject.windowTitle")); //$NON-NLS-1$
-    }
-
-    /*
-     * (non-Javadoc) Method declared on BasicNewResourceWizard.
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$		
-        try {
-            URL installURL = IDEWorkbenchPlugin.getDefault().getDescriptor()
-                    .getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/newprj_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen. Ignore.
-        }
-    }
-
-    /*
-     * (non-Javadoc) Opens a new window with a particular perspective and input.
-     */
-    private static void openInNewWindow(IPerspectiveDescriptor desc) {
-
-        // Open the page.
-        try {
-            PlatformUI.getWorkbench().openWorkbenchWindow(desc.getId(),
-                    ResourcesPlugin.getWorkspace().getRoot());
-        } catch (WorkbenchException e) {
-            IWorkbenchWindow window = PlatformUI.getWorkbench()
-                    .getActiveWorkbenchWindow();
-            if (window != null) {
-                ErrorDialog.openError(window.getShell(), WINDOW_PROBLEMS_TITLE,
-                        e.getMessage(), e.getStatus());
-            }
-        }
-    }
-
-    /*
-     * (non-Javadoc) Method declared on IWizard.
-     */
-    public boolean performFinish() {
-        createNewProject();
-
-        if (newProject == null)
-            return false;
-
-        updatePerspective();
-        selectAndReveal(newProject);
-
-        return true;
-    }
-
-    /*
-     * (non-Javadoc) Replaces the current perspective with the new one.
-     */
-    private static void replaceCurrentPerspective(IPerspectiveDescriptor persp) {
-
-        //Get the active page.
-        IWorkbenchWindow window = PlatformUI.getWorkbench()
-                .getActiveWorkbenchWindow();
-        if (window == null)
-            return;
-        IWorkbenchPage page = window.getActivePage();
-        if (page == null)
-            return;
-
-        // Set the perspective.
-        page.setPerspective(persp);
-    }
-
-    /**
-     * 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) {
-        configElement = cfig;
-    }
-
-    /**
-     * Updates the perspective for the active page within the window.
-     */
-    protected void updatePerspective() {
-        updatePerspective(configElement);
-    }
-
-    /**
-     * Updates the perspective based on the current settings in the
-     * Workbench/Perspectives preference page.
-     * 
-     * Use the setting for the new perspective opening if we
-     * are set to open in a new perspective.
-     * <p>
-     * A new project wizard class will need to implement the
-     * <code>IExecutableExtension</code> interface so as to gain access to the
-     * wizard's <code>IConfigurationElement</code>. That is the configuration
-     * element to pass into this method.
-     * </p>
-     * @param configElement - the element we are updating with
-     * 
-     * @see IPreferenceConstants#OPM_NEW_WINDOW
-     * @see IPreferenceConstants#OPM_ACTIVE_PAGE
-     * @see IWorkbenchPreferenceConstants#NO_NEW_PERSPECTIVE
-     */
-    public static void updatePerspective(IConfigurationElement configElement) {
-        // Do not change perspective if the configuration element is
-        // not specified.
-        if (configElement == null)
-            return;
-
-        // Retrieve the new project open perspective preference setting
-        String perspSetting = PrefUtil.getAPIPreferenceStore().getString(
-                IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE);
-
-        String promptSetting = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore().getString(
-                        IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
-
-        // Return if do not switch perspective setting and are not prompting
-        if (!(promptSetting.equals(MessageDialogWithToggle.PROMPT))
-                && perspSetting
-                        .equals(IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE))
-            return;
-
-        // Read the requested perspective id to be opened.
-        String finalPerspId = configElement.getAttribute(FINAL_PERSPECTIVE);
-        if (finalPerspId == null)
-            return;
-
-        // Map perspective id to descriptor.
-        IPerspectiveRegistry reg = PlatformUI.getWorkbench()
-                .getPerspectiveRegistry();
-
-        // leave this code in - the perspective of a given project may map to
-        // activities other than those that the wizard itself maps to.
-        IPerspectiveDescriptor finalPersp = reg
-                .findPerspectiveWithId(finalPerspId);
-        if (finalPersp != null && finalPersp instanceof IPluginContribution) {
-            IPluginContribution contribution = (IPluginContribution) finalPersp;
-            if (contribution.getPluginId() != null) {
-                IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI
-                        .getWorkbench().getActivitySupport();
-                IActivityManager activityManager = workbenchActivitySupport
-                        .getActivityManager();
-                IIdentifier identifier = activityManager
-                        .getIdentifier(WorkbenchActivityHelper
-                                .createUnifiedId(contribution));
-                Set idActivities = identifier.getActivityIds();
-
-                if (!idActivities.isEmpty()) {
-                    Set enabledIds = new HashSet(activityManager
-                            .getEnabledActivityIds());
-
-                    if (enabledIds.addAll(idActivities))
-                        workbenchActivitySupport
-                                .setEnabledActivityIds(enabledIds);
-                }
-            }
-        } else {
-            IDEWorkbenchPlugin.log("Unable to find persective " //$NON-NLS-1$
-                    + finalPerspId
-                    + " in BasicNewProjectResourceWizard.updatePerspective"); //$NON-NLS-1$
-            return;
-        }
-
-        // gather the preferred perspectives
-        // always consider the final perspective (and those derived from it)
-        // to be preferred
-        ArrayList preferredPerspIds = new ArrayList();
-        addPerspectiveAndDescendants(preferredPerspIds, finalPerspId);
-        String preferred = configElement.getAttribute(PREFERRED_PERSPECTIVES);
-        if (preferred != null) {
-            StringTokenizer tok = new StringTokenizer(preferred, " \t\n\r\f,"); //$NON-NLS-1$
-            while (tok.hasMoreTokens()) {
-                addPerspectiveAndDescendants(preferredPerspIds, tok.nextToken());
-            }
-        }
-
-        IWorkbenchWindow window = PlatformUI.getWorkbench()
-                .getActiveWorkbenchWindow();
-        if (window != null) {
-            IWorkbenchPage page = window.getActivePage();
-            if (page != null) {
-                IPerspectiveDescriptor currentPersp = page.getPerspective();
-
-                // don't switch if the current perspective is a preferred
-                // perspective
-                if (currentPersp != null
-                        && preferredPerspIds.contains(currentPersp.getId())) {
-                    return;
-                }
-            }
-
-            // prompt the user to switch
-            if (!confirmPerspectiveSwitch(window, finalPersp)) {
-                return;
-            }
-        }
-
-        int workbenchPerspectiveSetting = WorkbenchPlugin.getDefault()
-                .getPreferenceStore().getInt(
-                        IPreferenceConstants.OPEN_PERSP_MODE);
-
-        // open perspective in new window setting
-        if (workbenchPerspectiveSetting == IPreferenceConstants.OPM_NEW_WINDOW) {
-            openInNewWindow(finalPersp);
-            return;
-        }
-
-        // replace active perspective setting otherwise
-        replaceCurrentPerspective(finalPersp);
-    }
-
-    /**
-     * Adds to the list all perspective IDs in the Workbench who's original ID
-     * matches the given ID.
-     * 
-     * @param perspectiveIds
-     *            the list of perspective IDs to supplement.
-     * @param id
-     *            the id to query.
-     * @since 3.0
-     */
-    private static void addPerspectiveAndDescendants(List perspectiveIds,
-            String id) {
-        IPerspectiveRegistry registry = PlatformUI.getWorkbench()
-                .getPerspectiveRegistry();
-        IPerspectiveDescriptor[] perspectives = registry.getPerspectives();
-        for (int i = 0; i < perspectives.length; i++) {
-            // @issue illegal ref to workbench internal class;
-            // consider adding getOriginalId() as API on IPerspectiveDescriptor
-            PerspectiveDescriptor descriptor = ((PerspectiveDescriptor) perspectives[i]);
-            if (descriptor.getOriginalId().equals(id)) {
-                perspectiveIds.add(descriptor.getId());
-            }
-        }
-    }
-
-    /**
-     * Prompts the user for whether to switch perspectives.
-     * 
-     * @param window
-     *            The workbench window in which to switch perspectives; must not
-     *            be <code>null</code>
-     * @param finalPersp
-     *            The perspective to switch to; must not be <code>null</code>.
-     * 
-     * @return <code>true</code> if it's OK to switch, <code>false</code>
-     *         otherwise
-     */
-    private static boolean confirmPerspectiveSwitch(IWorkbenchWindow window,
-            IPerspectiveDescriptor finalPersp) {
-        IPreferenceStore store = IDEWorkbenchPlugin.getDefault()
-                .getPreferenceStore();
-        String pspm = store
-                .getString(IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
-        if (!IDEInternalPreferences.PSPM_PROMPT.equals(pspm)) {
-            // Return whether or not we should always switch
-            return IDEInternalPreferences.PSPM_ALWAYS.equals(pspm);
-        }
-
-        MessageDialogWithToggle dialog = MessageDialogWithToggle
-                .openYesNoQuestion(window.getShell(), ResourceMessages
-                        .getString("NewProject.perspSwitchTitle"), //$NON-NLS-1$
-                        ResourceMessages.format(
-                                "NewProject.perspSwitchMessage", //$NON-NLS-1$
-                                new Object[] { finalPersp.getLabel() }),
-                        null /* use the default message for the toggle */,
-                        false /* toggle is initially unchecked */, store,
-                        IDEInternalPreferences.PROJECT_SWITCH_PERSP_MODE);
-        int result = dialog.getReturnCode();
-
-        //If we are not going to prompt anymore propogate the choice.
-        if (dialog.getToggleState()) {
-            String preferenceValue;
-            if (result == IDialogConstants.YES_ID)
-                //Doesn't matter if it is replace or new window
-                //as we are going to use the open perspective setting
-                preferenceValue = IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE;
-            else
-                preferenceValue = IWorkbenchPreferenceConstants.NO_NEW_PERSPECTIVE;
-
-            // update PROJECT_OPEN_NEW_PERSPECTIVE to correspond
-            PrefUtil.getAPIPreferenceStore().setValue(
-                    IDE.Preferences.PROJECT_OPEN_NEW_PERSPECTIVE,
-                    preferenceValue);
-        }
-        return result == IDialogConstants.YES_ID;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
deleted file mode 100644
index 9c4c608..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewResourceWizard.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ISetSelectionTarget;
-
-/**
- * Abstract base implementation of the standard workbench wizards
- * that create new resources in the workspace.
- * <p>
- * This class is not intended to be subclassed outside this package.
- * </p>
- */
-public abstract class BasicNewResourceWizard extends Wizard implements
-        INewWizard {
-
-    /**
-     * The workbench.
-     */
-    private IWorkbench workbench;
-
-    /**
-     * The current selection.
-     */
-    protected IStructuredSelection selection;
-
-    /**
-     * Creates an empty wizard for creating a new resource in the workspace.
-     */
-    protected BasicNewResourceWizard() {
-        super();
-    }
-
-    /**
-     * Returns the selection which was passed to <code>init</code>.
-     *
-     * @return the selection
-     */
-    public IStructuredSelection getSelection() {
-        return selection;
-    }
-
-    /**
-     * Returns the workbench which was passed to <code>init</code>.
-     *
-     * @return the workbench
-     */
-    public IWorkbench getWorkbench() {
-        return workbench;
-    }
-
-    /**
-     * The <code>BasicNewResourceWizard</code> implementation of this 
-     * <code>IWorkbenchWizard</code> method records the given workbench and
-     * selection, and initializes the default banner image for the pages
-     * by calling <code>initializeDefaultPageImageDescriptor</code>.
-     * Subclasses may extend.
-     */
-    public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-        this.workbench = workbench;
-        this.selection = currentSelection;
-
-        initializeDefaultPageImageDescriptor();
-    }
-
-    /**
-     * Initializes the default page image descriptor to an appropriate banner.
-     * By calling <code>setDefaultPageImageDescriptor</code>.
-     * The default implementation of this method uses a generic new wizard image.
-     * <p>
-     * Subclasses may reimplement.
-     * </p>
-     */
-    protected void initializeDefaultPageImageDescriptor() {
-        String iconPath = "icons/full/";//$NON-NLS-1$
-        try {
-            URL installURL = Platform.getPlugin(PlatformUI.PLUGIN_ID)
-                    .getDescriptor().getInstallURL();
-            URL url = new URL(installURL, iconPath + "wizban/new_wiz.gif");//$NON-NLS-1$
-            ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-            setDefaultPageImageDescriptor(desc);
-        } catch (MalformedURLException e) {
-            // Should not happen.  Ignore.
-        }
-    }
-
-    /**
-     * Selects and reveals the newly added resource in all parts
-     * of the active workbench window's active page.
-     *
-     * @see ISetSelectionTarget
-     */
-    protected void selectAndReveal(IResource newResource) {
-        selectAndReveal(newResource, getWorkbench().getActiveWorkbenchWindow());
-    }
-
-    /**
-     * Attempts to select and reveal the specified resource in all
-     * parts within the supplied workbench window's active page.
-     * <p>
-     * Checks all parts in the active page to see if they implement <code>ISetSelectionTarget</code>,
-     * either directly or as an adapter. If so, tells the part to select and reveal the
-     * specified resource.
-     * </p>
-     *
-     * @param resource the resource to be selected and revealed
-     * @param window the workbench window to select and reveal the resource
-     * 
-     * @see ISetSelectionTarget
-     */
-    public static void selectAndReveal(IResource resource,
-            IWorkbenchWindow window) {
-        // validate the input
-        if (window == null || resource == null)
-            return;
-        IWorkbenchPage page = window.getActivePage();
-        if (page == null)
-            return;
-
-        // get all the view and editor parts
-        List parts = new ArrayList();
-        IWorkbenchPartReference refs[] = page.getViewReferences();
-        for (int i = 0; i < refs.length; i++) {
-            IWorkbenchPart part = refs[i].getPart(false);
-            if (part != null)
-                parts.add(part);
-        }
-        refs = page.getEditorReferences();
-        for (int i = 0; i < refs.length; i++) {
-            if (refs[i].getPart(false) != null)
-                parts.add(refs[i].getPart(false));
-        }
-
-        final ISelection selection = new StructuredSelection(resource);
-        Iterator itr = parts.iterator();
-        while (itr.hasNext()) {
-            IWorkbenchPart part = (IWorkbenchPart) itr.next();
-
-            // get the part's ISetSelectionTarget implementation
-            ISetSelectionTarget target = null;
-            if (part instanceof ISetSelectionTarget)
-                target = (ISetSelectionTarget) part;
-            else
-                target = (ISetSelectionTarget) part
-                        .getAdapter(ISetSelectionTarget.class);
-
-            if (target != null) {
-                // select and reveal resource
-                final ISetSelectionTarget finalTarget = target;
-                window.getShell().getDisplay().asyncExec(new Runnable() {
-                    public void run() {
-                        finalTarget.selectReveal(selection);
-                    }
-                });
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java
deleted file mode 100644
index 59280b2..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/ResourceMessages.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.wizards.newresource;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-class ResourceMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.wizards.newresource.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private ResourceMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties
deleted file mode 100644
index 5a424ee..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/messages.properties
+++ /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.ui.wizards.newresource
-
-
-# ==============================================================================
-# New Resource Wizards
-# ==============================================================================
-FileResource.shellTitle = New File
-FileResource.pageTitle = File
-FileResource.description = Create a new file resource.
-FileResource.errorMessage = Problems Opening Editor
-
-NewFolder.title = New Folder
-NewFolder.text = Folder
-
-NewProject.windowTitle = New Project
-NewProject.title = Project
-NewProject.description = Create a new project resource.
-NewProject.referenceTitle = Project References
-NewProject.referenceDescription = Select referenced projects.
-NewProject.errorOpeningPage = Problems Opening Page
-NewProject.errorOpeningWindow = Problems Opening Window
-NewProject.errorMessage = Creation Problems
-NewProject.internalError = Internal error: {0}
-NewProject.caseVariantExistsError = The underlying file system is case insensitive. There is an existing project which conflicts with ''{0}''.
-NewProject.perspSwitchTitle = Confirm Perspective Switch
-NewProject.perspSwitchMessage = This kind of project is associated with the {0} Perspective.  Do you want to switch to this perspective now?
-
-NewLink.pageTitle = Link
-NewLink.fileDescription = Link the new file to a file on the file system.
-NewLink.folderDescription = Link the new folder to a folder on the file system. The contents of the file system folder will appear in the workspace.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/package.html b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/package.html
deleted file mode 100644
index e7bcb60..0000000
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/package.html
+++ /dev/null
@@ -1,13 +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.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard wizards for creating files,
-folders, and projects in the workspace.
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.presentations.r21/.classpath b/bundles/org.eclipse.ui.presentations.r21/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.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/bundles/org.eclipse.ui.presentations.r21/.cvsignore b/bundles/org.eclipse.ui.presentations.r21/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/.project b/bundles/org.eclipse.ui.presentations.r21/.project
deleted file mode 100644
index bd7bc22..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.presentations.r21</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 77b65f8..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:11:51 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.presentations.r21/README.TXT b/bundles/org.eclipse.ui.presentations.r21/README.TXT
deleted file mode 100644
index 33b17e3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/README.TXT
+++ /dev/null
@@ -1,15 +0,0 @@
-The r21presentation plugin provides an R2.1 style look and feel for
-Eclipse.  This look and feel is accomplished entirely through the
-Presentations API, no changes are needed to the base eclipse release.
-
-Use:
-
-1. Ensure the plugin is installed (look in your eclipse/plugins
-   directory for org.eclipse.ui.presentations.r21_3.0.0).
-2. Add the contents of the r21presentation.ini file to your primary
-   plugin's "plugin_customization.ini" file.  In the basic Eclipse
-   IDE, this file is located in plugins/org.eclipse.platform_3.0.0.
-3. Resolve any conflicts in the plugin_customization.ini file to favour
-   the settings for this project.  E.g., DOCK_PERSPECTIVE_BAR is set
-   to "topRight" in the basic platform but should be "left" for the
-   R21 presentation.
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/about.html b/bundles/org.eclipse.ui.presentations.r21/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/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/bundles/org.eclipse.ui.presentations.r21/build.properties b/bundles/org.eclipse.ui.presentations.r21/build.properties
deleted file mode 100644
index db55dd3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               r21presentation.ini,\
-               README.TXT,\
-               about.html
-source.r21.jar = src/
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.presentations.r21/plugin.properties b/bundles/org.eclipse.ui.presentations.r21/plugin.properties
deleted file mode 100644
index 5e93302..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/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= R21 Presentation Plug-in
-providerName= Eclipse.org
-
-Presentation.r21.name=Eclipse 2.1 Style Presentation
diff --git a/bundles/org.eclipse.ui.presentations.r21/plugin.xml b/bundles/org.eclipse.ui.presentations.r21/plugin.xml
deleted file mode 100644
index 8058f6d..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.presentations.r21"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.internal.presentations.r21.R21PresentationPlugin">
-
-   <runtime>
-      <library name="r21.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            name="%Presentation.r21.name"
-            class="org.eclipse.ui.internal.presentations.R21PresentationFactory"
-            id="org.eclipse.ui.internal.r21presentationFactory">
-      </factory>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini b/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
deleted file mode 100644
index be8c8e3..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/r21presentation.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-# R21 presentation settings: copy these values to your product's
-# plugin_customization.ini file before starting eclipse
-#
-# Its possible that platform has its own setting for some of these
-# values.  Be sure to resolve conflicts to favour the values in this
-# file.
-
-# use the R2.1 style
-org.eclipse.ui/presentationFactoryId=org.eclipse.ui.internal.r21presentationFactory
-
-# put the view tabs on the bottom (1024 == SWT.BOTTOM)
-org.eclipse.ui.workbench/VIEW_TAB_POSITION=1024
-
-# put the perspective switcher on the left
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=left
-
-# put the fast view bar on the left
-org.eclipse.ui/initialFastViewBarLocation=left
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
deleted file mode 100644
index 81c76d6..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21BasicStackPresentation.java
+++ /dev/null
@@ -1,1057 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-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.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IWorkbenchGraphicConstants;
-import org.eclipse.ui.internal.WorkbenchImages;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.presentations.r21.R21Colors;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabItem;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolder;
-import org.eclipse.ui.internal.util.Util;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * Base class for StackPresentations that display IPresentableParts in a CTabFolder. 
- * 
- * @since 3.0
- */
-public class R21BasicStackPresentation extends StackPresentation {
-
-    private R21PaneFolder paneFolder;
-
-    private IPresentablePart current;
-
-    private boolean activeState = false;
-
-    private MenuManager systemMenuManager = new MenuManager();
-
-    private CLabel titleLabel;
-
-    private boolean shellActive = true;
-
-    private final static String TAB_DATA = R21BasicStackPresentation.class
-            .getName()
-            + ".partId"; //$NON-NLS-1$
-
-    //	private PaneFolderButtonListener buttonListener = new PaneFolderButtonListener() {
-    //		public void stateButtonPressed(int buttonId) {
-    //			getSite().setState(buttonId);
-    //		}
-    //
-    //		public void closeButtonPressed(CTabItem item) {
-    //			IPresentablePart part = getPartForTab(item);
-    //			
-    //			getSite().close(part);		
-    //		}
-    //	};
-    //	
-    private MouseListener mouseListener = new MouseAdapter() {
-        public void mouseDown(MouseEvent e) {
-            if (e.widget instanceof Control) {
-                Control ctrl = (Control) e.widget;
-                Point globalPos = ctrl.toDisplay(new Point(e.x, e.y));
-
-                // PR#1GDEZ25 - If selection will change in mouse up ignore mouse down.
-                // Else, set focus.
-                CTabItem newItem = paneFolder.getItem(paneFolder.getControl()
-                        .toControl(globalPos));
-                if (newItem != null) {
-                    CTabItem oldItem = paneFolder.getSelection();
-                    if (newItem != oldItem)
-                        return;
-                }
-                if (current != null) {
-                    current.setFocus();
-                }
-            }
-        }
-
-        public void mouseDoubleClick(MouseEvent e) {
-            if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-                getSite().setState(IStackPresentationSite.STATE_RESTORED);
-            } else {
-                getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-            }
-        }
-    };
-
-    private MouseListener titleMouseListener = new MouseAdapter() {
-        public void mouseDown(MouseEvent e) {
-            if (e.widget instanceof Control) {
-                Control ctrl = (Control) e.widget;
-                Point globalPos = ctrl.toDisplay(new Point(0, titleLabel
-                        .getBounds().height));
-
-                if ((e.button == 1) && overImage(e.x))
-                    showSystemMenu(globalPos);
-            }
-        }
-    };
-
-    private Listener menuListener = new Listener() {
-        /* (non-Javadoc)
-         * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-         */
-        public void handleEvent(Event event) {
-            Point pos = new Point(event.x, event.y);
-
-            showSystemMenu(pos);
-        }
-    };
-
-    private Listener dragListener = new Listener() {
-        public void handleEvent(Event event) {
-
-            Point localPos = new Point(event.x, event.y);
-            CTabItem tabUnderPointer = paneFolder.getItem(localPos);
-
-            // Drags on the title area drag the selected part only
-            if (tabUnderPointer == null) {
-                if (paneFolder.getTabPosition() == SWT.BOTTOM
-                        && localPos.y < paneFolder.getControl().getBounds().height
-                                - paneFolder.getTabHeight())
-                    tabUnderPointer = paneFolder.getSelection();
-                else if (paneFolder.getTabPosition() == SWT.TOP
-                        && localPos.y > paneFolder.getTabHeight())
-                    tabUnderPointer = paneFolder.getSelection();
-            }
-
-            // Not in a tab, not in a title area, must be dragging the whole stack
-            if (tabUnderPointer == null) {
-                getSite().dragStart(
-                        paneFolder.getControl().toDisplay(localPos), false);
-                return;
-            }
-
-            IPresentablePart part = getPartForTab(tabUnderPointer);
-
-            if (getSite().isPartMoveable(part)) {
-                getSite().dragStart(part,
-                        paneFolder.getControl().toDisplay(localPos), false);
-            }
-        }
-    };
-
-    private Listener selectionListener = new Listener() {
-        public void handleEvent(Event e) {
-            IPresentablePart item = getPartForTab((CTabItem) e.item);
-
-            if (item != null) {
-                getSite().selectPart(item);
-            }
-        }
-    };
-
-    private Listener resizeListener = new Listener() {
-        public void handleEvent(Event e) {
-            setControlSize();
-        }
-    };
-
-    private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-        public void propertyChanged(Object source, int property) {
-            if (source instanceof IPresentablePart) {
-                IPresentablePart part = (IPresentablePart) source;
-                childPropertyChanged(part, property);
-            }
-        }
-    };
-
-    private DisposeListener tabDisposeListener = new DisposeListener() {
-        public void widgetDisposed(DisposeEvent e) {
-            if (e.widget instanceof CTabItem) {
-                CTabItem item = (CTabItem) e.widget;
-
-                IPresentablePart part = getPartForTab(item);
-
-                part.removePropertyListener(childPropertyChangeListener);
-            }
-        }
-    };
-
-    /** the shell listener for upgrading the gradient */
-    private ShellAdapter shellListener = new ShellAdapter() {
-
-        public void shellActivated(ShellEvent event) {
-            shellActive = true;
-            updateGradient();
-        }
-
-        public void shellDeactivated(ShellEvent event) {
-            shellActive = false;
-            updateGradient();
-        }
-    };
-
-    private ToolBar viewToolBar;
-
-    private ToolItem pullDownButton;
-
-    private ToolItem closeButton;
-
-    public R21BasicStackPresentation(R21PaneFolder control,
-            IStackPresentationSite stackSite) {
-        super(stackSite);
-        paneFolder = control;
-
-        shellActive = paneFolder.getControl().getShell().equals(
-                control.getControl().getDisplay().getActiveShell());
-
-        //		tabFolder.setMinimizeVisible(stackSite.supportsState(IStackPresentationSite.STATE_MINIMIZED));
-        //		tabFolder.setMaximizeVisible(stackSite.supportsState(IStackPresentationSite.STATE_MAXIMIZED));
-        //				
-        titleLabel = new CLabel(paneFolder.getControl(), SWT.SHADOW_NONE);
-        titleLabel.setVisible(false);
-        titleLabel.moveAbove(null);
-        titleLabel.addMouseListener(titleMouseListener);
-        titleLabel.addMouseListener(mouseListener);
-        titleLabel.addListener(SWT.MenuDetect, menuListener);
-        PresentationUtil.addDragListener(titleLabel, dragListener);
-
-        //ColorSchemeService.setViewTitleFont(this, titleLabel);
-
-        viewToolBar = new ToolBar(control.getControl(), SWT.HORIZONTAL
-                | SWT.FLAT);
-        viewToolBar.moveAbove(null);
-
-        pullDownButton = new ToolItem(viewToolBar, SWT.PUSH);
-        //				Image img = WorkbenchImages.getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-        Image hoverImage = WorkbenchImages
-                .getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU);
-        pullDownButton.setDisabledImage(null); // TODO: comment this out?
-        // PR#1GE56QT - Avoid creation of unnecessary image.
-        pullDownButton.setImage(hoverImage);
-        pullDownButton.setToolTipText(R21PresentationMessages
-                .getString("BasicStackPresentation.menu")); //$NON-NLS-1$
-        pullDownButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                showPaneMenu();
-            }
-        });
-
-        // listener to switch between visible tabItems
-        paneFolder.getControl().addListener(SWT.Selection, selectionListener);
-
-        // listener to resize visible components
-        paneFolder.getControl().addListener(SWT.Resize, resizeListener);
-
-        // listen for mouse down on tab to set focus.
-        paneFolder.getControl().addMouseListener(mouseListener);
-
-        paneFolder.getControl().addListener(SWT.MenuDetect, menuListener);
-
-        //		tabFolder.addButtonListener(buttonListener);
-
-        PresentationUtil.addDragListener(paneFolder.getControl(), dragListener);
-
-        // add the shell listener to track shell activations
-        // TODO: check if workaround can be removed (see bug 55458)
-        paneFolder.getControl().getShell().addShellListener(shellListener);
-
-        // Uncomment to allow dragging from the title label
-        //		PresentationUtil.addDragListener(titleLabel, new Listener() {
-        //			public void handleEvent(Event event) {
-        //				if (layout.isTrimOnTop()) {
-        //					Point localPos = new Point(event.x, event.y);
-        //					getSite().dragStart(titleLabel.toDisplay(localPos), false);
-        //				}
-        //			}
-        //		});
-
-        //		// Compute the tab height
-        //		int tabHeight = viewToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-        //
-        //		// Enforce a minimum tab height
-        //		if (tabHeight < 20) {
-        //			tabHeight = 20;
-        //		}
-        //		paneFolder.setTabHeight(tabHeight);
-        //		
-        populateSystemMenu(systemMenuManager);
-    }
-
-    /*
-     * Return true if <code>x</code> is over the label image.
-     */
-    private boolean overImage(int x) {
-        return x < titleLabel.getImage().getBounds().width;
-    }
-
-    /**
-     * @param systemMenuManager
-     */
-    private void populateSystemMenu(IMenuManager systemMenuManager) {
-
-        systemMenuManager.add(new GroupMarker("misc")); //$NON-NLS-1$
-        systemMenuManager.add(new GroupMarker("restore")); //$NON-NLS-1$
-        systemMenuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuRestore(getSite())));
-
-        systemMenuManager.add(new SystemMenuMove(getSite(), getPaneName()));
-        systemMenuManager.add(new GroupMarker("size")); //$NON-NLS-1$
-        systemMenuManager.add(new GroupMarker("state")); //$NON-NLS-1$
-        systemMenuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuMinimize(getSite())));
-
-        systemMenuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuMaximize(getSite())));
-        systemMenuManager.add(new Separator("close")); //$NON-NLS-1$
-        systemMenuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuClose(getSite())));
-
-        getSite().addSystemActions(systemMenuManager);
-    }
-
-    protected String getPaneName() {
-        return R21PresentationMessages.getString("BasicStackPresentation.pane"); //$NON-NLS-1$
-    }
-
-    /**
-     * Displays the view menu as a popup
-     */
-    public void showPaneMenu() {
-        IPartMenu menu = getPartMenu();
-
-        if (menu != null) {
-            Rectangle bounds = DragUtil.getDisplayBounds(viewToolBar);
-            menu.showMenu(new Point(bounds.x, bounds.y + bounds.height));
-        }
-    }
-
-    /**
-     * Returns the currently selected part, or <code>null</code>.
-     * 
-     * @return the currently selected part, or <code>null</code>
-     */
-    protected IPresentablePart getCurrent() {
-        return current;
-    }
-
-    /**
-     * Returns the index of the tab for the given part, or returns tabFolder.getItemCount()
-     * if there is no such tab.
-     * 
-     * @param part part being searched for
-     * @return the index of the tab for the given part, or the number of tabs
-     * if there is no such tab
-     */
-    private final int indexOf(IPresentablePart part) {
-        if (part == null) {
-            return paneFolder.getItemCount();
-        }
-
-        CTabItem[] items = paneFolder.getItems();
-
-        for (int idx = 0; idx < items.length; idx++) {
-            IPresentablePart tabPart = getPartForTab(items[idx]);
-
-            if (part == tabPart) {
-                return idx;
-            }
-        }
-
-        return items.length;
-    }
-
-    /**
-     * Returns the tab for the given part, or null if there is no such tab
-     * 
-     * @param part the part being searched for
-     * @return the tab for the given part, or null if there is no such tab
-     */
-    protected final CTabItem getTab(IPresentablePart part) {
-        CTabItem[] items = paneFolder.getItems();
-
-        int idx = indexOf(part);
-
-        if (idx < items.length) {
-            return items[idx];
-        }
-
-        return null;
-    }
-
-    /**
-     * @param part
-     * @param property
-     */
-    protected void childPropertyChanged(IPresentablePart part, int property) {
-
-        CTabItem tab = getTab(part);
-        initTab(tab, part);
-
-        switch (property) {
-        case IPresentablePart.PROP_BUSY:
-            break;
-        case IPresentablePart.PROP_HIGHLIGHT_IF_BACK:
-        //	     	FontRegistry registry = 
-        //			    PlatformUI.getWorkbench().
-        //			    	getThemeManager().getCurrentTheme().
-        //			    		getFontRegistry();
-        //	     	
-        //	       	if(!getCurrent().equals(part))//Set bold if it does currently have focus
-        //				tab.setFont(registry.getBold(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-        //	        break;
-        case IPresentablePart.PROP_TOOLBAR:
-        case IPresentablePart.PROP_PANE_MENU:
-        case IPresentablePart.PROP_TITLE:
-            setControlSize();
-            break;
-        }
-    }
-
-    protected final IPresentablePart getPartForTab(CTabItem item) {
-        IPresentablePart part = (IPresentablePart) item.getData(TAB_DATA);
-
-        return part;
-    }
-
-    /**
-     * Returns the underlying tab folder for this presentation.
-     * 
-     * @return
-     */
-    protected R21PaneFolder getPaneFolder() {
-        return paneFolder;
-    }
-
-    /**
-     * Returns true iff the underlying tab folder has been disposed.
-     * 
-     * @return
-     */
-    public boolean isDisposed() {
-        return paneFolder == null || paneFolder.isDisposed();
-    }
-
-    /**
-     * Update the tab folder's colours to match the current theme settings
-     * and active state
-     */
-    protected void updateGradient() {
-
-        if (isDisposed())
-            return;
-
-        Color fgColor;
-        Color[] bgColors;
-        int[] bgPercents;
-        boolean vertical = false;
-        if (isActive()) {
-            if (getShellActivated()) {
-                fgColor = R21Colors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-                bgColors = R21Colors.getActiveViewGradient();
-                bgPercents = R21Colors.getActiveViewGradientPercents();
-            } else {
-                fgColor = R21Colors
-                        .getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-                bgColors = R21Colors.getDeactivatedViewGradient();
-                bgPercents = R21Colors.getDeactivatedViewGradientPercents();
-            }
-
-        } else {
-            fgColor = R21Colors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-            bgColors = null;
-            bgPercents = null;
-        }
-
-        drawGradient(fgColor, bgColors, bgPercents, vertical);
-
-        //		Color fgColor;
-        //		ITheme currentTheme = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
-        //        FontRegistry fontRegistry = currentTheme.getFontRegistry();	    
-        //		ColorRegistry colorRegistry = currentTheme.getColorRegistry();
-        //		Color [] bgColors = new Color[2];
-        //		int [] percent = new int[1];
-        //		boolean vertical;
-
-        //        if (isActive()){
-        //        	
-        //        	CTabItem item = getPaneFolder().getSelection();
-        //            if(item != null && !getPartForTab(item).isBusy()){
-        //            	Font tabFont = fontRegistry.get(IWorkbenchThemeConstants.TAB_TEXT_FONT);
-        ////            	item.setFont(tabFont);
-        //            }
-        //            
-        //	        fgColor = colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_TEXT_COLOR);
-        //            bgColors[0] = colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_START);
-        //            bgColors[1] = colorRegistry.get(IWorkbenchThemeConstants.ACTIVE_TAB_BG_END);
-        //            percent[0] = currentTheme.getInt(IWorkbenchThemeConstants.ACTIVE_TAB_PERCENT);
-        //            vertical = currentTheme.getBoolean(IWorkbenchThemeConstants.ACTIVE_TAB_VERTICAL);
-        //		} else {
-        //	        fgColor = colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_TEXT_COLOR);
-        //            bgColors[0] = colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_START);
-        //            bgColors[1] = colorRegistry.get(IWorkbenchThemeConstants.INACTIVE_TAB_BG_END);
-        //            percent[0] = currentTheme.getInt(IWorkbenchThemeConstants.INACTIVE_TAB_PERCENT);
-        //            vertical = currentTheme.getBoolean(IWorkbenchThemeConstants.INACTIVE_TAB_VERTICAL);
-        //		}	
-        //      
-        //		
-        //		drawGradient(fgColor, bgColors, bgPercents, false);	
-    }
-
-    /**
-     * Draws the applicable gradient on the title area
-     * 
-     * @param fgColor
-     * @param bgColors
-     * @param percentages
-     * @param vertical
-     */
-    public void drawGradient(Color fgColor, Color[] bgColors,
-            int[] percentages, boolean vertical) {
-        //		paneFolder.setSelectionForeground(fgColor);
-        //		paneFolder.setSelectionBackground(bgColors, percentages, vertical);	
-
-        if (titleLabel == null || viewToolBar == null)
-            return;
-
-        titleLabel.setBackground(bgColors, percentages, vertical);
-        titleLabel.setForeground(fgColor);
-
-        titleLabel.update();
-    }
-
-    public boolean isActive() {
-        return activeState;
-    }
-
-    /**
-     * Set the size of a page in the folder.
-     * 
-     * TODO: Kim here...I had to make this public so that the when the font
-     * was updated via the color scheme service it could relayout the 
-     * presentation... calling control.getLayout() doesn't do the trick.
-     */
-    public void setControlSize() {
-        // Set up the top-right controls
-        //List topRight = new ArrayList(3);
-
-        if (current != null) {
-            paneFolder.setTopLeft(titleLabel);
-            titleLabel.setText(current.getTitle());
-            titleLabel.setImage(current.getTitleImage());
-            titleLabel.setVisible(true);
-        }
-
-        Control currentToolbar = getCurrentToolbar();
-        paneFolder.setTopCenter(currentToolbar);
-
-        IPartMenu partMenu = getPartMenu();
-
-        if (partMenu != null) {
-            pullDownButton.setEnabled(true);
-        } else {
-            pullDownButton.setEnabled(false);
-        }
-        paneFolder.setTopRight(viewToolBar);
-        viewToolBar.setVisible(true);
-
-        paneFolder.layout(true);
-
-        if (current != null) {
-            Rectangle clientArea = paneFolder.getClientArea();
-            Rectangle bounds = paneFolder.getControl().getBounds();
-            clientArea.x += bounds.x;
-            clientArea.y += bounds.y;
-
-            current.setBounds(clientArea);
-        }
-
-    }
-
-    /**
-     * Returns the IPartMenu for the currently selected part, or null if the current
-     * part does not have a menu.
-     * 
-     * @return the IPartMenu for the currently selected part or null if none
-     */
-    protected IPartMenu getPartMenu() {
-        IPresentablePart part = getCurrentPart();
-        if (part == null) {
-            return null;
-        }
-
-        return part.getMenu();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#dispose()
-     */
-    public void dispose() {
-        if (isDisposed()) {
-            return;
-        }
-
-        // remove shell listener
-        paneFolder.getControl().getShell().removeShellListener(shellListener);
-
-        PresentationUtil.removeDragListener(paneFolder.getControl(),
-                dragListener);
-        PresentationUtil.removeDragListener(titleLabel, dragListener);
-
-        systemMenuManager.dispose();
-        systemMenuManager.removeAll();
-        paneFolder.getControl().dispose();
-        paneFolder = null;
-
-        titleLabel.dispose();
-        titleLabel = null;
-
-        viewToolBar.dispose();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#setActive(boolean)
-     */
-    public void setActive(boolean isActive) {
-        activeState = isActive;
-        updateGradient();
-    }
-
-    /**
-     * Return whether the window's shell is activated
-     */
-    /* package */boolean getShellActivated() {
-        return shellActive;
-    }
-
-    /**
-     * Returns the top level window.
-     */
-    public Window getWindow() {
-        Control ctrl = getControl();
-        if (ctrl != null) {
-            Object data = ctrl.getShell().getData();
-            if (data instanceof Window)
-                return (Window) data;
-        }
-        return null;
-    }
-
-    private CTabItem createPartTab(IPresentablePart part, int tabIndex) {
-        CTabItem tabItem;
-
-        int style = SWT.NONE;
-
-        if (getSite().isCloseable(part))
-            style |= SWT.CLOSE;
-
-        tabItem = paneFolder.createItem(style, tabIndex);
-
-        tabItem.setData(TAB_DATA, part);
-
-        part.addPropertyListener(childPropertyChangeListener);
-        tabItem.addDisposeListener(tabDisposeListener);
-
-        initTab(tabItem, part);
-
-        return tabItem;
-    }
-
-    // Create a close button in the title bar for the argument part (if needed).
-    private void updateCloseButton() {
-        // remove the close button if needed
-        if (current == null || !getSite().isCloseable(current)) {
-            if (closeButton != null) {
-                closeButton.dispose();
-                closeButton = null;
-
-                paneFolder.flush();
-            }
-            return;
-        }
-
-        // a close button is needed, so if its already there, we're done
-        if (closeButton != null)
-            return;
-
-        // otherwise create it
-        closeButton = new ToolItem(viewToolBar, SWT.PUSH);
-        closeButton.setDisabledImage(null);
-        closeButton.setImage(WorkbenchImages
-                .getImage(IWorkbenchGraphicConstants.IMG_LCL_VIEW_MENU));
-        closeButton.setToolTipText(R21PresentationMessages
-                .getString("BasicStackPresentation.close")); //$NON-NLS-1$
-        closeButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                close(getCurrent());
-            }
-        });
-
-        paneFolder.flush();
-    }
-
-    /**
-     * Initializes a tab for the given part. Sets the text, icon, tool tip,
-     * etc. This will also be called whenever a relevant property changes
-     * in the part to reflect those changes in the tab. Subclasses may override
-     * to change the appearance of tabs for a particular part.
-     * 
-     * @param tabItem tab for the part
-     * @param part the part being displayed
-     */
-    protected void initTab(CTabItem tabItem, IPresentablePart part) {
-        tabItem.setText(part.getName());
-
-        //tabItem.setImage(part.getTitleImage());
-
-        String toolTipText = part.getTitleToolTip();
-        if (!toolTipText.equals(Util.ZERO_LENGTH_STRING)) {
-            tabItem.setToolTipText(toolTipText);
-        }
-
-        //		FontRegistry registry = 
-        //		    PlatformUI.getWorkbench().
-        //		    	getThemeManager().getCurrentTheme().
-        //		    		getFontRegistry();
-        //		
-        //		if(part.isBusy())
-        //			tabItem.setFont(registry.getItalic(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-        //		else{
-        //			tabItem.setFont(registry.get(IWorkbenchThemeConstants.TAB_TEXT_FONT));
-        //		}			
-
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.StackPresentation#addPart(org.eclipse.ui.internal.skins.IPresentablePart, org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void addPart(IPresentablePart newPart, Object cookie) {
-
-        int idx;
-
-        if (cookie instanceof Integer) {
-            idx = ((Integer) cookie).intValue();
-        } else {
-            // Select a location for newly inserted parts
-            idx = paneFolder.getItemCount();
-        }
-
-        addPart(newPart, idx);
-    }
-
-    /**
-     * Adds the given presentable part to this presentation at the given index.
-     * Does nothing if a tab already exists for the given part. 
-     *
-     * @param newPart
-     * @param index
-     */
-    public void addPart(IPresentablePart newPart, int index) {
-        // If we already have a tab for this part, do nothing
-        if (getTab(newPart) != null) {
-            return;
-        }
-        createPartTab(newPart, index);
-
-        setControlSize();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.StackPresentation#removePart(org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void removePart(IPresentablePart oldPart) {
-        if (current == oldPart) {
-        	titleLabel.setImage(null);
-            current = null;
-        }
-
-        CTabItem item = getTab(oldPart);
-        if (item == null) {
-            return;
-        }
-        oldPart.setVisible(false);
-
-        item.dispose();
-
-        // Layout the folder again in case there is only one item
-        setControlSize();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.StackPresentation#selectPart(org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void selectPart(IPresentablePart toSelect) {
-        if (toSelect == current) {
-            return;
-        }
-
-        if (current != null) {
-            current.setVisible(false);
-        }
-
-        current = toSelect;
-
-        if (current != null) {
-            paneFolder.setSelection(indexOf(current));
-            current.setVisible(true);
-            updateCloseButton();
-            setControlSize();
-        }
-    }
-
-    public IPresentablePart getCurrentPart() {
-        return current;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#setBounds(org.eclipse.swt.graphics.Rectangle)
-     */
-    public void setBounds(Rectangle bounds) {
-        if (getSite().getState() == IStackPresentationSite.STATE_MINIMIZED) {
-        	bounds = Geometry.copy(bounds);
-        	bounds.height = computePreferredSize(false, Integer.MAX_VALUE, bounds.width, Integer.MAX_VALUE);
-        }
-    	
-        paneFolder.getControl().setBounds(bounds);
-        setControlSize();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#computeMinimumSize()
-     */
-    public Point computeMinimumSize() {
-        Point result = Geometry.getSize(paneFolder.computeTrim(0, 0, 0, 0));
-        
-        result.x += 100;
-        
-        return result;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#setVisible(boolean)
-     */
-    public void setVisible(boolean isVisible) {
-        if (current != null) {
-            current.setVisible(isVisible);
-        }
-        paneFolder.getControl().setVisible(isVisible);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#setState(int)
-     */
-    public void setState(int state) {
-        //		tabFolder.setState(state);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#getSystemMenuManager()
-     */
-    public IMenuManager getSystemMenuManager() {
-        return systemMenuManager;
-    }
-
-    /**
-     * @param point
-     */
-    protected void showSystemMenu(Point point) {
-        Menu aMenu = systemMenuManager.createContextMenu(paneFolder
-                .getControl().getParent());
-        systemMenuManager.update(true);
-        aMenu.setLocation(point.x, point.y);
-        aMenu.setVisible(true);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#getControl()
-     */
-    public Control getControl() {
-        return paneFolder.getControl();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#dragOver(org.eclipse.swt.widgets.Control,
-     *      org.eclipse.swt.graphics.Point)
-     */
-    public StackDropResult dragOver(Control currentControl, Point location) {
-
-        // Determine which tab we're currently dragging over
-        Point localPos = paneFolder.getControl().toControl(location);
-        final CTabItem tabUnderPointer = paneFolder.getItem(localPos);
-
-        // This drop target only deals with tabs... if we're not dragging over
-        // a tab, exit.
-        if (tabUnderPointer == null)
-            return null;
-
-        // workaround when left tab is dragged over next
-        int dragOverIndex = paneFolder.indexOf(tabUnderPointer);
-
-        return new StackDropResult(Geometry.toDisplay(paneFolder.getControl(),
-                tabUnderPointer.getBounds()), new Integer(dragOverIndex));
-    }
-
-    /**
-     * Returns the toolbar control for the currently selected part, or null if none (not 
-     * all parts have a toolbar).
-     * 
-     * @return the current toolbar or null if none
-     */
-    protected Control getCurrentToolbar() {
-        IPresentablePart part = getCurrentPart();
-        if (part == null) {
-            return null;
-        }
-
-        return part.getToolBar();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#showSystemMenu()
-     */
-    public void showSystemMenu() {
-        IPresentablePart part = getCurrentPart();
-        if (part != null) {
-            Rectangle bounds = DragUtil.getDisplayBounds(paneFolder
-                    .getControl());
-
-            int idx = paneFolder.getSelectionIndex();
-            if (idx > -1) {
-                CTabItem item = paneFolder.getItem(idx);
-                Rectangle itemBounds = item.getBounds();
-
-                bounds.x += itemBounds.x;
-                bounds.y += itemBounds.y;
-            }
-
-            Point location = new Point(bounds.x, bounds.y
-                    + paneFolder.getTabHeight());
-            showSystemMenu(location);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#getTabList(IPresentablePart)
-     */
-    public Control[] getTabList(IPresentablePart part) {
-        ArrayList list = new ArrayList();
-        if (paneFolder.getTabPosition() == SWT.BOTTOM) {
-            if (part.getToolBar() != null)
-                list.add(part.getToolBar());
-            if (part.getControl() != null)
-                list.add(part.getControl());
-            if (getPaneFolder() != null)
-                list.add(getPaneFolder().getControl());
-        } else {
-            if (getPaneFolder() != null)
-                list.add(getPaneFolder().getControl());
-            if (part.getToolBar() != null)
-                list.add(part.getToolBar());
-            if (part.getControl() != null)
-                list.add(part.getControl());
-        }
-        return (Control[]) list.toArray(new Control[list.size()]);
-    }
-
-    protected void showList(Shell parentShell, int x, int y) {
-        //        final R21PaneFolder tabFolder = getTabFolder();
-        //
-        //        int shellStyle = SWT.RESIZE | SWT.ON_TOP | SWT.NO_TRIM;
-        //        int tableStyle = SWT.V_SCROLL | SWT.H_SCROLL;
-        //        final BasicStackList editorList = new BasicStackList(tabFolder.getControl().getShell(),
-        //                shellStyle, tableStyle);
-        //        editorList.setInput(this);
-        //        Point size = editorList.computeSizeHint();
-        //        
-        //        Rectangle bounds = Display.getCurrent().getBounds();
-        //        if (x + size.x > bounds.width) x = bounds.width - size.x;
-        //        if (y + size.y > bounds.height) y = bounds.height - size.y;
-        //        editorList.setLocation(new Point(x, y));
-        //        editorList.setVisible(true);
-        //        editorList.setFocus();
-        //        editorList.getTableViewer().getTable().getShell().addListener(
-        //                SWT.Deactivate, new Listener() {
-        //
-        //                    public void handleEvent(Event event) {
-        //                        editorList.setVisible(false);
-        //                    }
-        //                });
-    }
-
-    /*
-     * Shows the list of tabs at the top left corner of the editor
-     */
-    protected void showListDefaultLocation() {
-        R21PaneFolder tabFolder = getPaneFolder();
-        Shell shell = tabFolder.getControl().getShell();
-        Rectangle clientArea = tabFolder.getClientArea();
-        Point location = tabFolder.getControl().getDisplay().map(
-                tabFolder.getControl(), null, clientArea.x, clientArea.y);
-        showList(shell, location.x, location.y);
-    }
-
-    void setSelection(CTabItem tabItem) {
-        getSite().selectPart(getPartForTab(tabItem));
-    }
-
-    void close(IPresentablePart presentablePart) {
-        getSite().close(new IPresentablePart[] { presentablePart });
-    }
-
-    Image getLabelImage(IPresentablePart presentablePart) {
-        return presentablePart.getTitleImage();
-    }
-
-    String getLabelText(IPresentablePart presentablePart, boolean includePath) {
-        String title = presentablePart.getTitle().trim();
-        return title;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#setActive(int)
-     */
-    public void setActive(int newState) {
-        setActive(newState == AS_ACTIVE_FOCUS);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
deleted file mode 100644
index 34ed670..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21EditorStackPresentation.java
+++ /dev/null
@@ -1,897 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.Geometry;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-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.MouseListener;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-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.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.WorkbenchWindow;
-import org.eclipse.ui.internal.dnd.DragUtil;
-import org.eclipse.ui.internal.presentations.r21.R21Colors;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolder;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderEvent;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderListener;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabItem;
-import org.eclipse.ui.presentations.IPartMenu;
-import org.eclipse.ui.presentations.IPresentablePart;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.PresentationUtil;
-import org.eclipse.ui.presentations.StackDropResult;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * A stack presentation for editors using a widget set that is close to what was
- * provided in 2.1.
- * <p>
- * EXPERIMENTAL
- * </p>
- * 
- * @since 3.0
- */
-public class R21EditorStackPresentation extends StackPresentation {
-
-    /** the tab folder */
-    private CTabFolder tabFolder;
-
-    /** the drag listener */
-    private Listener dragListener = new Listener() {
-
-        public void handleEvent(Event event) {
-            Point localPos = new Point(event.x, event.y);
-            CTabItem tabUnderPointer = tabFolder.getItem(localPos);
-
-            if (tabUnderPointer == null) {
-                // drag the entire stack
-                if (getSite().isStackMoveable())
-                    getSite().dragStart(tabFolder.toDisplay(localPos), false);
-                return;
-            }
-
-            IPresentablePart part = getPartForTab(tabUnderPointer);
-
-            if (getSite().isPartMoveable(part)) {
-                // drag the part
-                getSite().dragStart(part, tabFolder.toDisplay(localPos), false);
-            }
-        }
-    };
-
-    /** the listener that will close the tab */
-    private CTabFolderListener closeListener = new CTabFolderListener() {
-
-        public void itemClosed(CTabFolderEvent e) {
-            CTabItem item = (CTabItem) e.item;
-            if (null != item) {
-                e.doit = false; // otherwise tab is auto disposed on return
-                getSite().close(new IPresentablePart[] { getPartForTab(item) });
-            }
-        }
-    };
-
-    /** the current part */
-    private IPresentablePart current;
-
-    /** the system menu */
-    private MenuManager systemMenuManager = new MenuManager();
-
-    /** the shared preference store */
-    private IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault()
-            .getPreferenceStore();
-
-    /** the tab item property holding the part */
-    private final static String TAB_DATA = R21EditorStackPresentation.class
-            .getName()
-            + ".partId"; //$NON-NLS-1$
-
-    /** the mouse listener for setting focus */
-    private MouseListener mouseListener = new MouseAdapter() {
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
-         */
-        public void mouseDown(MouseEvent e) {
-            if (e.widget instanceof Control) {
-                Control ctrl = (Control) e.widget;
-
-                Point globalPos = ctrl.toDisplay(new Point(e.x, e.y));
-
-                CTabItem newItem = tabFolder.getItem(tabFolder
-                        .toControl(globalPos));
-                if (newItem != null) {
-
-                    // show menu over icon
-                    if ((e.button == 1) && overImage(newItem, e.x)) {
-                        getSite().selectPart(getPartForTab(newItem));
-                        showSystemMenu();
-                    }
-
-                    // PR#1GDEZ25 - If selection will change in mouse up ignore
-                    // mouse down.
-                    CTabItem oldItem = tabFolder.getSelection();
-                    if (newItem != oldItem)
-                        return;
-                }
-
-                // set focus
-                if (current != null) {
-                    current.setFocus();
-                }
-            }
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.swt.events.MouseAdapter#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
-         */
-        public void mouseDoubleClick(MouseEvent e) {
-            if (getSite().getState() == IStackPresentationSite.STATE_MAXIMIZED) {
-                getSite().setState(IStackPresentationSite.STATE_RESTORED);
-            } else {
-                getSite().setState(IStackPresentationSite.STATE_MAXIMIZED);
-            }
-        }
-    };
-
-    /**
-     * Return true if <code>x</code> is over the tab item image.
-     * 
-     * @return true if <code>x</code> is over the tab item image
-     */
-    static boolean overImage(CTabItem item, int x) {
-        Rectangle imageBounds = item.getImage().getBounds();
-        return x < (item.getBounds().x + imageBounds.x + imageBounds.width);
-    }
-
-    /** the menu listener for showing the menu */
-    private Listener menuListener = new Listener() {
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-         */
-        public void handleEvent(Event event) {
-            Point pos = new Point(event.x, event.y);
-            showSystemMenu(pos);
-        }
-    };
-
-    /** the selection listener */
-    private Listener selectionListener = new Listener() {
-
-        public void handleEvent(Event e) {
-            IPresentablePart item = getPartForTab((CTabItem) e.item);
-            if (item != null)
-                getSite().selectPart(item);
-        }
-    };
-
-    private Listener resizeListener = new Listener() {
-
-        public void handleEvent(Event e) {
-            setControlSize();
-        }
-    };
-
-    /** a property change listener for the parts */
-    private IPropertyListener childPropertyChangeListener = new IPropertyListener() {
-
-        public void propertyChanged(Object source, int property) {
-            if (source instanceof IPresentablePart) {
-                IPresentablePart part = (IPresentablePart) source;
-                childPropertyChanged(part, property);
-            }
-        }
-    };
-
-    /** a dispose listener to do some cleanups when a tab is disposed */
-    private DisposeListener tabDisposeListener = new DisposeListener() {
-
-        public void widgetDisposed(DisposeEvent e) {
-            if (e.widget instanceof CTabItem) {
-                CTabItem item = (CTabItem) e.widget;
-                IPresentablePart part = getPartForTab(item);
-                part.removePropertyListener(childPropertyChangeListener);
-            }
-        }
-    };
-
-    /** the shell listener for upgrading the gradient */
-    private ShellAdapter shellListener = new ShellAdapter() {
-
-        public void shellActivated(ShellEvent event) {
-            updateGradient();
-        }
-
-        public void shellDeactivated(ShellEvent event) {
-            updateGradient();
-        }
-    };
-
-    /** the listener for preference changes */
-    private IPropertyChangeListener preferenceListener = new IPropertyChangeListener() {
-
-        public void propertyChange(PropertyChangeEvent event) {
-            if (IPreferenceConstants.EDITOR_TAB_POSITION.equals(event
-                    .getProperty())) {
-                int tabPos = preferenceStore
-                        .getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-                getTabFolder().setTabPosition(tabPos);
-            }
-        }
-    };
-
-    public R21EditorStackPresentation(Composite parent,
-            IStackPresentationSite stackSite) {
-        super(stackSite);
-
-        // create the tab folder
-        int tabPos = preferenceStore
-                .getInt(IPreferenceConstants.EDITOR_TAB_POSITION);
-        tabFolder = new CTabFolder(parent, tabPos | SWT.BORDER);
-
-        // add listener for preference changes
-        preferenceStore.addPropertyChangeListener(preferenceListener);
-
-        // minimum tab width
-        tabFolder.MIN_TAB_WIDTH = preferenceStore
-                .getInt(IPreferenceConstants.EDITOR_TAB_WIDTH);
-
-        // prevent close button and scroll buttons from taking focus
-        tabFolder.setTabList(new Control[0]);
-
-        // enable close button in tab folder
-        tabFolder.addCTabFolderListener(closeListener);
-
-        // listener to switch between visible tabItems
-        tabFolder.addListener(SWT.Selection, selectionListener);
-
-        // listener to resize visible components
-        tabFolder.addListener(SWT.Resize, resizeListener);
-
-        // listen for mouse down on tab to set focus, show system menu and
-        // maximize/restore.
-        tabFolder.addMouseListener(mouseListener);
-
-        // the menu
-        tabFolder.addListener(SWT.MenuDetect, menuListener);
-
-        // register drag listener
-        PresentationUtil.addDragListener(tabFolder, dragListener);
-
-        // add the shell listener to track shell activations
-        // TODO: check if workaround can be removed (see bug 55458)
-        tabFolder.getShell().addShellListener(shellListener);
-
-        // initialize system menu
-        populateSystemMenu(systemMenuManager);
-    }
-
-    /**
-     * Initializes the specified menu manager.
-     * 
-     * @param menuManager
-     */
-    private void populateSystemMenu(IMenuManager menuManager) {
-
-        menuManager.add(new GroupMarker("misc")); //$NON-NLS-1$
-        menuManager.add(new GroupMarker("restore")); //$NON-NLS-1$
-        menuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuRestore(getSite())));
-        menuManager.add(new SystemMenuMove(getSite(), getPaneName()));
-        menuManager.add(new GroupMarker("size")); //$NON-NLS-1$
-        menuManager.add(new GroupMarker("state")); //$NON-NLS-1$
-        //systemMenuManager.add(new UpdatingActionContributionItem(new
-        // SystemMenuMinimize(getSite())));
-        menuManager.add(new UpdatingActionContributionItem(
-                new SystemMenuMaximize(getSite())));
-        menuManager.add(new Separator("close")); //$NON-NLS-1$
-        menuManager.add(new UpdatingActionContributionItem(new SystemMenuClose(
-                getSite())));
-
-        getSite().addSystemActions(menuManager);
-    }
-
-    /**
-     * Returns the index of the tab for the given part, or returns
-     * tabFolder.getItemCount() if there is no such tab.
-     * 
-     * @param part
-     *            part being searched for
-     * @return the index of the tab for the given part, or the number of tabs if
-     *         there is no such tab
-     */
-    private final int indexOf(IPresentablePart part) {
-        if (part == null)
-            return tabFolder.getItemCount();
-
-        CTabItem[] items = tabFolder.getItems();
-        for (int idx = 0; idx < items.length; idx++)
-            if (part == getPartForTab(items[idx]))
-                return idx;
-
-        return items.length;
-    }
-
-    /**
-     * Returns the tab for the given part, or null if there is no such tab
-     * 
-     * @param part
-     *            the part being searched for
-     * @return the tab for the given part, or null if there is no such tab
-     */
-    protected final CTabItem getTab(IPresentablePart part) {
-        CTabItem[] items = tabFolder.getItems();
-        int idx = indexOf(part);
-        return idx < items.length ? items[idx] : null;
-    }
-
-    /**
-     * @param part
-     * @param property
-     */
-    protected void childPropertyChanged(IPresentablePart part, int property) {
-        initTab(getTab(part), part);
-    }
-
-    protected final IPresentablePart getPartForTab(CTabItem item) {
-        return (IPresentablePart) item.getData(TAB_DATA);
-    }
-
-    protected CTabFolder getTabFolder() {
-        return tabFolder;
-    }
-
-    public boolean isDisposed() {
-        return tabFolder == null || tabFolder.isDisposed();
-    }
-
-    /**
-     * Set the size of a page in the folder.
-     */
-    private void setControlSize() {
-        if (current != null && tabFolder != null)
-            current.setBounds(calculatePageBounds(tabFolder));
-    }
-
-    public static Rectangle calculatePageBounds(CTabFolder folder) {
-        if (folder == null)
-            return new Rectangle(0, 0, 0, 0);
-
-        Rectangle bounds = folder.getBounds();
-        Rectangle offset = folder.getClientArea();
-        bounds.x += offset.x;
-        bounds.y += offset.y;
-        bounds.width = offset.width;
-        bounds.height = offset.height;
-        return bounds;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#dispose()
-     */
-    public void dispose() {
-        if (isDisposed())
-            return;
-
-        // remove shell listener
-        tabFolder.getShell().removeShellListener(shellListener);
-
-        // remove close listener
-        tabFolder.removeCTabFolderListener(closeListener);
-
-        // remove drag listener
-        PresentationUtil.removeDragListener(tabFolder, dragListener);
-
-        // remove preference listener
-        preferenceStore.removePropertyChangeListener(preferenceListener);
-
-        // dispose system menu manager
-        systemMenuManager.dispose();
-        systemMenuManager.removeAll();
-
-        // dispose tab folder
-        tabFolder.dispose();
-        tabFolder = null;
-    }
-
-    /** the active state */
-    private int activeState = AS_INACTIVE;
-
-    /**
-     * Update the tab folder's colours to match the current theme settings and
-     * active state
-     */
-    private void updateGradient() {
-
-        if (isDisposed())
-            return;
-
-        Color fgColor;
-        Color[] bgColors;
-        int[] bgPercents;
-        boolean vertical = false;
-        if (activeState == AS_ACTIVE_FOCUS) {
-            if (getShellActivated()) {
-                fgColor = R21Colors.getSystemColor(SWT.COLOR_TITLE_FOREGROUND);
-                bgColors = R21Colors.getActiveEditorGradient();
-                bgPercents = R21Colors.getActiveEditorGradientPercents();
-            } else {
-                fgColor = R21Colors
-                        .getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND);
-                bgColors = R21Colors.getDeactivatedEditorGradient();
-                bgPercents = R21Colors.getDeactivatedEditorGradientPercents();
-            }
-
-        } else if (activeState == AS_ACTIVE_NOFOCUS) {
-            fgColor = R21Colors.getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-            bgColors = R21Colors.getActiveNoFocusEditorGradient();
-            bgPercents = R21Colors.getActiveNoFocusEditorGradientPercents();
-        } else {
-            fgColor = null;
-            bgColors = null;
-            bgPercents = null;
-        }
-
-        drawGradient(fgColor, bgColors, bgPercents, vertical);
-    }
-
-    /**
-     * Sets the gradient for the selected tab
-     * 
-     * @param fgColor
-     * @param bgColors
-     * @param percentages
-     * @param vertical
-     */
-    protected void drawGradient(Color fgColor, Color[] bgColors,
-            int[] percentages, boolean vertical) {
-        tabFolder.setSelectionForeground(fgColor);
-        tabFolder.setSelectionBackground(bgColors, percentages);
-        tabFolder.update();
-    }
-
-    /**
-     * Return whether the window's shell is activated
-     */
-    /* package */boolean getShellActivated() {
-        Window window = getWindow();
-        if (window instanceof WorkbenchWindow)
-            return ((WorkbenchWindow) window).getShellActivated();
-        else
-            return false;
-    }
-
-    /**
-     * Returns the top level window.
-     */
-    public Window getWindow() {
-        Control ctrl = getControl();
-        if (ctrl != null) {
-            Object data = ctrl.getShell().getData();
-            if (data instanceof Window)
-                return (Window) data;
-        }
-        return null;
-    }
-
-    /**
-     * Creates the tab item for the specified part.
-     * 
-     * @param part
-     * @param tabIndex
-     * @return the tab item for the part
-     */
-    private CTabItem createPartTab(IPresentablePart part, int tabIndex) {
-        CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE, tabIndex);
-        tabItem.setData(TAB_DATA, part);
-        part.addPropertyListener(childPropertyChangeListener);
-        tabItem.addDisposeListener(tabDisposeListener);
-        initTab(tabItem, part);
-        return tabItem;
-    }
-
-    /**
-     * Initializes a tab for the given part. Sets the text, icon, tool tip, etc.
-     * This will also be called whenever a relevant property changes in the part
-     * to reflect those changes in the tab. Subclasses may override to change
-     * the appearance of tabs for a particular part.
-     * 
-     * @param tabItem
-     *            tab for the part
-     * @param part
-     *            the part being displayed
-     */
-    protected void initTab(CTabItem tabItem, IPresentablePart part) {
-
-        // set tab text and tooltip
-        tabItem.setText(getLabelText(part, true, false));
-        tabItem.setToolTipText(getLabelToolTipText(part));
-
-        // set tab image
-        tabItem.setImage(getLabelImage(part));
-
-        // following code allows a disabled image
-        // but the result was distracting: didn't see any disabled image
-
-        //Image image = getLabelImage(part);
-        //boolean useColorIcons = false; // should we use a preference setting?
-        //
-        //if (image == null || image.isDisposed()) {
-        //// normal image
-        //tabItem.setImage(null);
-        //// disabled image
-        //if (!useColorIcons) {
-        //Image disableImage = tabItem.getDisabledImage();
-        //if (disableImage != null) {
-        //disableImage.dispose();
-        //tabItem.setDisabledImage(null);
-        //}
-        //}
-        //} else if (!image.equals(tabItem.getImage())) {
-        //// normal image
-        //    tabItem.setImage(image);
-        //// disabled image
-        //if (!useColorIcons) {
-        //Image disableImage = tabItem.getDisabledImage();
-        //if (disableImage != null)
-        //disableImage.dispose();
-        //Display display = tabItem.getDisplay();
-        //disableImage = new Image(display, image, SWT.IMAGE_DISABLE);
-        //tabItem.setDisabledImage(disableImage);
-        //}
-        //}
-
-    }
-
-    /**
-     * Returns the label text that should be used for the tab item for the
-     * specified part
-     * 
-     * @param presentablePart
-     * @param dirtyLeft
-     * @param includePath
-     * @return a formated label text
-     */
-    String getLabelText(IPresentablePart presentablePart, boolean dirtyLeft,
-            boolean includePath) {
-        String title = presentablePart.getName().trim();
-        String text = title;
-
-        if (includePath) {
-            String titleTooltip = presentablePart.getTitleToolTip().trim();
-
-            if (titleTooltip.endsWith(title))
-                titleTooltip = titleTooltip.substring(0,
-                        titleTooltip.lastIndexOf(title)).trim();
-
-            if (titleTooltip.endsWith("\\")) //$NON-NLS-1$
-                titleTooltip = titleTooltip.substring(0,
-                        titleTooltip.lastIndexOf("\\")).trim(); //$NON-NLS-1$
-
-            if (titleTooltip.endsWith("/")) //$NON-NLS-1$
-                titleTooltip = titleTooltip.substring(0,
-                        titleTooltip.lastIndexOf("/")).trim(); //$NON-NLS-1$
-
-            if (titleTooltip.length() >= 1)
-                text += " - " + titleTooltip; //$NON-NLS-1$
-        }
-
-        if (presentablePart.isDirty()) {
-            if (dirtyLeft)
-                text = "* " + text; //$NON-NLS-1$
-            else
-                text = text + " *"; //$NON-NLS-1$
-        }
-
-        return text;
-    }
-
-    /**
-     * Returns the image used for the tab item
-     * 
-     * @param presentablePart
-     * @return an image
-     */
-    Image getLabelImage(IPresentablePart presentablePart) {
-        return presentablePart.getTitleImage();
-    }
-
-    /**
-     * Returns the tool tip text used for the tab item
-     * 
-     * @param presentablePart
-     * @return a tool tip text
-     */
-    String getLabelToolTipText(IPresentablePart presentablePart) {
-        return presentablePart.getTitleToolTip();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.StackPresentation#addPart(org.eclipse.ui.internal.skins.IPresentablePart, org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void addPart(IPresentablePart newPart, Object cookie) {
-
-        int idx;
-
-        if (cookie instanceof Integer) {
-            idx = ((Integer) cookie).intValue();
-        } else {
-            // Select a location for newly inserted parts
-            idx = tabFolder.getItemCount();
-        }
-
-        if (getTab(newPart) != null) {
-            return;
-        }
-
-        createPartTab(newPart, idx);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#removePart(org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void removePart(IPresentablePart oldPart) {
-        if (current == oldPart)
-            current = null;
-
-        CTabItem item = getTab(oldPart);
-        if (item == null) {
-            return;
-        }
-        oldPart.setVisible(false);
-
-        item.dispose();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#selectPart(org.eclipse.ui.internal.skins.IPresentablePart)
-     */
-    public void selectPart(IPresentablePart toSelect) {
-        if (toSelect == current) {
-            return;
-        }
-
-        if (current != null) {
-            current.setVisible(false);
-        }
-
-        current = toSelect;
-
-        if (current != null) {
-            tabFolder.setSelection(indexOf(current));
-            current.setVisible(true);
-            setControlSize();
-
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#setBounds(org.eclipse.swt.graphics.Rectangle)
-     */
-    public void setBounds(Rectangle bounds) {
-        tabFolder.setBounds(bounds);
-        setControlSize();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#computeMinimumSize()
-     */
-    public Point computeMinimumSize() {
-        return Geometry.getSize(tabFolder.computeTrim(0, 0, 0, 0));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#setVisible(boolean)
-     */
-    public void setVisible(boolean isVisible) {
-        if (current != null)
-            current.setVisible(isVisible);
-
-        getTabFolder().setVisible(isVisible);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#setState(int)
-     */
-    public void setState(int state) {
-        //		tabFolder.setMinimized(state == IPresentationSite.STATE_MINIMIZED);
-        //		tabFolder.setMaximized(state == IPresentationSite.STATE_MAXIMIZED);
-    }
-
-    /**
-     * Returns the system menu manager.
-     * 
-     * @return the system menu manager
-     */
-    public IMenuManager getSystemMenuManager() {
-        return systemMenuManager;
-    }
-
-    /**
-     * Shows the system context menu at the specified location
-     * 
-     * @param point
-     */
-    protected void showSystemMenu(Point point) {
-        Menu aMenu = systemMenuManager.createContextMenu(tabFolder.getParent());
-        systemMenuManager.update(true);
-        aMenu.setLocation(point.x, point.y);
-        aMenu.setVisible(true);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.Presentation#getControl()
-     */
-    public Control getControl() {
-        return tabFolder;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.internal.skins.StackPresentation#dragOver(org.eclipse.swt.widgets.Control,
-     *      org.eclipse.swt.graphics.Point)
-     */
-    public StackDropResult dragOver(Control currentControl, Point location) {
-
-        // Determine which tab we're currently dragging over
-        Point localPos = tabFolder.toControl(location);
-        final CTabItem tabUnderPointer = tabFolder.getItem(localPos);
-
-        // This drop target only deals with tabs... if we're not dragging over
-        // a tab, exit.
-        if (tabUnderPointer == null)
-            return null;
-
-        // workaround when left tab is dragged over next
-        int dragOverIndex = tabFolder.indexOf(tabUnderPointer);
-
-        return new StackDropResult(Geometry.toDisplay(tabFolder,
-                tabUnderPointer.getBounds()), new Integer(dragOverIndex));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#showSystemMenu()
-     */
-    public void showSystemMenu() {
-        if (null != current) {
-            // switch to the editor
-            CTabItem item = getTab(current);
-            getSite().selectPart(getCurrentPart());
-            Rectangle bounds = item.getBounds();
-            int y = bounds.height;
-            if (getTabFolder().getTabPosition() == SWT.BOTTOM)
-                y += bounds.y;
-            showSystemMenu(getTabFolder().toDisplay(bounds.x, y));
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#showPaneMenu()
-     */
-    public void showPaneMenu() {
-        IPartMenu menu = getPartMenu();
-
-        if (null != menu) {
-            CTabItem tab = getTab(getCurrentPart());
-
-            if (null != tab && null != tab.getControl()) {
-                Rectangle bounds = DragUtil.getDisplayBounds(tab.getControl());
-                menu.showMenu(new Point(bounds.x, bounds.y + bounds.height));
-            }
-        }
-    }
-
-    /**
-     * Returns the IPartMenu for the currently selected part, or null if the
-     * current part does not have a menu.
-     * 
-     * @return the IPartMenu for the currently selected part or null if none
-     */
-    protected IPartMenu getPartMenu() {
-        IPresentablePart part = getCurrentPart();
-        if (part == null) {
-            return null;
-        }
-
-        return part.getMenu();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#getTabList(IPresentablePart)
-     */
-    public Control[] getTabList(IPresentablePart part) {
-        ArrayList list = new ArrayList();
-        if (getControl() != null)
-            list.add(getControl());
-        if (part.getToolBar() != null)
-            list.add(part.getToolBar());
-        if (part.getControl() != null)
-            list.add(part.getControl());
-        return (Control[]) list.toArray(new Control[list.size()]);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.presentations.StackPresentation#getCurrentPart()
-     */
-    public IPresentablePart getCurrentPart() {
-        return current;
-    }
-
-    protected String getPaneName() {
-        return R21PresentationMessages.getString("EditorPane.moveEditor"); //$NON-NLS-1$ 
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#setActive(int)
-     */
-    public void setActive(int newState) {
-        activeState = newState;
-        updateGradient();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
deleted file mode 100644
index b592e3b..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21PresentationFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.presentations.AbstractPresentationFactory;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-import org.eclipse.ui.presentations.StackPresentation;
-
-/**
- * A presentation factory that creates a look similar to previous verisons of eclipse.
- */
-public class R21PresentationFactory extends AbstractPresentationFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createEditorPresentation(Composite parent,
-            IStackPresentationSite site) {
-        return new R21EditorStackPresentation(parent, site);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createViewPresentation(Composite parent,
-            IStackPresentationSite site) {
-        return new R21ViewStackPresentation(parent, site);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.AbstractPresentationFactory
-     */
-    public StackPresentation createStandaloneViewPresentation(Composite parent,
-            IStackPresentationSite site, boolean showTitle) {
-        // TODO: honour showTitle
-        return new R21ViewStackPresentation(parent, site);
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
deleted file mode 100644
index 452715d..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/R21ViewStackPresentation.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.internal.IPreferenceConstants;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.presentations.r21.R21PresentationMessages;
-import org.eclipse.ui.internal.presentations.r21.widgets.CTabFolderEvent;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolder;
-import org.eclipse.ui.internal.presentations.r21.widgets.R21PaneFolderButtonListener;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * Controls the appearance of views stacked into the workbench.
- * 
- * @since 3.0
- */
-public class R21ViewStackPresentation extends R21BasicStackPresentation {
-
-    private IPreferenceStore preferenceStore = WorkbenchPlugin.getDefault()
-            .getPreferenceStore();
-
-    private final IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
-        public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
-            if (IPreferenceConstants.VIEW_TAB_POSITION
-                    .equals(propertyChangeEvent.getProperty())
-                    && !isDisposed()) {
-                int tabLocation = preferenceStore
-                        .getInt(IPreferenceConstants.VIEW_TAB_POSITION);
-                getPaneFolder().setTabPosition(tabLocation);
-            }
-            //			else if (IPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS.equals(propertyChangeEvent.getProperty()) && !isDisposed()) {
-            //				boolean traditionalTab = preferenceStore.getBoolean(IPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS); 
-            //				setTabStyle(traditionalTab);
-            //			}		
-        }
-    };
-
-    private R21PaneFolderButtonListener showListListener = new R21PaneFolderButtonListener() {
-
-        public void showList(CTabFolderEvent event) {
-            event.doit = false;
-            showListDefaultLocation();
-        }
-    };
-
-    public R21ViewStackPresentation(Composite parent,
-            IStackPresentationSite newSite) {
-
-        super(new R21PaneFolder(parent, SWT.BORDER), newSite);
-        R21PaneFolder tabFolder = getPaneFolder();
-
-        tabFolder.addButtonListener(showListListener);
-
-        preferenceStore.addPropertyChangeListener(propertyChangeListener);
-        int tabLocation = preferenceStore
-                .getInt(IPreferenceConstants.VIEW_TAB_POSITION);
-
-        tabFolder.setTabPosition(tabLocation);
-        //		setTabStyle(preferenceStore.getBoolean(IPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS));
-
-        //		// do not support close box on unselected tabs.
-        //		tabFolder.setUnselectedCloseVisible(false);
-        //		
-        //		// do not support icons in unselected tabs.
-        //		tabFolder.setUnselectedImageVisible(false);
-        //		
-        // set basic colors
-        //ColorSchemeService.setTabAttributes(this, tabFolder);
-
-        updateGradient();
-    }
-
-    //	/**
-    //     * Set the tab folder tab style to a tradional style tab
-    //	 * @param traditionalTab <code>true</code> if traditional style tabs should be used
-    //     * <code>false</code> otherwise.
-    //	 */
-    //	protected void setTabStyle(boolean traditionalTab) {
-    //		// set the tab style to non-simple
-    //		getTabFolder().setSimpleTab(traditionalTab);
-    //	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.skins.Presentation#setActive(boolean)
-     */
-    public void setActive(boolean isActive) {
-        super.setActive(isActive);
-
-        updateGradient();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.presentations.StackPresentation#dispose()
-     */
-    public void dispose() {
-        preferenceStore.removePropertyChangeListener(propertyChangeListener);
-        super.dispose();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.presentations.DefaultPartPresentation#getPartMenu()
-     */
-    protected String getPaneName() {
-        return R21PresentationMessages.getString("ViewPane.moveView"); //$NON-NLS-1$ 
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.internal.r21presentation.presentations.R21BasicStackPresentation#drawGradient(org.eclipse.swt.graphics.Color, org.eclipse.swt.graphics.Color[], int[], boolean)
-     */
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
deleted file mode 100644
index 0c44f55..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21Colors.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * This class manages the R21 workbench colors (they are fixed).
- */
-public class R21Colors {
-
-    static private boolean init = false;
-
-    static private HashMap colorMap;
-
-    static private HashMap systemColorMap;
-
-    static private Color workbenchColors[];
-
-    static private Color[] activeViewGradient;
-
-    static private Color[] deactivatedViewGradient;
-
-    static private Color[] activeEditorGradient;
-
-    static private Color[] activeNoFocusEditorGradient;
-
-    static private Color[] deactivatedEditorGradient;
-
-    static private int[] activeViewPercentages;
-
-    static private int[] deactivatedViewPercentages;
-
-    static private int[] activeEditorPercentages;
-
-    static private int[] activeNoFocusEditorPercentages;
-
-    static private int[] deactivatedEditorPercentages;
-
-    static private final String CLR_VIEW_GRAD_START = "clrViewGradStart";//$NON-NLS-1$
-
-    static private final String CLR_VIEW_GRAD_END = "clrViewGradEnd";//$NON-NLS-1$
-
-    static private final String CLR_EDITOR_GRAD_START = "clrEditorGradStart";//$NON-NLS-1$
-
-    static private final String CLR_EDITOR_GRAD_END = "clrEditorGradEnd";//$NON-NLS-1$
-
-    /**
-     * Dispose all color pre-allocated by the workbench.
-     */
-    private static void disposeWorkbenchColors() {
-        for (int i = 0; i < workbenchColors.length; i++) {
-            workbenchColors[i].dispose();
-        }
-    }
-
-    /**
-     * Returns the active editor gradient.
-     */
-    static public Color[] getActiveEditorGradient() {
-        return activeEditorGradient;
-    }
-
-    /**
-     * Returns the active editor gradient end color.
-     */
-    static public Color getActiveEditorGradientEnd() {
-        Color clr = (Color) systemColorMap.get(CLR_EDITOR_GRAD_END);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the active editor gradient percents.
-     */
-    static public int[] getActiveEditorGradientPercents() {
-        return activeEditorPercentages;
-    }
-
-    /**
-     * Returns the active editor gradient start color.
-     */
-    static public Color getActiveEditorGradientStart() {
-        Color clr = (Color) systemColorMap.get(CLR_EDITOR_GRAD_START);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the active no focus editor gradient.
-     */
-    static public Color[] getActiveNoFocusEditorGradient() {
-        return activeNoFocusEditorGradient;
-    }
-
-    /**
-     * Returns the active no focus editor gradient percents.
-     */
-    static public int[] getActiveNoFocusEditorGradientPercents() {
-        return activeNoFocusEditorPercentages;
-    }
-
-    /**
-     * Returns the active gradient for views.
-     */
-    static public Color[] getActiveViewGradient() {
-        return activeViewGradient;
-    }
-
-    /**
-     * Returns the active view gradient end color.
-     */
-    static public Color getActiveViewGradientEnd() {
-        Color clr = (Color) systemColorMap.get(CLR_VIEW_GRAD_END);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the active view gradient percents.
-     */
-    static public int[] getActiveViewGradientPercents() {
-        return activeViewPercentages;
-    }
-
-    /**
-     * Returns the active view gradient start color.
-     */
-    static public Color getActiveViewGradientStart() {
-        Color clr = (Color) systemColorMap.get(CLR_VIEW_GRAD_START);
-        Assert.isNotNull(clr);
-        return clr;
-    }
-
-    /**
-     * Returns the gradient for editors when the window is deactivated.
-     */
-    static public Color[] getDeactivatedEditorGradient() {
-        return deactivatedEditorGradient;
-    }
-
-    /**
-     * Returns the editor gradient percents when the window is deactivated.
-     */
-    static public int[] getDeactivatedEditorGradientPercents() {
-        return deactivatedEditorPercentages;
-    }
-
-    /**
-     * Returns the gradient for views when the window is deactivated.
-     */
-    static public Color[] getDeactivatedViewGradient() {
-        return deactivatedViewGradient;
-    }
-
-    /**
-     * Returns the view gradient percents when the window is deactivated.
-     */
-    static public int[] getDeactivatedViewGradientPercents() {
-        return deactivatedViewPercentages;
-    }
-
-    /**
-     * Returns a color identified by an RGB value.
-     */
-    static public Color getColor(RGB rgbValue) {
-        Color clr = (Color) colorMap.get(rgbValue);
-        if (clr == null) {
-            Display disp = Display.getDefault();
-            clr = new Color(disp, rgbValue);
-            colorMap.put(rgbValue, clr);
-        }
-        return clr;
-    }
-
-    /**
-     * Returns a system color identified by a SWT constant.
-     */
-    static public Color getSystemColor(int swtId) {
-        Integer bigInt = new Integer(swtId);
-        Color clr = (Color) systemColorMap.get(bigInt);
-        if (clr == null) {
-            Display disp = Display.getDefault();
-            clr = disp.getSystemColor(swtId);
-            systemColorMap.put(bigInt, clr);
-        }
-        return clr;
-    }
-
-    /**
-     * Initialize all colors used in the workbench in case the OS is using a 256
-     * color palette making sure the workbench colors are allocated.
-     * 
-     * This list comes from the designers.
-     */
-    private static void initWorkbenchColors(Display d) {
-        if (workbenchColors != null)
-            return;
-
-        workbenchColors = new Color[] {
-        //Product pallet
-                new Color(d, 255, 255, 255), new Color(d, 255, 251, 240),
-                new Color(d, 223, 223, 191), new Color(d, 223, 191, 191),
-                new Color(d, 192, 220, 192), new Color(d, 192, 192, 192),
-                new Color(d, 191, 191, 191), new Color(d, 191, 191, 159),
-                new Color(d, 191, 159, 191), new Color(d, 160, 160, 164),
-                new Color(d, 159, 159, 191), new Color(d, 159, 159, 159),
-                new Color(d, 159, 159, 127), new Color(d, 159, 127, 159),
-                new Color(d, 159, 127, 127), new Color(d, 128, 128, 128),
-                new Color(d, 127, 159, 159), new Color(d, 127, 159, 127),
-                new Color(d, 127, 127, 159), new Color(d, 127, 127, 127),
-                new Color(d, 127, 127, 95), new Color(d, 127, 95, 127),
-                new Color(d, 127, 95, 95), new Color(d, 95, 127, 127),
-                new Color(d, 95, 127, 95), new Color(d, 95, 95, 127),
-                new Color(d, 95, 95, 95), new Color(d, 95, 95, 63),
-                new Color(d, 95, 63, 95), new Color(d, 95, 63, 63),
-                new Color(d, 63, 95, 95), new Color(d, 63, 95, 63),
-                new Color(d, 63, 63, 95), new Color(d, 0, 0, 0),
-                //wizban pallet
-                new Color(d, 195, 204, 224), new Color(d, 214, 221, 235),
-                new Color(d, 149, 168, 199), new Color(d, 128, 148, 178),
-                new Color(d, 106, 128, 158), new Color(d, 255, 255, 255),
-                new Color(d, 0, 0, 0), new Color(d, 0, 0, 0),
-                //Perspective
-                new Color(d, 132, 130, 132), new Color(d, 143, 141, 138),
-                new Color(d, 171, 168, 165),
-                //PreferenceDialog and TitleAreaDialog
-                new Color(d, 230, 226, 221) };
-    }
-
-    /**
-     * Disposes of the colors. Ignore all system colors as they do not need to
-     * be disposed.
-     */
-    static public void shutdown() {
-        if (!init)
-            return;
-
-        disposeWorkbenchColors();
-
-        Iterator iter = colorMap.values().iterator();
-        while (iter.hasNext()) {
-            Color clr = (Color) iter.next();
-            if (clr != null) {
-                clr.dispose();
-            }
-        }
-
-        colorMap.clear();
-        systemColorMap.clear();
-        init = false;
-    }
-
-    /**
-     * Initializes the colors.
-     */
-    static public void startup() {
-        if (init)
-            return;
-
-        // Initialize the caches first.
-        init = true;
-        colorMap = new HashMap(10);
-        systemColorMap = new HashMap(10);
-
-        initWorkbenchColors(Display.getDefault());
-        // Define active view gradient using same OS title gradient colors.
-        Color clr1 = getSystemColor(SWT.COLOR_TITLE_BACKGROUND);
-        Color clr2 = getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT);
-        Color clr3 = getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-        systemColorMap.put(CLR_VIEW_GRAD_START, clr1);
-        systemColorMap.put(CLR_VIEW_GRAD_END, clr3);
-        activeViewGradient = new Color[] { clr1, clr2, clr3 };
-        activeViewPercentages = new int[] { 50, 100 };
-
-        // Define active editor gradient using same OS title gradient colors.
-        systemColorMap.put(CLR_EDITOR_GRAD_START, clr1);
-        systemColorMap.put(CLR_EDITOR_GRAD_END, null); // use widget default
-        // background
-        activeEditorGradient = new Color[] { clr1, clr2, null, null };
-        activeEditorPercentages = new int[] { 50, 90, 100 };
-
-        // Define active no focus editor gradient
-        activeNoFocusEditorGradient = new Color[] { getSystemColor(SWT.COLOR_LIST_BACKGROUND) };
-        activeNoFocusEditorPercentages = new int[0];
-
-        // Define view gradient for deactivated window using same OS title
-        // gradient colors.
-        clr1 = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND);
-        clr2 = getSystemColor(SWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
-        clr3 = getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-        deactivatedViewGradient = new Color[] { clr1, clr2, clr3 };
-        deactivatedViewPercentages = new int[] { 70, 100 };
-
-        // Define editor gradient for deactivated window using same OS title
-        // gradient colors.
-        deactivatedEditorGradient = new Color[] { clr1, clr2, null, null };
-        deactivatedEditorPercentages = new int[] { 70, 95, 100 };
-
-        // Preload.
-        getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
-        getSystemColor(SWT.COLOR_BLACK);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
deleted file mode 100644
index d104f62..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationMessages.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public abstract class R21PresentationMessages {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.presentations.r21.messages"; //$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    /**
-     * Returns the formatted message for the given key in the resource bundle.
-     * 
-     * @param key
-     *            the resource name
-     * @param args
-     *            the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the key is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the default value is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @param def
-     *            the default value
-     * @return the string
-     */
-    public static String getString(String key, String def) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return def;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
deleted file mode 100644
index b5e2d2a..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/R21PresentationPlugin.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class R21PresentationPlugin extends AbstractUIPlugin {
-    //The shared instance.
-    private static R21PresentationPlugin plugin;
-
-    //Resource bundle.
-    private ResourceBundle resourceBundle;
-
-    /**
-     * The constructor.
-     */
-    public R21PresentationPlugin() {
-        super();
-        plugin = this;
-        try {
-            resourceBundle = ResourceBundle
-                    .getBundle("org.eclipse.ui.internal.r21presentation.R21lookPluginResources"); //$NON-NLS-1$
-        } catch (MissingResourceException x) {
-            resourceBundle = null;
-        }
-    }
-
-    /**
-     * Returns the shared instance.
-     */
-    public static R21PresentationPlugin getDefault() {
-        return plugin;
-    }
-
-    /**
-     * Returns the string from the plugin's resource bundle,
-     * or 'key' if not found.
-     */
-    public static String getResourceString(String key) {
-        ResourceBundle bundle = R21PresentationPlugin.getDefault()
-                .getResourceBundle();
-        try {
-            return (bundle != null) ? bundle.getString(key) : key;
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the plugin's resource bundle,
-     */
-    public ResourceBundle getResourceBundle() {
-        return resourceBundle;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-     */
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-        R21Colors.startup();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-     */
-    public void stop(BundleContext context) throws Exception {
-        super.stop(context);
-        R21Colors.shutdown();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
deleted file mode 100644
index e841a0f..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/messages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# package: org.eclipse.ui.internal.r21presentation
-
-BasicStackPresentation.menu=&Menu
-BasicStackPresentation.close=&Close
-BasicStackPresentation.pane=&Pane
-
-ViewPane.moveView=&View
-EditorPane.moveEditor=&Editor
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
deleted file mode 100644
index 165f468..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolder.java
+++ /dev/null
@@ -1,2461 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.accessibility.ACC;
-import org.eclipse.swt.accessibility.Accessible;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlAdapter;
-import org.eclipse.swt.accessibility.AccessibleControlEvent;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.TypedListener;
-
-/**
- * Instances of this class implement the notebook user interface
- * metaphor.  It allows the user to select a notebook page from
- * set of pages.
- * <p>
- * The item children that may be added to instances of this class
- * must be of type <code>CTabItem</code>.
- * <code>Control</code> children are created and then set into a
- * tab item using <code>CTabItem#setControl</code>.
- * </p><p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>TOP, BOTTOM, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>Selection</dd>
- * <dd>"CTabFolder"</dd>
- * </dl>
- * <p>
- * Note: Only one of the styles TOP and BOTTOM 
- * may be specified.
- * </p><p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-
-public class CTabFolder extends Composite {
-
-    /**
-     * marginWidth specifies the number of pixels of horizontal margin
-     * that will be placed along the left and right edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginWidth = 0;
-
-    /**
-     * marginHeight specifies the number of pixels of vertical margin
-     * that will be placed along the top and bottom edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginHeight = 0;
-
-    /**
-     * Color of innermost line of drop shadow border.
-     */
-    public static RGB borderInsideRGB = new RGB(132, 130, 132);
-
-    /**
-     * Color of middle line of drop shadow border.
-     */
-    public static RGB borderMiddleRGB = new RGB(143, 141, 138);
-
-    /**
-     * Color of outermost line of drop shadow border.
-     */
-    public static RGB borderOutsideRGB = new RGB(171, 168, 165);
-
-    /*
-     * A multiple of the tab height that specifies the minimum width to which a tab 
-     * will be compressed before scrolling arrows are used to navigate the tabs.
-     */
-    public int MIN_TAB_WIDTH = 3;
-
-    /* sizing, positioning */
-    int xClient, yClient;
-
-    boolean onBottom = false;
-
-    boolean fixedTabHeight;
-
-    int tabHeight;
-
-    /* item management */
-    private CTabItem items[] = new CTabItem[0];
-
-    private int selectedIndex = -1;
-
-    int topTabIndex = -1; // index of the left most visible tab.
-
-    /* External Listener management */
-    private CTabFolderListener[] tabListeners = new CTabFolderListener[0];
-
-    /* Color appearance */
-    Image backgroundImage;
-
-    Color[] gradientColors;
-
-    int[] gradientPercents;
-
-    Color selectionForeground;
-
-    Color background;
-
-    // internal constants
-    private static final int DEFAULT_WIDTH = 64;
-
-    private static final int DEFAULT_HEIGHT = 64;
-
-    // scrolling arrows
-    private ToolBar arrowBar;
-
-    private Image arrowLeftImage;
-
-    private Image arrowRightImage;
-
-    private Control topRight;
-
-    // close button
-    boolean showClose = false;
-
-    private Image closeImage;
-
-    ToolBar closeBar;
-
-    private ToolBar inactiveCloseBar;
-
-    private CTabItem inactiveItem;
-
-    // borders
-    boolean showBorders = false;
-
-    private int borderBottom = 0;
-
-    private int borderLeft = 0;
-
-    private int borderRight = 0;
-
-    private int borderTop = 0;
-
-    private Color borderColor1;
-
-    private Color borderColor2;
-
-    private Color borderColor3;
-
-    // when disposing CTabFolder, don't try to layout the items or 
-    // change the selection as each child is destroyed.
-    private boolean inDispose = false;
-
-    // keep track of size changes in order to redraw only affected area
-    // on Resize
-    private Point oldSize;
-
-    private Font oldFont;
-
-    // insertion marker
-    int insertionIndex = -2; // Index of insert marker.  Marker always shown after index.
-
-    // -2 means no insert marker
-
-    // tool tip
-    private Shell tip;
-
-    private Label label;
-
-    private boolean showToolTip = false;
-
-    private CTabItem toolTipItem;
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * and a style value describing its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a widget which will be the parent of the new instance (cannot be null)
-     * @param style the style of widget to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT#TOP
-     * @see SWT#BOTTOM
-     * @see SWT#FLAT
-     * @see #getStyle()
-     */
-    public CTabFolder(Composite parent, int style) {
-        super(parent, checkStyle(style));
-
-        onBottom = (getStyle() & SWT.BOTTOM) != 0;
-
-        borderColor1 = new Color(getDisplay(), borderInsideRGB);
-        borderColor2 = new Color(getDisplay(), borderMiddleRGB);
-        borderColor3 = new Color(getDisplay(), borderOutsideRGB);
-
-        // tool tip support
-        tip = new Shell(getShell(), SWT.ON_TOP);
-        label = new Label(tip, SWT.CENTER);
-
-        // Add all listeners
-        Listener listener = new Listener() {
-            public void handleEvent(Event event) {
-                switch (event.type) {
-                case SWT.Dispose:
-                    onDispose();
-                    break;
-                case SWT.Paint:
-                    onPaint(event);
-                    break;
-                case SWT.Resize:
-                    onResize();
-                    break;
-                case SWT.MouseDoubleClick:
-                    onMouseDoubleClick(event);
-                    break;
-                case SWT.MouseDown:
-                    onMouseDown(event);
-                    break;
-                case SWT.MouseExit:
-                    onMouseExit(event);
-                    break;
-                case SWT.MouseHover:
-                    onMouseHover(event);
-                    break;
-                case SWT.MouseMove:
-                    onMouseMove(event);
-                    break;
-                case SWT.FocusIn:
-                    onFocus(event);
-                    break;
-                case SWT.FocusOut:
-                    onFocus(event);
-                    break;
-                case SWT.KeyDown:
-                    onKeyDown(event);
-                    break;
-                case SWT.Traverse:
-                    onTraverse(event);
-                    break;
-                }
-            }
-        };
-
-        int[] folderEvents = new int[] { SWT.Dispose, SWT.Paint, SWT.Resize,
-                SWT.MouseDoubleClick, SWT.MouseDown, SWT.MouseExit,
-                SWT.MouseHover, SWT.MouseMove, SWT.FocusIn, SWT.FocusOut,
-                SWT.KeyDown, SWT.Traverse, };
-        for (int i = 0; i < folderEvents.length; i++) {
-            addListener(folderEvents[i], listener);
-        }
-
-        createArrowBar();
-        createCloseBar();
-
-        setBorderVisible((style & SWT.BORDER) != 0);
-
-        initAccessible();
-
-    }
-
-    private static int checkStyle(int style) {
-        int mask = SWT.TOP | SWT.BOTTOM | SWT.FLAT | SWT.LEFT_TO_RIGHT
-                | SWT.RIGHT_TO_LEFT;
-        style = style & mask;
-        // TOP and BOTTOM are mutually exlusive.
-        // TOP is the default
-        if ((style & SWT.TOP) != 0)
-            style = style & ~(SWT.TOP | SWT.BOTTOM) | SWT.TOP;
-        // reduce the flash by not redrawing the entire area on a Resize event
-        style |= SWT.NO_REDRAW_RESIZE;
-        return style;
-    }
-
-    /**	 
-     * Adds the listener to receive events.
-     * <p>
-     *
-     * @param listener the listener
-     *
-     * @exception SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     * 		<li>ERROR_NULL_ARGUMENT when listener is null</li>
-     *	</ul>
-     */
-    public void addSelectionListener(SelectionListener listener) {
-        checkWidget();
-        if (listener == null) {
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        }
-        TypedListener typedListener = new TypedListener(listener);
-        addListener(SWT.Selection, typedListener);
-        addListener(SWT.DefaultSelection, typedListener);
-    }
-
-    /**
-     * Adds the listener to the collection of listeners who will
-     * be notified when a tab item is closed.
-     *
-     * @param listener the listener which should be notified
-     *
-     * @exception IllegalArgumentException <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *      <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     *
-     * @see CTabFolderListener
-     * @see #removeCTabFolderListener
-     */
-    public void addCTabFolderListener(CTabFolderListener listener) {
-        checkWidget();
-        if (listener == null)
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        // add to array
-        CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length + 1];
-        System.arraycopy(tabListeners, 0, newTabListeners, 0,
-                tabListeners.length);
-        tabListeners = newTabListeners;
-        tabListeners[tabListeners.length - 1] = listener;
-        showClose = true;
-        setButtonBounds();
-    }
-
-    private void closeNotify(CTabItem item, int time) {
-        if (item == null)
-            return;
-
-        CTabFolderEvent event = new CTabFolderEvent(this);
-        event.widget = this;
-        event.time = time;
-        event.item = item;
-        event.doit = true;
-        if (tabListeners != null) {
-            for (int i = 0; i < tabListeners.length; i++) {
-                tabListeners[i].itemClosed(event);
-            }
-        }
-        if (event.doit) {
-            item.dispose();
-        }
-    }
-
-    public Point computeSize(int wHint, int hHint, boolean changed) {
-        checkWidget();
-        int minWidth = 0;
-        int minHeight = 0;
-
-        // preferred width of tab area to show all tabs
-        GC gc = new GC(this);
-        for (int i = 0; i < items.length; i++) {
-            minWidth += items[i].preferredWidth(gc);
-        }
-        gc.dispose();
-
-        // preferred size of controls in tab items
-        for (int i = 0; i < items.length; i++) {
-            Control control = items[i].getControl();
-            if (control != null && !control.isDisposed()) {
-                Point size = control.computeSize(wHint, hHint);
-                minWidth = Math.max(minWidth, size.x);
-                minHeight = Math.max(minHeight, size.y);
-            }
-        }
-        if (minWidth == 0)
-            minWidth = DEFAULT_WIDTH;
-        if (minHeight == 0)
-            minHeight = DEFAULT_HEIGHT;
-
-        if (wHint != SWT.DEFAULT)
-            minWidth = wHint;
-        if (hHint != SWT.DEFAULT)
-            minHeight = hHint;
-
-        Rectangle trim = computeTrim(0, 0, minWidth, minHeight);
-        return new Point(trim.width, trim.height);
-    }
-
-    public Rectangle computeTrim(int x, int y, int width, int height) {
-        checkWidget();
-        if (items.length == 0) {
-            if (!showBorders)
-                return new Rectangle(x, y, width, height);
-            int trimX = x - borderRight - 1;
-            int trimY = y - borderBottom - 1;
-            int trimWidth = width + borderRight + 2;
-            int trimHeight = height + borderBottom + 2;
-            return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-        } else {
-            int trimX = x - marginWidth - borderLeft;
-            int trimY = y - marginHeight - tabHeight - borderTop - 1;
-            // -1 is for the line at the bottom of the tabs
-            if (onBottom) {
-                trimY = y - marginHeight - borderTop;
-            }
-            int trimWidth = width + borderLeft + borderRight + 2 * marginWidth;
-            int trimHeight = height + borderTop + borderBottom + 2
-                    * marginHeight + tabHeight + 1;
-            return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-        }
-    }
-
-    /**
-     * Create the specified item at 'index'.
-     */
-    void createItem(CTabItem item, int index) {
-        if (0 > index || index > getItemCount()) {
-            SWT.error(SWT.ERROR_INVALID_RANGE);
-        }
-        // grow by one and rearrange the array.
-        CTabItem[] newItems = new CTabItem[items.length + 1];
-        System.arraycopy(items, 0, newItems, 0, index);
-        newItems[index] = item;
-        System.arraycopy(items, index, newItems, index + 1, items.length
-                - index);
-        items = newItems;
-
-        item.parent = this;
-
-        if (selectedIndex >= index) {
-            selectedIndex++;
-        }
-        if (items.length == 1) {
-            topTabIndex = 0;
-            resetTabSize(true);
-        } else {
-            setItemBounds();
-            showItem(item);
-        }
-
-        if (items.length == 1) {
-            redraw();
-        } else {
-            redrawTabArea(-1);
-        }
-    }
-
-    private void createArrowBar() {
-        // create arrow buttons for scrolling 
-        arrowBar = new ToolBar(this, SWT.FLAT);
-        arrowBar.setVisible(false);
-        arrowBar.setBackground(background);
-        ToolItem scrollLeft = new ToolItem(arrowBar, SWT.PUSH);
-        scrollLeft.setEnabled(false);
-        ToolItem scrollRight = new ToolItem(arrowBar, SWT.PUSH);
-        scrollRight.setEnabled(false);
-
-        scrollLeft.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                scroll_scrollLeft();
-            }
-        });
-        scrollRight.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                scroll_scrollRight();
-            }
-        });
-
-    }
-
-    private void createCloseBar() {
-        closeBar = new ToolBar(this, SWT.FLAT);
-        closeBar.setVisible(false);
-        if (gradientColors != null && gradientColors.length > 0) {
-            closeBar.setBackground(gradientColors[gradientColors.length - 1]);
-        } else {
-            closeBar.setBackground(background);
-        }
-        ToolItem closeItem = new ToolItem(closeBar, SWT.PUSH);
-
-        inactiveCloseBar = new ToolBar(this, SWT.FLAT);
-        inactiveCloseBar.setVisible(false);
-        inactiveCloseBar.setBackground(background);
-        ToolItem inactiveCloseItem = new ToolItem(inactiveCloseBar, SWT.PUSH);
-
-        closeItem.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                closeNotify(getSelection(), event.time);
-            }
-        });
-        inactiveCloseItem.addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                closeNotify(inactiveItem, event.time);
-                inactiveCloseBar.setVisible(false);
-                inactiveItem = null;
-            }
-        });
-        inactiveCloseBar.addListener(SWT.MouseExit, new Listener() {
-            public void handleEvent(Event event) {
-                if (inactiveItem != null) {
-                    Rectangle itemBounds = inactiveItem.getBounds();
-                    if (itemBounds.contains(event.x, event.y))
-                        return;
-                }
-                inactiveCloseBar.setVisible(false);
-                inactiveItem = null;
-            }
-        });
-
-    }
-
-    /**
-     * Destroy the specified item.
-     */
-    void destroyItem(CTabItem item) {
-        if (inDispose)
-            return;
-
-        int index = indexOf(item);
-        if (index == -1)
-            return; // should this trigger an error?
-
-        insertionIndex = -2;
-
-        if (items.length == 1) {
-            items = new CTabItem[0];
-            selectedIndex = -1;
-            topTabIndex = 0;
-
-            Control control = item.getControl();
-            if (control != null && !control.isDisposed()) {
-                control.setVisible(false);
-            }
-            closeBar.setVisible(false);
-            if (!fixedTabHeight)
-                tabHeight = 0;
-            redraw();
-            return;
-        }
-
-        // shrink by one and rearrange the array.
-        CTabItem[] newItems = new CTabItem[items.length - 1];
-        System.arraycopy(items, 0, newItems, 0, index);
-        System.arraycopy(items, index + 1, newItems, index, items.length
-                - index - 1);
-        items = newItems;
-
-        if (topTabIndex == items.length) {
-            --topTabIndex;
-        }
-
-        // move the selection if this item is selected
-        if (selectedIndex == index) {
-            Control control = item.getControl();
-            if (control != null && !control.isDisposed()) {
-                control.setVisible(false);
-            }
-            selectedIndex = -1;
-            setSelection(Math.max(0, index - 1), true);
-        } else if (selectedIndex > index) {
-            selectedIndex--;
-        }
-
-        setItemBounds();
-        redrawTabArea(-1);
-    }
-
-    private void onKeyDown(Event e) {
-        if (e.keyCode != SWT.ARROW_LEFT && e.keyCode != SWT.ARROW_RIGHT)
-            return;
-        int leadKey = (getStyle() & SWT.MIRRORED) != 0 ? SWT.ARROW_RIGHT
-                : SWT.ARROW_LEFT;
-        if (e.keyCode == leadKey) {
-            if (selectedIndex > 0) {
-                setSelection(selectedIndex - 1, true);
-            }
-        } else {
-            if (selectedIndex < items.length - 1) {
-                setSelection(selectedIndex + 1, true);
-            }
-        }
-    }
-
-    /**
-     * Dispose the items of the receiver
-     */
-    private void onDispose() {
-        /*
-         * Usually when an item is disposed, destroyItem will change the size of the items array, 
-         * reset the bounds of all the tabs and manage the widget associated with the tab.
-         * Since the whole folder is being disposed, this is not necessary.  For speed
-         * the inDispose flag is used to skip over this part of the item dispose.
-         */
-        inDispose = true;
-
-        int length = items.length;
-        for (int i = 0; i < length; i++) {
-            if (items[i] != null) {
-                items[i].dispose();
-            }
-        }
-
-        // clean up resources
-        if (tip != null && !tip.isDisposed()) {
-            tip.dispose();
-            tip = null;
-            label = null;
-        }
-
-        if (arrowLeftImage != null)
-            arrowLeftImage.dispose();
-        arrowLeftImage = null;
-        if (arrowRightImage != null)
-            arrowRightImage.dispose();
-        arrowRightImage = null;
-        if (closeImage != null)
-            closeImage.dispose();
-        closeImage = null;
-
-        gradientColors = null;
-        gradientPercents = null;
-        backgroundImage = null;
-
-        if (borderColor1 != null)
-            borderColor1.dispose();
-        borderColor1 = null;
-
-        if (borderColor2 != null)
-            borderColor2.dispose();
-        borderColor2 = null;
-
-        if (borderColor3 != null)
-            borderColor3.dispose();
-        borderColor3 = null;
-    }
-
-    private void onFocus(Event e) {
-        checkWidget();
-        if (selectedIndex >= 0) {
-            redrawTabArea(selectedIndex);
-        } else {
-            setSelection(0, true);
-        }
-    }
-
-    /** 
-     * Draw a border around the receiver.
-     */
-    private void drawBorder(GC gc) {
-
-        Rectangle d = super.getClientArea();
-
-        if (showBorders) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 1, d.y + d.height
-                        - 1);
-            } else {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 3, d.y + d.height
-                        - 3);
-
-                gc.setForeground(borderColor2);
-                gc.drawLine(d.x + 1, d.y + d.height - 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-                gc.drawLine(d.x + d.width - 2, d.y + 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-
-                gc.setForeground(borderColor3);
-                gc.drawLine(d.x + 2, d.y + d.height - 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-                gc.drawLine(d.x + d.width - 1, d.y + 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-
-                // fill in corners with parent's background
-                gc.setForeground(getParent().getBackground());
-                gc.drawLine(d.x + d.width - 2, d.y, d.x + d.width - 1, d.y);
-                gc.drawLine(d.x + d.width - 1, d.y + 1, d.x + d.width - 1,
-                        d.y + 1);
-
-                gc.drawLine(d.x, d.y + d.height - 2, d.x, d.y + d.height - 2);
-                gc.drawLine(d.x, d.y + d.height - 1, d.x + 1, d.y + d.height
-                        - 1);
-
-                gc.drawLine(d.x + d.width - 1, d.y + d.height - 1, d.x
-                        + d.width - 1, d.y + d.height - 1);
-            }
-
-        }
-
-        // draw a separator line
-        if (items.length > 0) {
-            int lineY = d.y + borderTop + tabHeight;
-            if (onBottom) {
-                lineY = d.y + d.height - borderBottom - tabHeight - 1;
-            }
-            gc.setForeground(borderColor1);
-            gc.drawLine(d.x + borderLeft, lineY, d.x + d.width - borderRight,
-                    lineY);
-        }
-
-        gc.setForeground(getForeground());
-    }
-
-    public Rectangle getClientArea() {
-        checkWidget();
-        Point size = getSize();
-        if (items.length == 0) {
-            if (!showBorders)
-                return super.getClientArea();
-            int width = size.x - borderRight - 2;
-            int height = size.y - borderBottom - 2;
-            return new Rectangle(borderRight + 1, borderBottom + 1, width,
-                    height);
-        } else {
-            int width = size.x - 2 * marginWidth - borderLeft - borderRight;
-            int height = size.y - 2 * marginHeight - borderTop - borderBottom
-                    - tabHeight - 1;
-            return new Rectangle(xClient, yClient, width, height);
-        }
-    }
-
-    /**
-     * Returns the height of the tab
-     * 
-     * @return the height of the tab
-     * 
-     * @exception SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *	</ul>
-     */
-    public int getTabHeight() {
-        checkWidget();
-        return tabHeight;
-    }
-
-    /**
-     * Return the tab that is located at the specified index.
-     * 
-     * @return the item at the specified index
-     */
-    public CTabItem getItem(int index) {
-        //checkWidget();
-        if (index < 0 || index >= items.length)
-            SWT.error(SWT.ERROR_INVALID_RANGE);
-        return items[index];
-    }
-
-    /**
-     * Gets the item at a point in the widget.
-     * <p>
-     *
-     * @return the item at a point
-     */
-    public CTabItem getItem(Point pt) {
-        //checkWidget();
-        if (items.length == 0)
-            return null;
-        int lastItem = getLastItem();
-        lastItem = Math.min(items.length - 1, lastItem + 1);
-        for (int i = topTabIndex; i <= lastItem; i++) {
-            Rectangle bounds = items[i].getBounds();
-            if (bounds.contains(pt))
-                return items[i];
-        }
-        return null;
-    }
-
-    /**
-     * Return the number of tabs in the folder.
-     * 
-     * @return the number of tabs in the folder
-     */
-    public int getItemCount() {
-        //checkWidget();
-        return items.length;
-    }
-
-    /**
-     * Return the tab items.
-     * 
-     * @return the tab items
-     */
-    public CTabItem[] getItems() {
-        //checkWidget();
-        CTabItem[] tabItems = new CTabItem[items.length];
-        System.arraycopy(items, 0, tabItems, 0, items.length);
-        return tabItems;
-    }
-
-    private int getLastItem() {
-        if (items.length == 0)
-            return -1;
-        Rectangle area = getClientArea();
-        if (area.width <= 0)
-            return 0;
-        Rectangle toolspace = getToolSpace();
-        if (toolspace.width == 0)
-            return items.length - 1;
-        int width = area.width - toolspace.width;
-        int index = topTabIndex;
-        int tabWidth = items[index].width;
-        while (index < items.length - 1) {
-            tabWidth += items[index + 1].width;
-            if (tabWidth > width)
-                break;
-            index++;
-        }
-        return index;
-    }
-
-    /**
-     * Return the selected tab item, or an empty array if there
-     * is no selection.
-     * 
-     * @return the selected tab item
-     */
-    public CTabItem getSelection() {
-        //checkWidget();
-        if (selectedIndex == -1)
-            return null;
-        return items[selectedIndex];
-    }
-
-    /**
-     * Return the index of the selected tab item, or -1 if there
-     * is no selection.
-     * 
-     * @return the index of the selected tab item or -1
-     */
-    public int getSelectionIndex() {
-        //checkWidget();
-        return selectedIndex;
-    }
-
-    private Rectangle getToolSpace() {
-        boolean showArrows = scroll_leftVisible() || scroll_rightVisible();
-        if (!showArrows && topRight == null)
-            return new Rectangle(0, 0, 0, 0);
-        Rectangle toolspace;
-        if (showArrows) {
-            toolspace = arrowBar.getBounds();
-            toolspace.width += borderRight;
-            if (topRight != null)
-                toolspace.width += topRight.getSize().x;
-        } else {
-            toolspace = topRight.getBounds();
-            toolspace.width += borderRight;
-        }
-        return toolspace;
-    }
-
-    /**
-     * Returns the control in the top right corner of the tab folder. 
-     * Typically this is a close button or a composite with a menu and close button.
-     *
-     * @since 2.1
-     *
-     * @return the control in the top right corner of the tab folder or null
-     * 
-     * @exception  SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *	</ul>
-     */
-    public Control getTopRight() {
-        checkWidget();
-        return topRight;
-    }
-
-    /**
-     * Return the index of the specified tab or -1 if the tab is not 
-     * in the receiver.
-     * 
-     * @return the index of the specified tab item or -1
-     * 
-     * @exception SWTError <ul>
-     *      <li>ERROR_NULL_ARGUMENT when the item is null</li>
-     *	</ul>
-     */
-    public int indexOf(CTabItem item) {
-        //checkWidget();
-        if (item == null) {
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        }
-        for (int i = 0; i < items.length; i++) {
-            if (items[i] == item)
-                return i;
-        }
-        return -1;
-    }
-
-    private void initAccessible() {
-        final Accessible accessible = getAccessible();
-        accessible.addAccessibleListener(new AccessibleAdapter() {
-            public void getName(AccessibleEvent e) {
-                String name = null;
-                int childID = e.childID;
-                if (childID >= 0 && childID < items.length) {
-                    name = items[childID].getText();
-                    int index = name.indexOf('&');
-                    if (index > 0) {
-                        name = name.substring(0, index)
-                                + name.substring(index + 1);
-                    }
-                }
-                e.result = name;
-            }
-
-            public void getHelp(AccessibleEvent e) {
-                String help = null;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    help = getToolTipText();
-                } else if (childID >= 0 && childID < items.length) {
-                    help = items[childID].getToolTipText();
-                }
-                e.result = help;
-            }
-
-            public void getKeyboardShortcut(AccessibleEvent e) {
-                String shortcut = null;
-                int childID = e.childID;
-                if (childID >= 0 && childID < items.length) {
-                    String text = items[childID].getText();
-                    if (text != null) {
-                        char mnemonic = getMnemonic(text);
-                        if (mnemonic != '\0') {
-                            shortcut = "Alt+" + mnemonic; //$NON-NLS-1$
-                        }
-                    }
-                }
-                e.result = shortcut;
-            }
-        });
-
-        accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
-            public void getChildAtPoint(AccessibleControlEvent e) {
-                Point testPoint = toControl(new Point(e.x, e.y));
-                int childID = ACC.CHILDID_NONE;
-                for (int i = 0; i < items.length; i++) {
-                    if (items[i].getBounds().contains(testPoint)) {
-                        childID = i;
-                        break;
-                    }
-                }
-                if (childID == ACC.CHILDID_NONE) {
-                    Rectangle location = getBounds();
-                    location.height = location.height - getClientArea().height;
-                    if (location.contains(testPoint)) {
-                        childID = ACC.CHILDID_SELF;
-                    }
-                }
-                e.childID = childID;
-            }
-
-            public void getLocation(AccessibleControlEvent e) {
-                Rectangle location = null;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    location = getBounds();
-                }
-                if (childID >= 0 && childID < items.length) {
-                    location = items[childID].getBounds();
-                }
-                if (location != null) {
-                    Point pt = toDisplay(new Point(location.x, location.y));
-                    e.x = pt.x;
-                    e.y = pt.y;
-                    e.width = location.width;
-                    e.height = location.height;
-                }
-            }
-
-            public void getChildCount(AccessibleControlEvent e) {
-                e.detail = items.length;
-            }
-
-            public void getDefaultAction(AccessibleControlEvent e) {
-                String action = null;
-                int childID = e.childID;
-                if (childID >= 0 && childID < items.length) {
-                    action = "Switch"; //$NON-NLS-1$
-                }
-                e.result = action;
-            }
-
-            public void getFocus(AccessibleControlEvent e) {
-                int childID = ACC.CHILDID_NONE;
-                if (isFocusControl()) {
-                    if (selectedIndex == -1) {
-                        childID = ACC.CHILDID_SELF;
-                    } else {
-                        childID = selectedIndex;
-                    }
-                }
-                e.childID = childID;
-            }
-
-            public void getRole(AccessibleControlEvent e) {
-                int role = 0;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    role = ACC.ROLE_TABFOLDER;
-                } else if (childID >= 0 && childID < items.length) {
-                    role = ACC.ROLE_TABITEM;
-                }
-                e.detail = role;
-            }
-
-            public void getSelection(AccessibleControlEvent e) {
-                e.childID = (selectedIndex == -1) ? ACC.CHILDID_NONE
-                        : selectedIndex;
-            }
-
-            public void getState(AccessibleControlEvent e) {
-                int state = 0;
-                int childID = e.childID;
-                if (childID == ACC.CHILDID_SELF) {
-                    state = ACC.STATE_NORMAL;
-                } else if (childID >= 0 && childID < items.length) {
-                    state = ACC.STATE_SELECTABLE;
-                    if (isFocusControl()) {
-                        state |= ACC.STATE_FOCUSABLE;
-                    }
-                    if (selectedIndex == childID) {
-                        state |= ACC.STATE_SELECTED;
-                        if (isFocusControl()) {
-                            state |= ACC.STATE_FOCUSED;
-                        }
-                    }
-                }
-                e.detail = state;
-            }
-
-            public void getChildren(AccessibleControlEvent e) {
-                Object[] children = new Object[items.length];
-                for (int i = 0; i < items.length; i++) {
-                    children[i] = new Integer(i);
-                }
-                e.children = children;
-            }
-        });
-
-        addListener(SWT.Selection, new Listener() {
-            public void handleEvent(Event event) {
-                if (isFocusControl()) {
-                    if (selectedIndex == -1) {
-                        accessible.setFocus(ACC.CHILDID_SELF);
-                    } else {
-                        accessible.setFocus(selectedIndex);
-                    }
-                }
-            }
-        });
-
-        addListener(SWT.FocusIn, new Listener() {
-            public void handleEvent(Event event) {
-                if (selectedIndex == -1) {
-                    accessible.setFocus(ACC.CHILDID_SELF);
-                } else {
-                    accessible.setFocus(selectedIndex);
-                }
-            }
-        });
-    }
-
-    private void setButtonBounds() {
-
-        updateArrowBar();
-        updateCloseBar();
-
-        Rectangle area = super.getClientArea();
-
-        int offset = 0;
-        if (topRight != null) {
-            Point size = topRight.computeSize(SWT.DEFAULT, tabHeight);
-            int x = area.x + area.width - borderRight - size.x;
-            int y = onBottom ? area.y + area.height - borderBottom - size.y
-                    : area.y + borderTop;
-            topRight.setBounds(x, y, size.x, size.y);
-            offset = size.x;
-        }
-        boolean leftVisible = scroll_leftVisible();
-        boolean rightVisible = scroll_rightVisible();
-        if (leftVisible || rightVisible) {
-            Point size = arrowBar.computeSize(SWT.DEFAULT, tabHeight);
-            int x = area.x + area.width - borderRight - size.x - offset;
-            int y = (onBottom) ? area.y + area.height - borderBottom - size.y
-                    : area.y + borderTop;
-
-            arrowBar.setBounds(x, y, size.x, size.y);
-            ToolItem[] items = arrowBar.getItems();
-            items[0].setEnabled(leftVisible);
-            items[1].setEnabled(rightVisible);
-            arrowBar.setVisible(true);
-        } else {
-            arrowBar.setVisible(false);
-        }
-
-        // When the close button is right at the edge of the Tab folder, hide it because
-        // otherwise it may block off a part of the border on the right
-        if (showClose) {
-            inactiveCloseBar.setVisible(false);
-            CTabItem item = getSelection();
-            if (item == null) {
-                closeBar.setVisible(false);
-            } else {
-                int toolbarHeight = tabHeight - CTabItem.TOP_MARGIN
-                        - CTabItem.BOTTOM_MARGIN + 2; // +2 to ignore gap between focus rectangle
-                Point size = closeBar.computeSize(SWT.DEFAULT, toolbarHeight);
-                int x = item.x + item.width - size.x - 2; // -2 to not overlap focus rectangle and trim
-                int y = item.y + Math.max(0, (item.height - toolbarHeight) / 2);
-                closeBar.setBounds(x, y, size.x, toolbarHeight);
-                Rectangle toolspace = getToolSpace();
-                Point folderSize = getSize();
-                boolean visible = (toolspace.width == 0 || x < toolspace.x)
-                        && x + size.x < folderSize.x - borderRight;
-                closeBar.setVisible(visible);
-            }
-        }
-    }
-
-    private boolean setItemLocation() {
-        if (items.length == 0)
-            return false;
-        Rectangle area = super.getClientArea();
-        int x = area.x;
-        int y = area.y + borderTop;
-        if (onBottom)
-            y = Math.max(0, area.y + area.height - borderBottom - tabHeight);
-
-        boolean changed = false;
-        for (int i = topTabIndex - 1; i >= 0; i--) {
-            // if the first visible tab is not the first tab
-            CTabItem tab = items[i];
-            x -= tab.width;
-            if (!changed && (tab.x != x || tab.y != y))
-                changed = true;
-            // layout tab items from right to left thus making them invisible
-            tab.x = x;
-            tab.y = y;
-        }
-
-        x = area.x + borderLeft;
-        for (int i = topTabIndex; i < items.length; i++) {
-            // continue laying out remaining, visible items left to right 
-            CTabItem tab = items[i];
-            tab.x = x;
-            tab.y = y;
-            x = x + tab.width;
-        }
-        setButtonBounds();
-        return changed;
-    }
-
-    private void setLastItem(int index) {
-        if (index < 0 || index > items.length - 1)
-            return;
-        Rectangle area = getClientArea();
-        if (area.width <= 0)
-            return;
-        int maxWidth = area.width;
-        Rectangle toolspace = getToolSpace();
-        if (toolspace.width > 0) {
-            maxWidth -= toolspace.width;
-        }
-        int tabWidth = items[index].width;
-        while (index > 0) {
-            tabWidth += items[index - 1].width;
-            if (tabWidth > maxWidth)
-                break;
-            index--;
-        }
-        topTabIndex = index;
-        setItemLocation();
-        redrawTabArea(-1);
-    }
-
-    /**
-     * Layout the items and store the client area size.
-     */
-    boolean setItemBounds() {
-        boolean changed = false;
-        if (isDisposed())
-            return changed;
-        Rectangle area = super.getClientArea();
-
-        xClient = area.x + borderLeft + marginWidth;
-        if (onBottom) {
-            yClient = area.y + borderTop + marginHeight;
-        } else {
-            yClient = area.y + borderTop + tabHeight + 1 + marginHeight;
-            // +1 is for the line at the bottom of the tabs
-        }
-
-        if (area.width <= 0 || area.height <= 0 || items.length == 0)
-            return changed;
-
-        int[] widths = new int[items.length];
-        GC gc = new GC(this);
-        for (int i = 0; i < items.length; i++) {
-            widths[i] = items[i].preferredWidth(gc);
-        }
-        gc.dispose();
-
-        int oldAverageWidth = 0;
-        int averageWidth = (area.width - borderLeft - borderRight)
-                / items.length;
-        while (averageWidth > oldAverageWidth) {
-            int width = area.width - borderLeft - borderRight;
-            int count = items.length;
-            for (int i = 0; i < items.length; i++) {
-                if (widths[i] < averageWidth) {
-                    width -= widths[i];
-                    count--;
-                }
-            }
-            oldAverageWidth = averageWidth;
-            if (count > 0) {
-                averageWidth = width / count;
-            }
-        }
-        averageWidth = Math.max(averageWidth, MIN_TAB_WIDTH * tabHeight);
-        for (int i = 0; i < items.length; i++) {
-            if (widths[i] > averageWidth) {
-                widths[i] = averageWidth;
-            }
-        }
-
-        int totalWidth = 0;
-        for (int i = 0; i < items.length; i++) {
-            CTabItem tab = items[i];
-            if (tab.height != tabHeight || tab.width != widths[i])
-                changed = true;
-            tab.height = tabHeight;
-            tab.width = widths[i];
-            totalWidth += widths[i];
-        }
-
-        int areaWidth = area.x + area.width - borderRight;
-        if (totalWidth <= areaWidth) {
-            topTabIndex = 0;
-        }
-        if (setItemLocation())
-            changed = true;
-
-        // Is there a gap after last item showing
-        if (correctLastItem())
-            changed = true;
-        return changed;
-    }
-
-    private boolean onMnemonic(Event event) {
-        char key = event.character;
-        for (int i = 0; i < items.length; i++) {
-            if (items[i] != null) {
-                char mnemonic = getMnemonic(items[i].getText());
-                if (mnemonic != '\0') {
-                    if (Character.toUpperCase(key) == Character
-                            .toUpperCase(mnemonic)) {
-                        setSelection(i, true);
-                        return true;
-                    }
-                }
-            }
-        }
-        return false;
-    }
-
-    /** 
-     * Paint the receiver.
-     */
-    private void onPaint(Event event) {
-        Font font = getFont();
-        if (oldFont == null || !oldFont.equals(font)) {
-            oldFont = font;
-            resetTabSize(true);
-        }
-        GC gc = event.gc;
-        Rectangle rect = super.getClientArea();
-        if (items.length == 0) {
-            if (showBorders) {
-                if ((getStyle() & SWT.FLAT) != 0) {
-                    gc.setForeground(borderColor1);
-                    gc.drawRectangle(rect.x, rect.y, rect.x + rect.width - 1,
-                            rect.y + rect.height - 1);
-                } else {
-                    gc.setForeground(borderColor1);
-                    gc.drawRectangle(rect.x, rect.y, rect.x + rect.width - 3,
-                            rect.y + rect.height - 3);
-
-                    // fill in right and bottom edges with parent's background
-                    gc.setBackground(getParent().getBackground());
-                    gc.fillRectangle(rect.x + rect.width - 2, rect.y, 2,
-                            rect.height);
-                    gc.fillRectangle(rect.x, rect.y + rect.height - 2,
-                            rect.width, 2);
-                }
-                gc.setForeground(getForeground());
-            }
-            return;
-        }
-
-        // redraw the Border
-        drawBorder(gc);
-
-        rect.x += borderLeft;
-        rect.y += borderTop;
-        rect.width -= borderLeft + borderRight;
-        rect.height -= borderTop + borderBottom;
-        Rectangle clip = gc.getClipping();
-        gc.setClipping(clip.intersection(rect));
-
-        // Draw the unselected tabs first.
-        for (int i = 0; i < items.length; i++) {
-            if (i != selectedIndex
-                    && event.getBounds().intersects(items[i].getBounds())) {
-                items[i].onPaint(gc, false);
-            }
-        }
-        // Selected tab comes last
-        if (selectedIndex != -1) {
-            items[selectedIndex].onPaint(gc, true);
-        }
-
-        // draw insertion mark
-        if (insertionIndex > -2) {
-            gc.setForeground(getDisplay().getSystemColor(
-                    SWT.COLOR_LIST_SELECTION));
-            if (insertionIndex == -1) {
-                Rectangle bounds = items[0].getBounds();
-                gc.drawLine(bounds.x, bounds.y, bounds.x, bounds.y
-                        + bounds.height - 1);
-                gc.drawLine(bounds.x - 2, bounds.y, bounds.x + 2, bounds.y);
-                gc.drawLine(bounds.x - 1, bounds.y + 1, bounds.x + 1,
-                        bounds.y + 1);
-                gc.drawLine(bounds.x - 1, bounds.y + bounds.height - 2,
-                        bounds.x + 1, bounds.y + bounds.height - 2);
-                gc.drawLine(bounds.x - 2, bounds.y + bounds.height - 1,
-                        bounds.x + 2, bounds.y + bounds.height - 1);
-
-            } else {
-                Rectangle bounds = items[insertionIndex].getBounds();
-                gc.drawLine(bounds.x + bounds.width, bounds.y, bounds.x
-                        + bounds.width, bounds.y + bounds.height - 1);
-                gc.drawLine(bounds.x + bounds.width - 2, bounds.y, bounds.x
-                        + bounds.width + 2, bounds.y);
-                gc.drawLine(bounds.x + bounds.width - 1, bounds.y + 1, bounds.x
-                        + bounds.width + 1, bounds.y + 1);
-                gc.drawLine(bounds.x + bounds.width - 1, bounds.y
-                        + bounds.height - 2, bounds.x + bounds.width + 1,
-                        bounds.y + bounds.height - 2);
-                gc.drawLine(bounds.x + bounds.width - 2, bounds.y
-                        + bounds.height - 1, bounds.x + bounds.width + 2,
-                        bounds.y + bounds.height - 1);
-            }
-        }
-
-        gc.setForeground(getForeground());
-        gc.setBackground(getBackground());
-    }
-
-    private void redrawTabArea(int index) {
-        int x = 0, y = 0, width = 0, height = 0;
-        if (index == -1) {
-            Rectangle area = super.getClientArea();
-            if (area.width == 0 || area.height == 0)
-                return;
-            width = area.x + area.width - borderLeft - borderRight;
-            height = tabHeight + 1; // +1 causes top line between content and tabs to be redrawn
-            x = area.x + borderLeft;
-            y = area.y + borderTop;
-            if (onBottom) {
-                y = Math.max(0, area.y + area.height - borderBottom - height);
-            }
-        } else {
-            CTabItem item = items[index];
-            x = item.x;
-            y = item.y;
-            Rectangle area = super.getClientArea();
-            width = area.x + area.width - x;
-            height = item.height;
-        }
-        redraw(x, y, width, height, false);
-    }
-
-    /**	 
-     * Removes the listener.
-     *
-     * @param listener the listener
-     *
-     * @exception SWTError
-     *	<ul><li>ERROR_THREAD_INVALID_ACCESS	when called from the wrong thread</li>
-     * 		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     * 		<li>ERROR_NULL_ARGUMENT when listener is null</li></ul>
-     */
-    public void removeSelectionListener(SelectionListener listener) {
-        checkWidget();
-        if (listener == null) {
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        }
-        removeListener(SWT.Selection, listener);
-        removeListener(SWT.DefaultSelection, listener);
-    }
-
-    /**	 
-     * Removes the listener.
-     *
-     * @param listener the listener
-     *
-     * @exception SWTError
-     *	<ul><li>ERROR_THREAD_INVALID_ACCESS	when called from the wrong thread</li>
-     * 		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     * 		<li>ERROR_NULL_ARGUMENT when listener is null</li></ul>
-     */
-    public void removeCTabFolderListener(CTabFolderListener listener) {
-        checkWidget();
-        if (listener == null)
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        if (tabListeners.length == 0)
-            return;
-        int index = -1;
-        for (int i = 0; i < tabListeners.length; i++) {
-            if (listener == tabListeners[i]) {
-                index = i;
-                break;
-            }
-        }
-        if (index == -1)
-            return;
-        if (tabListeners.length == 1) {
-            tabListeners = new CTabFolderListener[0];
-            showClose = false;
-            setButtonBounds();
-            return;
-        }
-        CTabFolderListener[] newTabListeners = new CTabFolderListener[tabListeners.length - 1];
-        System.arraycopy(tabListeners, 0, newTabListeners, 0, index);
-        System.arraycopy(tabListeners, index + 1, newTabListeners, index,
-                tabListeners.length - index - 1);
-        tabListeners = newTabListeners;
-    }
-
-    /**
-     * The widget was resized. Adjust the size of the currently selected page.
-     */
-    private void onResize() {
-
-        if (items.length == 0) {
-            redraw();
-            return;
-        }
-
-        if (setItemBounds()) {
-            redrawTabArea(-1);
-        }
-
-        Point size = getSize();
-        if (oldSize == null) {
-            redraw();
-        } else {
-            if (onBottom && size.y != oldSize.y) {
-                redraw();
-            } else {
-                int x1 = Math.min(size.x, oldSize.x);
-                if (size.x != oldSize.x)
-                    x1 -= 10;
-                int y1 = Math.min(size.y, oldSize.y);
-                if (size.y != oldSize.y)
-                    y1 -= 10;
-                int x2 = Math.max(size.x, oldSize.x);
-                int y2 = Math.max(size.y, oldSize.y);
-                redraw(0, y1, x2 + 10, y2 - y1, false);
-                redraw(x1, 0, x2 - x1, y2, false);
-            }
-        }
-        oldSize = size;
-
-        // resize content
-        if (selectedIndex != -1) {
-            Control control = items[selectedIndex].getControl();
-            if (control != null && !control.isDisposed()) {
-                control.setBounds(getClientArea());
-            }
-        }
-    }
-
-    public void setBackground(Color color) {
-        super.setBackground(color);
-        background = color;
-        // init inactive close button
-        inactiveCloseBar.setBackground(color);
-
-        // init scroll buttons
-        arrowBar.setBackground(color);
-
-        //init topRight control
-        if (topRight != null)
-            topRight.setBackground(color);
-
-        // init close button
-        if (gradientColors == null) {
-            closeBar.setBackground(color);
-        }
-    }
-
-    /**
-     * Specify a gradient of colours to be draw in the background of the selected tab.
-     * For example to draw a gradient that varies from dark blue to blue and then to
-     * white, use the following call to setBackground:
-     * <pre>
-     *	cfolder.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE), 
-     *		                           display.getSystemColor(SWT.COLOR_BLUE),
-     *		                           display.getSystemColor(SWT.COLOR_WHITE), 
-     *		                           display.getSystemColor(SWT.COLOR_WHITE)},
-     *		               new int[] {25, 50, 100});
-     * </pre>
-     *
-     * @param colors an array of Color that specifies the colors to appear in the gradient 
-     *               in order of appearance left to right.  The value <code>null</code> clears the
-     *               background gradient. The value <code>null</code> can be used inside the array of 
-     *               Color to specify the background color.
-     * @param percents an array of integers between 0 and 100 specifying the percent of the width 
-     *                 of the widget at which the color should change.  The size of the percents array must be one 
-     *                 less than the size of the colors array.
-     * 
-     * @exception SWTError <ul>
-     *		<li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
-     *		<li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
-     *	</ul>
-     */
-
-    public void setSelectionBackground(Color[] colors, int[] percents) {
-        checkWidget();
-        if (colors != null) {
-            if (percents == null || percents.length != colors.length - 1) {
-                SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-            }
-            if (getDisplay().getDepth() < 15) {
-                // Don't use gradients on low color displays
-                colors = new Color[] { colors[0] };
-                percents = new int[] {};
-            }
-            for (int i = 0; i < percents.length; i++) {
-                if (percents[i] < 0 || percents[i] > 100) {
-                    SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-                }
-                if (i > 0 && percents[i] < percents[i - 1]) {
-                    SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-                }
-            }
-        }
-
-        // Are these settings the same as before?
-        if (backgroundImage == null) {
-            if ((gradientColors != null) && (colors != null)
-                    && (gradientColors.length == colors.length)) {
-                boolean same = false;
-                for (int i = 0; i < gradientColors.length; i++) {
-                    if (gradientColors[i] == null) {
-                        same = colors[i] == null;
-                    } else {
-                        same = gradientColors[i].equals(colors[i]);
-                    }
-                    if (!same)
-                        break;
-                }
-                if (same) {
-                    for (int i = 0; i < gradientPercents.length; i++) {
-                        same = gradientPercents[i] == percents[i];
-                        if (!same)
-                            break;
-                    }
-                }
-                if (same)
-                    return;
-            }
-        } else {
-            backgroundImage = null;
-        }
-        // Store the new settings
-        if (colors == null) {
-            gradientColors = null;
-            gradientPercents = null;
-            closeBar.setBackground(background);
-        } else {
-            gradientColors = new Color[colors.length];
-            for (int i = 0; i < colors.length; ++i)
-                gradientColors[i] = colors[i];
-            gradientPercents = new int[percents.length];
-            for (int i = 0; i < percents.length; ++i)
-                gradientPercents[i] = percents[i];
-            if (getDisplay().getDepth() < 15)
-                closeBar.setBackground(background);
-            else
-                closeBar
-                        .setBackground(gradientColors[gradientColors.length - 1]);
-        }
-
-        // Refresh with the new settings
-        if (selectedIndex > -1)
-            redrawTabArea(selectedIndex);
-    }
-
-    /**
-     * Set the image to be drawn in the background of the selected tab.
-     * 
-     * @param image the image to be drawn in the background
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelectionBackground(Image image) {
-        checkWidget();
-        if (image == backgroundImage)
-            return;
-        if (image != null) {
-            gradientColors = null;
-            gradientPercents = null;
-        }
-        backgroundImage = image;
-        redrawTabArea(selectedIndex);
-    }
-
-    /**
-     * Toggle the visibility of the border
-     * 
-     * @param show true if the border should be displayed
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setBorderVisible(boolean show) {
-        checkWidget();
-        //	if (showBorders == show) return;
-
-        showBorders = show;
-        if (showBorders) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                borderBottom = borderTop = borderLeft = borderRight = 1;
-            } else {
-                borderLeft = borderTop = 1;
-                borderRight = borderBottom = 3;
-            }
-        } else {
-            borderBottom = borderTop = borderLeft = borderRight = 0;
-        }
-        oldSize = null;
-        notifyListeners(SWT.Resize, new Event());
-    }
-
-    public void setFont(Font font) {
-        checkWidget();
-        if (font != null && font.equals(getFont()))
-            return;
-        super.setFont(font);
-        oldFont = getFont();
-        resetTabSize(true);
-    }
-
-    /**
-     * Set the foreground color of the selected tab.
-     * 
-     * @param color the color of the text displayed in the selected tab
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelectionForeground(Color color) {
-        checkWidget();
-        if (selectionForeground == color)
-            return;
-        if (color == null)
-            color = getForeground();
-        selectionForeground = color;
-        if (selectedIndex > -1) {
-            redrawTabArea(selectedIndex);
-        }
-    }
-
-    /**
-     * Display an insert marker before or after the specified tab item. 
-     * 
-     * A value of null will clear the mark.
-     * 
-     * @param item the item with which the mark is associated or null
-     * 
-     * @param after true if the mark should be displayed after the specified item
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setInsertMark(CTabItem item, boolean after) {
-        checkWidget();
-        int index = -1;
-        if (item != null) {
-            index = indexOf(item);
-        }
-        setInsertMark(index, after);
-    }
-
-    /**
-     * Display an insert marker before or after the specified tab item.
-     * 
-     * A value of -1 will clear the mark.
-     * 
-     * @param index the index of the item with which the mark is associated or null
-     * 
-     * @param after true if the mark should be displayed after the specified item
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setInsertMark(int index, boolean after) {
-        checkWidget();
-        if (index < -1 || index >= getItemCount()) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-
-        if (index == -1) {
-            index = -2;
-        } else {
-            index = after ? index : --index;
-        }
-
-        if (insertionIndex == index)
-            return;
-        int oldIndex = insertionIndex;
-        insertionIndex = index;
-        if (index > -1)
-            redrawTabArea(index);
-        if (oldIndex > 1)
-            redrawTabArea(oldIndex);
-    }
-
-    /**
-     * Set the selection to the tab at the specified index.
-     * 
-     * @param index the index of the tab item to be selected
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setSelection(int index) {
-        checkWidget();
-        if (index < 0 || index >= items.length)
-            return;
-        if (selectedIndex == index)
-            return;
-
-        int oldIndex = selectedIndex;
-        selectedIndex = index;
-
-        Control control = items[index].control;
-        if (control != null && !control.isDisposed()) {
-            control.setBounds(getClientArea());
-            control.setVisible(true);
-        }
-
-        if (oldIndex != -1) {
-            control = items[oldIndex].control;
-            if (control != null && !control.isDisposed()) {
-                control.setVisible(false);
-            }
-        }
-        showItem(items[selectedIndex]);
-        setButtonBounds();
-        redrawTabArea(-1);
-    }
-
-    /**
-     * Set the control that appears in the top right corner of the tab folder.
-     * Typically this is a close button or a composite with a Menu and close button. 
-     * The topRight control is optional.  Setting the top right control to null will remove it from the tab folder.
-     *
-     * @since 2.1
-     * 
-     * @param control the control to be displayed in the top right corner or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this CTabFolder</li>
-     * </ul>
-     */
-    public void setTopRight(Control control) {
-        checkWidget();
-        if (control != null && control.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        topRight = control;
-        resetTabSize(true);
-    }
-
-    /**
-     * Shows the item.  If the item is already showing in the receiver,
-     * this method simply returns.  Otherwise, the items are scrolled until
-     * the item is visible.
-     *
-     * @param item the item to be shown
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the item is null</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the item has been disposed</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see CTabFolder#showSelection()
-     * 
-     * @since 2.0
-     */
-    public void showItem(CTabItem item) {
-        checkWidget();
-        if (item == null)
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        if (item.isDisposed())
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-
-        int index = indexOf(item);
-        if (index < topTabIndex) {
-            topTabIndex = index;
-            setItemLocation();
-            redrawTabArea(-1);
-            return;
-        }
-        Rectangle area = getClientArea();
-        if (area.width <= 0) {
-            topTabIndex = index;
-            return;
-        }
-        int rightEdge = area.x + area.width;
-        Rectangle rect = getToolSpace();
-        if (rect.width > 0) {
-            rightEdge -= rect.width;
-        }
-        if (item.x + item.width < rightEdge)
-            return;
-        setLastItem(index);
-    }
-
-    /**
-     * Shows the selection.  If the selection is already showing in the receiver,
-     * this method simply returns.  Otherwise, the items are scrolled until
-     * the selection is visible.
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     *
-     * @see CTabFolder#showItem(CTabItem)
-     * 
-     * @since 2.0
-     * 
-     */
-    public void showSelection() {
-        checkWidget();
-        if (selectedIndex != -1) {
-            showItem(getSelection());
-        }
-    }
-
-    char getMnemonic(String string) {
-        int index = 0;
-        int length = string.length();
-        do {
-            while ((index < length) && (string.charAt(index) != '&'))
-                index++;
-            if (++index >= length)
-                return '\0';
-            if (string.charAt(index) != '&')
-                return string.charAt(index);
-            index++;
-        } while (index < length);
-        return '\0';
-    }
-
-    /**
-     * Set the selection to the tab at the specified item.
-     * 
-     * @param item the tab item to be selected
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_NULL_ARGUMENT - if argument is null</li>
-     * </ul>
-     */
-    public void setSelection(CTabItem item) {
-        checkWidget();
-        if (item == null)
-            SWT.error(SWT.ERROR_NULL_ARGUMENT);
-        int index = indexOf(item);
-        setSelection(index);
-    }
-
-    /**
-     * Set the selection to the tab at the specified index.
-     */
-    private void setSelection(int index, boolean notify) {
-        int oldSelectedIndex = selectedIndex;
-        setSelection(index);
-        if (notify && selectedIndex != oldSelectedIndex && selectedIndex != -1) {
-            Event event = new Event();
-            event.item = getItem(selectedIndex);
-            notifyListeners(SWT.Selection, event);
-        }
-    }
-
-    private Image scaleImage(Image image, int oldSize, int newSize) {
-        Display display = getDisplay();
-        Color foreground = getForeground();
-        Color black = display.getSystemColor(SWT.COLOR_BLACK);
-        Color background = getBackground();
-        PaletteData palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        ImageData imageData = new ImageData(newSize, newSize, 4, palette);
-        imageData.transparentPixel = 1;
-        Image temp = new Image(display, imageData);
-        GC gc = new GC(temp);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, newSize, newSize);
-        gc.drawImage(image, 0, 0, oldSize, oldSize, 0, 0, newSize, newSize);
-        gc.dispose();
-        return temp;
-    }
-
-    private void updateCloseBar() {
-        //Temporary code - need a better way to determine toolBar trim
-        int toolbarTrim = 4;
-        String platform = SWT.getPlatform();
-        if ("photon".equals(platform))toolbarTrim = 6; //$NON-NLS-1$
-        if ("gtk".equals(platform))toolbarTrim = 8; //$NON-NLS-1$
-
-        int maxHeight = tabHeight - CTabItem.TOP_MARGIN
-                - CTabItem.BOTTOM_MARGIN - toolbarTrim;
-        if (maxHeight < 3)
-            return;
-        int imageHeight = (maxHeight < 9) ? 9 : maxHeight;
-
-        if (closeImage != null && closeImage.getBounds().height == imageHeight)
-            return;
-
-        if (closeBar != null)
-            closeBar.dispose();
-        closeBar = null;
-        if (inactiveCloseBar != null)
-            inactiveCloseBar.dispose();
-        inactiveCloseBar = null;
-        createCloseBar();
-
-        ToolItem closeItem = closeBar.getItems()[0];
-        ToolItem inactiveCloseItem = inactiveCloseBar.getItems()[0];
-
-        if (closeImage != null)
-            closeImage.dispose();
-
-        Display display = getDisplay();
-        Color foreground = getForeground();
-        Color black = display.getSystemColor(SWT.COLOR_BLACK);
-        Color background = getBackground();
-
-        PaletteData palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        ImageData imageData = new ImageData(imageHeight, imageHeight, 4,
-                palette);
-        imageData.transparentPixel = 1;
-        closeImage = new Image(display, imageData);
-        GC gc = new GC(closeImage);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, imageHeight, imageHeight);
-        gc.setForeground(black);
-
-        //draw an 9x8 'x' centered in image
-        int h = (imageHeight / 2) * 2;
-        int inset = (h - 8) / 2;
-        gc.drawLine(inset, inset, h - inset - 1, h - inset - 1);
-        gc.drawLine(inset + 1, inset, h - inset, h - inset - 1);
-        gc.drawLine(inset, h - inset - 1, h - inset - 1, inset);
-        gc.drawLine(inset + 1, h - inset - 1, h - inset, inset);
-
-        gc.dispose();
-
-        if (maxHeight < imageHeight) {
-            //rescale image
-            Image temp = scaleImage(closeImage, imageHeight, maxHeight);
-            closeImage.dispose();
-            closeImage = temp;
-        }
-        closeItem.setImage(closeImage);
-        inactiveCloseItem.setImage(closeImage);
-    }
-
-    private void updateArrowBar() {
-        //Temporary code - need a better way to determine toolBar trim
-        int toolbarTrim = 4;
-        String platform = SWT.getPlatform();
-        if ("photon".equals(platform))toolbarTrim = 6; //$NON-NLS-1$
-        if ("gtk".equals(platform))toolbarTrim = 8; //$NON-NLS-1$
-
-        int maxHeight = tabHeight - toolbarTrim;
-        if (maxHeight < 3)
-            return;
-        int imageHeight = (maxHeight < 9) ? 9 : maxHeight;
-
-        if (arrowLeftImage != null
-                && arrowLeftImage.getBounds().height == imageHeight)
-            return;
-
-        if (arrowBar != null)
-            arrowBar.dispose();
-        arrowBar = null;
-        if (arrowLeftImage != null)
-            arrowLeftImage.dispose();
-        if (arrowRightImage != null)
-            arrowRightImage.dispose();
-
-        createArrowBar();
-        ToolItem[] items = arrowBar.getItems();
-        ToolItem left = items[0];
-        ToolItem right = items[1];
-
-        Display display = getDisplay();
-        Color foreground = getForeground();
-        Color black = display.getSystemColor(SWT.COLOR_BLACK);
-        Color background = getBackground();
-
-        PaletteData palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        ImageData imageData = new ImageData(7, imageHeight, 4, palette);
-        imageData.transparentPixel = 1;
-        arrowLeftImage = new Image(display, imageData);
-        GC gc = new GC(arrowLeftImage);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, 7, imageHeight);
-        gc.setBackground(black);
-        //draw a 9x5 '<' centered vertically in image
-        int h = (imageHeight / 2) * 2;
-        int midpoint = h / 2 - 1;
-        int[] pointArr = new int[] { 6, midpoint - 5, 1, midpoint, 6,
-                midpoint + 5, };
-        gc.fillPolygon(pointArr);
-        gc.dispose();
-
-        palette = new PaletteData(new RGB[] { foreground.getRGB(),
-                background.getRGB(), black.getRGB() });
-        imageData = new ImageData(7, imageHeight, 4, palette);
-        imageData.transparentPixel = 1;
-        arrowRightImage = new Image(display, imageData);
-        gc = new GC(arrowRightImage);
-        gc.setBackground(background);
-        gc.fillRectangle(0, 0, 7, imageHeight);
-        gc.setBackground(black);
-        //draw a 9x5 '>' centered vertically in image
-        pointArr = new int[] { 1, midpoint - 5, 6, midpoint, 1, midpoint + 5, };
-        gc.fillPolygon(pointArr);
-        gc.dispose();
-
-        if (maxHeight < imageHeight) {
-            //rescale image
-            Image leftTemp = scaleImage(arrowLeftImage, imageHeight, maxHeight);
-            arrowLeftImage.dispose();
-            arrowLeftImage = leftTemp;
-
-            Image rightTemp = scaleImage(arrowRightImage, imageHeight,
-                    maxHeight);
-            arrowRightImage.dispose();
-            arrowRightImage = rightTemp;
-        }
-        left.setImage(arrowLeftImage);
-        right.setImage(arrowRightImage);
-    }
-
-    private void onMouseDoubleClick(Event event) {
-        Event e = new Event();
-        e.item = getItem(new Point(event.x, event.y));
-        notifyListeners(SWT.DefaultSelection, e);
-    }
-
-    /** 
-     * A mouse button was pressed down. 
-     * If a tab was hit select the tab.
-     */
-    private void onMouseDown(Event event) {
-        for (int i = 0; i < items.length; i++) {
-            if (items[i].getBounds().contains(new Point(event.x, event.y))) {
-                if (i == selectedIndex) {
-                    showSelection();
-                    return;
-                }
-                forceFocus();
-                setSelection(i, true);
-                if (isFocusControl())
-                    setFocus();
-                return;
-            }
-        }
-    }
-
-    private void onMouseExit(Event event) {
-        Rectangle inactiveBounds = inactiveCloseBar.getBounds();
-        if (inactiveBounds.contains(event.x, event.y))
-            return;
-        inactiveCloseBar.setVisible(false);
-        inactiveItem = null;
-
-        showToolTip = false;
-        toolTipItem = null;
-        if (tip != null && !tip.isDisposed() && tip.isVisible())
-            tip.setVisible(false);
-    }
-
-    private void onMouseHover(Event event) {
-        if (tip == null || tip.isDisposed())
-            return;
-        showToolTip = true;
-        showToolTip(event.x, event.y);
-    }
-
-    private void showToolTip(int x, int y) {
-        CTabItem item = getItem(new Point(x, y));
-        if (item != null) {
-            if (item == toolTipItem)
-                return;
-            toolTipItem = item;
-            String tooltip = item.getToolTipText();
-            if (tooltip != null && tooltip.length() > 0) {
-                Display display = tip.getDisplay();
-                label.setForeground(display
-                        .getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-                label.setBackground(display
-                        .getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-                label.setText(tooltip);
-                Point labelSize = label.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-                labelSize.x += 2;
-                labelSize.y += 2;
-                label.setSize(labelSize);
-                tip.pack();
-                /*
-                 * On some platforms, there is a minimum size for a shell  
-                 * which may be greater than the label size.
-                 * To avoid having the background of the tip shell showing
-                 * around the label, force the label to fill the entire client area.
-                 */
-                Rectangle area = tip.getClientArea();
-                label.setSize(area.width, area.height);
-                /*
-                 * Position the tooltip and ensure that it is not located off
-                 * the screen.
-                 */
-                Point pt = new Point(item.x + item.width / 4, item.y
-                        + item.height + 2);
-                pt = toDisplay(pt);
-                Rectangle rect = display.getBounds();
-                Point tipSize = tip.getSize();
-                pt.x = Math.max(0, Math.min(pt.x, rect.width - tipSize.x));
-                pt.y = Math.max(0, Math.min(pt.y, rect.height - tipSize.y));
-                tip.setLocation(pt);
-                tip.setVisible(true);
-                return;
-            }
-        }
-
-        toolTipItem = null;
-        if (tip != null && !tip.isDisposed() && tip.isVisible())
-            tip.setVisible(false);
-    }
-
-    private void onMouseMove(Event event) {
-        if (showToolTip) {
-            showToolTip(event.x, event.y);
-        }
-
-        if (!showClose)
-            return;
-
-        CTabItem item = null;
-        for (int i = 0; i < items.length; i++) {
-            Rectangle rect = items[i].getBounds();
-            if (rect.contains(new Point(event.x, event.y))) {
-                item = items[i];
-                break;
-            }
-        }
-        if (item == inactiveItem)
-            return;
-
-        inactiveCloseBar.setVisible(false);
-        inactiveItem = null;
-
-        if (item == null || item == getSelection())
-            return;
-
-        int toolbarHeight = tabHeight - CTabItem.TOP_MARGIN
-                - CTabItem.BOTTOM_MARGIN + 2; // +2 to ignore gap between focus rectangle
-        Point size = inactiveCloseBar.computeSize(SWT.DEFAULT, toolbarHeight);
-        int x = item.x + item.width - size.x - 2; // -2 to not overlap focus rectangle and trim
-        int y = item.y + Math.max(0, (item.height - toolbarHeight) / 2);
-        Rectangle toolspace = getToolSpace();
-        Point folderSize = getSize();
-        if ((toolspace.width == 0 || x < toolspace.x)
-                && x + size.x < folderSize.x - borderRight) {
-            inactiveCloseBar.setBounds(x, y, size.x, toolbarHeight);
-            inactiveCloseBar.setVisible(true);
-            inactiveItem = item;
-        }
-    }
-
-    private void onTraverse(Event event) {
-        switch (event.detail) {
-        case SWT.TRAVERSE_ESCAPE:
-        // TEMPORARY CODE See bug report 17372
-        //		case SWT.TRAVERSE_RETURN:
-        case SWT.TRAVERSE_TAB_NEXT:
-        case SWT.TRAVERSE_TAB_PREVIOUS:
-            event.doit = true;
-            break;
-        case SWT.TRAVERSE_MNEMONIC:
-            event.doit = onMnemonic(event);
-            if (event.doit)
-                event.detail = SWT.TRAVERSE_NONE;
-            break;
-        case SWT.TRAVERSE_PAGE_NEXT:
-        case SWT.TRAVERSE_PAGE_PREVIOUS:
-            event.doit = onPageTraversal(event);
-            if (event.doit)
-                event.detail = SWT.TRAVERSE_NONE;
-            break;
-        }
-    }
-
-    private boolean onPageTraversal(Event event) {
-        int count = getItemCount();
-        if (count == 0)
-            return false;
-        int index = getSelectionIndex();
-        if (index == -1) {
-            index = 0;
-        } else {
-            int offset = (event.detail == SWT.TRAVERSE_PAGE_NEXT) ? 1 : -1;
-            index = (index + offset + count) % count;
-        }
-        setSelection(index, true);
-        return true;
-    }
-
-    /**
-     * Answer true if not all tabs can be visible in the receive
-     * thus requiring the scroll buttons to be visible.
-     */
-    private boolean scroll_leftVisible() {
-        return topTabIndex > 0;
-    }
-
-    /**
-     * Answer true if not all tabs can be visible in the receive
-     * thus requiring the scroll buttons to be visible.
-     */
-    private boolean scroll_rightVisible() {
-        // only show Scroll buttons if there is more than one item
-        // and if we are not already at the last item
-        if (items.length < 2)
-            return false;
-        Rectangle area = getClientArea();
-        int rightEdge = area.x + area.width;
-        if (rightEdge <= 0)
-            return false;
-        if (topTabIndex > 0) {
-            rightEdge -= arrowBar.getSize().x;
-        }
-        if (topRight != null) {
-            rightEdge -= topRight.getSize().x;
-        }
-        CTabItem item = items[items.length - 1];
-        return (item.x + item.width > rightEdge);
-    }
-
-    /**
-     * Scroll the tab items to the left.
-     */
-    private void scroll_scrollLeft() {
-        if (items.length == 0)
-            return;
-        setLastItem(topTabIndex - 1);
-    }
-
-    /**
-     * Scroll the tab items to the right.
-     */
-    private void scroll_scrollRight() {
-        int lastIndex = getLastItem();
-        topTabIndex = lastIndex + 1;
-        setItemLocation();
-        correctLastItem();
-        redrawTabArea(-1);
-    }
-
-    private boolean correctLastItem() {
-        Rectangle area = getClientArea();
-        int rightEdge = area.x + area.width;
-        if (rightEdge <= 0)
-            return false;
-        Rectangle toolspace = getToolSpace();
-        if (toolspace.width > 0) {
-            rightEdge -= toolspace.width;
-        }
-        CTabItem item = items[items.length - 1];
-        if (item.x + item.width < rightEdge) {
-            setLastItem(items.length - 1);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Specify a fixed height for the tab items.  If no height is specified,
-     * the default height is the height of the text or the image, whichever 
-     * is greater. Specifying a height of 0 will revert to the default height.
-     * 
-     * @param height the pixel value of the height or 0
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if called with a height of less than 0</li>
-     * </ul>
-     */
-    public void setTabHeight(int height) {
-        checkWidget();
-        if (height < 0) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        fixedTabHeight = true;
-        if (tabHeight == height)
-            return;
-        tabHeight = height;
-        oldSize = null;
-        notifyListeners(SWT.Resize, new Event());
-    }
-
-    void resetTabSize(boolean checkHeight) {
-        int oldHeight = tabHeight;
-        if (!fixedTabHeight && checkHeight) {
-            int tempHeight = 0;
-            GC gc = new GC(this);
-            for (int i = 0; i < items.length; i++) {
-                tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));
-            }
-            gc.dispose();
-            if (topRight != null)
-                tempHeight = Math.max(tempHeight, topRight.computeSize(
-                        SWT.DEFAULT, SWT.DEFAULT).y);
-            tabHeight = tempHeight;
-        }
-
-        if (tabHeight != oldHeight) {
-            oldSize = null;
-            notifyListeners(SWT.Resize, new Event());
-        } else {
-            setItemBounds();
-            redraw();
-        }
-    }
-
-    /**
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the position value is not either SWT.TOP or SWT.BOTTOM</li>
-     * </ul>
-     * 
-     * UNDER CONSTRUCTION
-     * @since 3.0
-     */
-    public void setTabPosition(int position) {
-        checkWidget();
-        if (position != SWT.TOP && position != SWT.BOTTOM) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (onBottom != (position == SWT.BOTTOM)) {
-            onBottom = position == SWT.BOTTOM;
-            setBorderVisible(showBorders);
-            resetTabSize(true);
-            //		updateTabHeight(true);
-            //		Rectangle rectBefore = getClientArea();
-            //		updateItems();
-            //		Rectangle rectAfter = getClientArea();
-            //		if (!rectBefore.equals(rectAfter)) {
-            //			notifyListeners(SWT.Resize, new Event());
-            //		}
-            //		setItemBounds();
-            //		redrawTabArea(-1);
-            //		redraw();
-        }
-    }
-
-    public int getTabPosition() {
-        if (onBottom)
-            return SWT.BOTTOM;
-        return SWT.TOP;
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
deleted file mode 100644
index 242610d..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderEvent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.events.TypedEvent;
-import org.eclipse.swt.widgets.Widget;
-
-public class CTabFolderEvent extends TypedEvent {
-
-    /**
-     * Generated serial version UID for this class.
-     * @since 3.1
-     */
-    private static final long serialVersionUID = 3258688793199719730L;
-
-    public Widget item;
-
-    public boolean doit;
-
-    CTabFolderEvent(Widget w) {
-        super(w);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
deleted file mode 100644
index 8fb7ef5..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabFolderListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-public interface CTabFolderListener {
-    public void itemClosed(CTabFolderEvent event);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
deleted file mode 100644
index dd19c84..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/CTabItem.java
+++ /dev/null
@@ -1,602 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Widget;
-
-public class CTabItem extends Item {
-    CTabFolder parent;
-
-    int x, y, width, height = 0;
-
-    String toolTipText;
-
-    Control control; // the tab page
-
-    private Image disabledImage;
-
-    // internal constants
-    static final int LEFT_MARGIN = 4;
-
-    static final int RIGHT_MARGIN = 4;
-
-    static final int TOP_MARGIN = 3;
-
-    static final int BOTTOM_MARGIN = 3;
-
-    private static final int INTERNAL_SPACING = 2;
-
-    private static final String ellipsis = "..."; //$NON-NLS-1$
-
-    String shortenedText;
-
-    int shortenedTextWidth;
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * (which must be a <code>CTabFolder</code>) and a style value
-     * describing its behavior and appearance. The item is added
-     * to the end of the items maintained by its parent.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
-     * @param style the style of control to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT
-     * @see Widget#getStyle
-     */
-    public CTabItem(CTabFolder parent, int style) {
-        this(parent, style, parent.getItemCount());
-    }
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * (which must be a <code>CTabFolder</code>), a style value
-     * describing its behavior and appearance, and the index
-     * at which to place it in the items maintained by its parent.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a CTabFolder which will be the parent of the new instance (cannot be null)
-     * @param style the style of control to construct
-     * @param index the index to store the receiver in its parent
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT
-     * @see Widget#getStyle
-     */
-    public CTabItem(CTabFolder parent, int style, int index) {
-        super(parent, checkStyle(style));
-        parent.createItem(this, index);
-    }
-
-    private static int checkStyle(int style) {
-        return SWT.NONE;
-    }
-
-    public void dispose() {
-        if (isDisposed())
-            return;
-        parent.destroyItem(this);
-        super.dispose();
-        parent = null;
-        control = null;
-        toolTipText = null;
-    }
-
-    /**
-     * Returns a rectangle describing the receiver's size and location
-     * relative to its parent.
-     *
-     * @return the receiver's bounding column rectangle
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public Rectangle getBounds() {
-        //checkWidget();
-        return new Rectangle(x, y, width, height);
-    }
-
-    /**
-     * Gets the control that is displayed in the content are of the tab item.
-     *
-     * @return the control
-     *
-     * @exception SWTError(ERROR_THREAD_INVALID_ACCESS)
-     *	when called from the wrong thread
-     * @exception SWTError(ERROR_WIDGET_DISPOSED)
-     *	when the widget has been disposed
-     */
-    public Control getControl() {
-        checkWidget();
-        return control;
-    }
-
-    public Display getDisplay() {
-        if (parent == null)
-            SWT.error(SWT.ERROR_WIDGET_DISPOSED);
-        return parent.getDisplay();
-    }
-
-    /**
-     * Get the image displayed in the tab if the tab is disabled.
-     * 
-     * @return the disabled image or null
-     */
-    public Image getDisabledImage() {
-        //checkWidget();
-        return disabledImage;
-    }
-
-    /**
-     * Returns the receiver's parent, which must be a <code>CTabFolder</code>.
-     *
-     * @return the receiver's parent
-     */
-    public CTabFolder getParent() {
-        //checkWidget();
-        return parent;
-    }
-
-    /**
-     * Returns the receiver's tool tip text, or null if it has
-     * not been set.
-     *
-     * @return the receiver's tool tip text
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public String getToolTipText() {
-        checkWidget();
-        return toolTipText;
-    }
-
-    /**
-     * Paint the receiver.
-     */
-    void onPaint(GC gc, boolean isSelected) {
-
-        if (width == 0 || height == 0)
-            return;
-
-        Display display = getDisplay();
-        Color highlightShadow = display
-                .getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
-        Color normalShadow = display
-                .getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
-
-        int index = parent.indexOf(this);
-
-        if (isSelected) {
-
-            Rectangle bounds = null;
-            if (!parent.onBottom) {
-                if (index == parent.topTabIndex) {
-                    bounds = new Rectangle(x + 1, y + 1, width - 2, height - 1);
-                } else {
-                    bounds = new Rectangle(x + 2, y + 1, width - 3, height - 1);
-                }
-            } else {
-                if (index == parent.topTabIndex) {
-                    bounds = new Rectangle(x + 1, y + 1, width - 2, height - 2);
-                } else {
-                    bounds = new Rectangle(x + 2, y + 1, width - 3, height - 2);
-                }
-            }
-            if (parent.backgroundImage != null) {
-                // draw a background image behind the text
-                Rectangle imageRect = parent.backgroundImage.getBounds();
-                gc.drawImage(parent.backgroundImage, 0, 0, imageRect.width,
-                        imageRect.height, bounds.x, bounds.y, bounds.width,
-                        bounds.height);
-            } else if (parent.gradientColors != null) {
-                // draw a gradient behind the text
-                Color oldBackground = gc.getBackground();
-                if (parent.gradientColors.length == 1) {
-                    if (parent.gradientColors[0] != null)
-                        gc.setBackground(parent.gradientColors[0]);
-                    gc.fillRectangle(bounds.x, bounds.y, bounds.width,
-                            bounds.height);
-                } else {
-                    Color oldForeground = gc.getForeground();
-                    Color lastColor = parent.gradientColors[0];
-                    if (lastColor == null)
-                        lastColor = oldBackground;
-                    for (int i = 0, pos = 0; i < parent.gradientPercents.length; ++i) {
-                        gc.setForeground(lastColor);
-                        lastColor = parent.gradientColors[i + 1];
-                        if (lastColor == null)
-                            lastColor = oldBackground;
-                        gc.setBackground(lastColor);
-                        int gradientWidth = (parent.gradientPercents[i]
-                                * bounds.width / 100)
-                                - pos;
-                        gc.fillGradientRectangle(bounds.x + pos, bounds.y,
-                                gradientWidth, bounds.height, false);
-                        pos += gradientWidth;
-                    }
-                    gc.setForeground(oldForeground);
-                }
-                gc.setBackground(oldBackground);
-            }
-
-            // draw tab lines
-            if (!parent.onBottom) {
-                gc.setForeground(normalShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 1, y, x + 1, y);
-                    gc.drawLine(x, y + 1, x, y + height - 2);
-                    gc.drawLine(x, y + height - 1, x, y + height - 1);
-                }
-                gc.drawLine(x + width - 1, y, x + width - 1, y);
-                gc.drawLine(x + width, y + 1, x + width, y + height - 2);
-                gc.drawLine(x + width, y + height - 1, x + width, y + height
-                        - 1);
-
-                gc.setForeground(highlightShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 2, y, x + 2, y);
-                    gc.drawLine(x + 1, y + 1, x + 1, y + height - 2);
-                    gc.drawLine(x + 1, y + height - 1, x + 1, y + height - 1);
-                } else {
-                    gc.drawLine(x, y, x, y + height - 1);
-                }
-
-                gc.drawLine(x + width - 2, y, x + width - 2, y);
-                gc
-                        .drawLine(x + width - 1, y + 1, x + width - 1, y
-                                + height - 2);
-                gc.drawLine(x + width - 1, y + height - 1, x + width - 1, y
-                        + height - 1);
-
-                // light line across top
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 3, y, x + width - 3, y);
-                } else {
-                    gc.drawLine(x + 1, y, x + width - 3, y);
-                }
-            } else {
-                gc.setForeground(normalShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x, y, x, y);
-                    gc.drawLine(x, y + 1, x, y + height - 2);
-                    gc.drawLine(x + 1, y + height - 1, x + 1, y + height - 1);
-                }
-                gc.drawLine(x + width, y, x + width, y);
-                gc.drawLine(x + width, y + 1, x + width, y + height - 2);
-                gc.drawLine(x + width - 1, y + height - 1, x + width - 1, y
-                        + height - 1);
-
-                gc.setForeground(highlightShadow);
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 1, y, x + 1, y);
-                    gc.drawLine(x + 1, y + 1, x + 1, y + height - 2);
-                    gc.drawLine(x + 2, y + height - 1, x + 2, y + height - 1);
-                } else {
-                    gc.drawLine(x, y, x, y + height - 1);
-                }
-
-                gc.drawLine(x + width - 1, y, x + width - 1, y);
-                gc
-                        .drawLine(x + width - 1, y + 1, x + width - 1, y
-                                + height - 2);
-                gc.drawLine(x + width - 2, y + height - 1, x + width - 2, y
-                        + height - 1);
-
-                // light line across top and bottom
-                if (index != parent.topTabIndex) {
-                    gc.drawLine(x + 1, y, x + width - 2, y);
-                    gc.drawLine(x + 2, y + height - 1, x + width - 3, y
-                            + height - 1);
-                } else {
-                    gc.drawLine(x + 1, y, x + width - 2, y);
-                    gc.drawLine(x + 1, y + height - 1, x + width - 3, y
-                            + height - 1);
-                }
-            }
-            if (parent.isFocusControl()) {
-                // draw a focus rectangle
-                int x1, y1, width1, height1;
-                if (!parent.onBottom) {
-                    if (index == parent.topTabIndex) {
-                        x1 = x + 1;
-                        y1 = y + 1;
-                        width1 = width - 2;
-                        height1 = height - 1;
-                    } else {
-                        x1 = x + 2;
-                        y1 = y + 1;
-                        width1 = width - 3;
-                        height1 = height - 1;
-                    }
-                } else {
-                    if (index == parent.topTabIndex) {
-                        x1 = x + 1;
-                        y1 = y + 1;
-                        width1 = width - 2;
-                        height1 = height - 2;
-                    } else {
-                        x1 = x + 2;
-                        y1 = y + 1;
-                        width1 = width - 3;
-                        height1 = height - 2;
-                    }
-                }
-                gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-                gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
-                gc.drawFocus(x1, y1, width1, height1);
-            }
-        } else {
-            // draw tab lines for unselected items
-            gc.setForeground(normalShadow);
-            if (!parent.onBottom) {
-                if (index != parent.topTabIndex
-                        && index != parent.getSelectionIndex() + 1) {
-                    gc.drawLine(x, y, x, y + (height / 2));
-                }
-            } else {
-                if (index != parent.topTabIndex
-                        && index != parent.getSelectionIndex() + 1) {
-                    gc.drawLine(x, y + (height / 2), x, y + height - 1);
-                }
-            }
-
-        }
-
-        // draw Image
-        int xDraw = x + LEFT_MARGIN;
-
-        Image image = getImage();
-        if (!isSelected && image != null) {
-            Image temp = getDisabledImage();
-            if (temp != null) {
-                image = temp;
-            }
-        }
-        if (image != null) {
-            Rectangle imageBounds = image.getBounds();
-            int imageX = xDraw;
-            int imageHeight = Math.min(height - BOTTOM_MARGIN - TOP_MARGIN,
-                    imageBounds.height);
-            int imageY = y + (height - imageHeight) / 2;
-            int imageWidth = imageBounds.width * imageHeight
-                    / imageBounds.height;
-            gc.drawImage(image, imageBounds.x, imageBounds.y,
-                    imageBounds.width, imageBounds.height, imageX, imageY,
-                    imageWidth, imageHeight);
-            xDraw += imageWidth + INTERNAL_SPACING;
-        }
-
-        // draw Text
-        int textWidth = x + width - xDraw - RIGHT_MARGIN;
-        if (isSelected && parent.showClose) {
-            textWidth = x + width - xDraw - parent.closeBar.getSize().x
-                    - RIGHT_MARGIN;
-        }
-        if (shortenedText == null || shortenedTextWidth != textWidth) {
-            shortenedText = shortenText(gc, getText(), textWidth);
-            shortenedTextWidth = textWidth;
-        }
-        String text = shortenedText;
-
-        if (isSelected && parent.selectionForeground != null) {
-            gc.setForeground(parent.selectionForeground);
-        } else {
-            gc.setForeground(parent.getForeground());
-        }
-        int textY = y + (height - gc.textExtent(text, SWT.DRAW_MNEMONIC).y) / 2;
-        gc.drawText(text, xDraw, textY, SWT.DRAW_TRANSPARENT
-                | SWT.DRAW_MNEMONIC);
-
-        gc.setForeground(parent.getForeground());
-    }
-
-    private static String shortenText(GC gc, String text, int width) {
-        if (gc.textExtent(text, SWT.DRAW_MNEMONIC).x <= width)
-            return text;
-
-        int ellipseWidth = gc.textExtent(ellipsis, SWT.DRAW_MNEMONIC).x;
-        int length = text.length();
-        int end = length - 1;
-        while (end > 0) {
-            text = text.substring(0, end);
-            int l1 = gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-            if (l1 + ellipseWidth <= width) {
-                return text + ellipsis;
-            }
-            end--;
-        }
-        return text + ellipsis;
-    }
-
-    /**
-     * Answer the preferred height of the receiver for the GC.
-     */
-    int preferredHeight(GC gc) {
-        Image image = getImage();
-        int height = 0;
-        if (image != null)
-            height = image.getBounds().height;
-        String text = getText();
-        height = Math.max(height, gc.textExtent(text, SWT.DRAW_MNEMONIC).y);
-        return height + TOP_MARGIN + BOTTOM_MARGIN;
-    }
-
-    /**
-     * Answer the preferred width of the receiver for the GC.
-     */
-    int preferredWidth(GC gc) {
-        int width = 0;
-        Image image = getImage();
-        if (image != null)
-            width += image.getBounds().width;
-        String text = getText();
-        if (text != null) {
-            if (image != null)
-                width += INTERNAL_SPACING;
-            width += gc.textExtent(text, SWT.DRAW_MNEMONIC).x;
-        }
-        if (parent.showClose)
-            width += INTERNAL_SPACING + preferredHeight(gc); // closebar will be square and will fill preferred height
-        return width + LEFT_MARGIN + RIGHT_MARGIN;
-    }
-
-    /**
-     * Sets the control that is used to fill the client area of
-     * the tab folder when the user selects the tab item.
-     * <p>
-     * @param control the new control (or null)
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_INVALID_ARGUMENT - if the control has been disposed</li> 
-     *    <li>ERROR_INVALID_PARENT - if the control is not in the same widget tree</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setControl(Control control) {
-        checkWidget();
-        if (control != null) {
-            if (control.isDisposed())
-                SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-            if (control.getParent() != parent)
-                SWT.error(SWT.ERROR_INVALID_PARENT);
-        }
-        if (this.control != null && !this.control.isDisposed()) {
-            this.control.setVisible(false);
-        }
-        this.control = control;
-        if (this.control != null) {
-            int index = parent.indexOf(this);
-            if (index == parent.getSelectionIndex()) {
-                this.control.setBounds(parent.getClientArea());
-                this.control.setVisible(true);
-            } else {
-                this.control.setVisible(false);
-            }
-        }
-    }
-
-    public void setImage(Image image) {
-        checkWidget();
-        if (image != null && image.equals(getImage()))
-            return;
-        super.setImage(image);
-        parent.resetTabSize(true);
-    }
-
-    /**
-     * Sets the image that is displayed if the tab item is disabled.
-     * Null will clear the image.
-     * 
-     * @param image the image to be displayed when the item is disabled or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setDisabledImage(Image image) {
-        checkWidget();
-        if (image != null && image.equals(getDisabledImage()))
-            return;
-        disabledImage = image;
-        parent.redraw();
-    }
-
-    /**
-     * Set the widget text.
-     * <p>
-     * This method sets the widget label.  The label may include
-     * mnemonic characters but must not contain line delimiters.
-     *
-     * @param string the new label for the widget
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the text is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setText(String string) {
-        checkWidget();
-        if (string.equals(getText()))
-            return;
-        super.setText(string);
-        shortenedText = null;
-        shortenedTextWidth = 0;
-        parent.resetTabSize(false);
-    }
-
-    /**
-     * Sets the receiver's tool tip text to the argument, which
-     * may be null indicating that no tool tip text should be shown.
-     *
-     * @param string the new tool tip text (or null)
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setToolTipText(String string) {
-        checkWidget();
-        toolTipText = string;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
deleted file mode 100644
index 21868aa..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolder.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Color;
-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.ui.internal.layout.SizeCache;
-import org.eclipse.ui.internal.presentations.newapi.ProxyControl;
-import org.eclipse.ui.presentations.IStackPresentationSite;
-
-/**
- * This class implements the tab folders that contains can contain two toolbars and
- * status text. Wherever possible, the toolbars are aligned with the tabs. 
- * If there is not enough room beside the tabs, the toolbars are aligned with the status text. This
- * is the same tab folder that is used to arrange views and editors in Eclipse. 
- * <p>
- * This is closely related to DefaultPartPresentation, but they have different responsibilities. This
- * is essentially a CTabFolder that can manage a toolbar. It should not depend on 
- * data structures from the workbench, and its public interface should only use SWT objects or
- * listeners. DefaultPartPresentation uses a PaneFolder to arrange views or editors. Knowledge
- * of higher-level data structures should go there. 
- * </p>
- * <p>
- * Although it is not actually a control, the public interface is much like 
- * an SWT control. Implementation-wise, this is actually a combination of a CTabFolder and 
- * a ViewForm. It encapsulates the details of moving the toolbar between the CTabFolder and
- * the ViewForm, and provides a simpler interface to the ViewForm/CTabFolder. 
- * </p>
- * 
- * @since 3.0
- */
-public final class R21PaneFolder {
-    // Tab folder and associated proxy controls
-    private CTabFolder tabFolder;
-
-    //	private Control titleAreaProxy;	
-
-    // View form and associated proxy controls
-    private ViewForm viewForm;
-
-    private ProxyControl contentProxy;
-
-    private ProxyControl viewFormTopLeftProxy;
-
-    private ProxyControl viewFormTopRightProxy;
-
-    private ProxyControl viewFormTopCenterProxy;
-
-    // Cached sizes of the top-right and top-center controls
-    private SizeCache topRightCache = new SizeCache();
-
-    private SizeCache topCenterCache = new SizeCache();
-
-    private SizeCache topLeftCache = new SizeCache();
-
-    private int tabPosition;
-
-    private boolean putTrimOnTop = false;
-
-    /**
-     * List of PaneFolderButtonListener
-     */
-    private List buttonListeners = new ArrayList(1);
-
-    private int state = IStackPresentationSite.STATE_RESTORED;
-
-    /**
-     * State of the folder at the last mousedown event. This is used to prevent
-     * a mouseup over the minimize or maximize buttons from undoing a state change 
-     * that was caused by the mousedown.
-     */
-    private int mousedownState = -1;
-
-    //	// CTabFolder listener
-    //	private CTabFolder2Adapter expandListener = new CTabFolder2Adapter() {
-    //		public void minimize(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyButtonListeners(IStackPresentationSite.STATE_MINIMIZED);
-    //		}
-    //		
-    //		public void restore(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyButtonListeners(IStackPresentationSite.STATE_RESTORED);
-    //		}
-    //		
-    //		public void maximize(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyButtonListeners(IStackPresentationSite.STATE_MAXIMIZED);
-    //		}
-    //		
-    //		/* (non-Javadoc)
-    //		 * @see org.eclipse.swt.custom.CTabFolder2Adapter#close(org.eclipse.swt.custom.CTabFolderEvent)
-    //		 */
-    //		public void close(CTabFolderEvent event) {
-    //			event.doit = false;
-    //			notifyCloseListeners((CTabItem)event.item);
-    //		}
-    //		
-    //		public void showList(CTabFolderEvent event) {
-    //			notifyShowListeners(event);
-    //		}
-    //		
-    //	};
-    //	
-    private MouseListener mouseListener = new MouseAdapter() {
-        public void mouseDown(MouseEvent e) {
-            mousedownState = getState();
-        }
-
-        public void mouseDoubleClick(MouseEvent e) {
-        }
-    };
-
-    /**
-     * Creates a pane folder. This will create exactly one child control in the
-     * given parent.
-     * 
-     * @param parent
-     * @param flags
-     */
-    public R21PaneFolder(Composite parent, int flags) {
-        // Initialize tab folder
-        {
-            tabFolder = new CTabFolder(parent, flags);
-
-            //			// Create a proxy control to measure the title area of the tab folder
-            //			titleAreaProxy = new Composite(tabFolder, SWT.NONE);
-            //			titleAreaProxy.setVisible(false);
-            //			tabFolder.setTopRight(titleAreaProxy, SWT.FILL);
-
-            //			tabFolder.addCTabFolder2Listener(expandListener);
-            //			
-            tabFolder.addMouseListener(mouseListener);
-        }
-
-        // Initialize view form
-        {
-            viewForm = new ViewForm(tabFolder, SWT.NONE);
-
-            // Only attach these to the viewForm when there's actuall a control to display
-            viewFormTopLeftProxy = new ProxyControl(viewForm);
-            viewFormTopCenterProxy = new ProxyControl(viewForm);
-            viewFormTopRightProxy = new ProxyControl(viewForm);
-
-            contentProxy = new ProxyControl(viewForm);
-            viewForm.setContent(contentProxy.getControl());
-        }
-    }
-
-    /**
-     * Return the main control for this pane folder
-     * 
-     * @return
-     */
-    public Composite getControl() {
-        return tabFolder;
-    }
-
-    /**
-     * Sets the top-center control (usually a toolbar), or null if none.
-     * Note that the control can have any parent.
-     * 
-     * @param topCenter the top-center control or null if none
-     */
-    public void setTopCenter(Control topCenter) {
-        topCenterCache.setControl(topCenter);
-        if (topCenter != null) {
-            if (!putTrimOnTop) {
-                viewFormTopCenterProxy.setTarget(topCenterCache);
-                viewForm.setTopCenter(viewFormTopCenterProxy.getControl());
-            }
-        } else {
-            if (!putTrimOnTop) {
-                viewForm.setTopCenter(null);
-            }
-        }
-    }
-
-    /**
-     * Sets the top-right control (usually a dropdown), or null if none
-     * 
-     * @param topRight
-     */
-    public void setTopRight(Control topRight) {
-        topRightCache.setControl(topRight);
-        if (topRight != null) {
-            if (!putTrimOnTop) {
-                viewFormTopRightProxy.setTarget(topRightCache);
-                viewForm.setTopRight(viewFormTopRightProxy.getControl());
-            }
-        } else {
-            if (!putTrimOnTop) {
-                viewForm.setTopRight(null);
-            }
-        }
-    }
-
-    /**
-     * Sets the top-left control (usually a title label), or null if none
-     * 
-     * @param topLeft
-     */
-    public void setTopLeft(Control topLeft) {
-        if (topLeftCache.getControl() != topLeft) {
-            topLeftCache.setControl(topLeft);
-            // The top-left control always goes directly in the ViewForm
-            if (topLeft != null) {
-                viewFormTopLeftProxy.setTarget(topLeftCache);
-                viewForm.setTopLeft(viewFormTopLeftProxy.getControl());
-            } else {
-                viewFormTopLeftProxy.setTargetControl(null);
-                viewForm.setTopLeft(null);
-            }
-        }
-    }
-
-    /**
-     * Flush all of this folder's size caches to ensure they will be re-computed
-     * on the next layout.
-     */
-    public void flush() {
-        topLeftCache.flush();
-        topRightCache.flush();
-        topCenterCache.flush();
-    }
-
-    public void layout(boolean flushCache) {
-        // Flush the cached sizes if necessary
-        if (flushCache)
-            flush();
-
-        Rectangle tabFolderClientArea = tabFolder.getClientArea();
-
-        // Hide tabs if there is only one
-        if (tabFolder.getItemCount() < 2) {
-            //Rectangle tabFolderBounds = tabFolder.getBounds();
-
-            int delta = getTabHeight() + 1;
-            tabFolderClientArea.height += delta;
-
-            if (getTabPosition() == SWT.TOP) {
-                tabFolderClientArea.y -= delta;
-            }
-        }
-
-        viewForm.setBounds(tabFolderClientArea);
-        viewFormTopRightProxy.layout();
-        viewFormTopLeftProxy.layout();
-        viewFormTopCenterProxy.layout();
-    }
-
-    /**
-     * Returns the client area for this PaneFolder, relative to the pane folder's control.
-     * 
-     * @return
-     */
-    public Rectangle getClientArea() {
-        Rectangle bounds = contentProxy.getControl().getBounds();
-
-        Rectangle formArea = viewForm.getBounds();
-
-        bounds.x += formArea.x;
-        bounds.y += formArea.y;
-
-        return bounds;
-    }
-
-    /**
-     * Returns the current state of the folder (as shown on the button icons)
-     * 
-     * @return one of the IStackPresentationSite.STATE_* constants
-     */
-    public int getState() {
-        return state;
-    }
-
-    /**
-     * @param buttonId one of the IStackPresentationSite.STATE_* constants
-     */
-    protected void notifyButtonListeners(int buttonId) {
-        if (mousedownState == getState()) {
-            Iterator iter = buttonListeners.iterator();
-
-            while (iter.hasNext()) {
-                R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener) iter
-                        .next();
-
-                listener.stateButtonPressed(buttonId);
-            }
-        }
-    }
-
-    /**
-     * Notifies all listeners that the user clicked on the chevron
-     * 
-     * @param event
-     */
-    protected void notifyShowListeners(CTabFolderEvent event) {
-        Iterator iter = buttonListeners.iterator();
-
-        while (iter.hasNext()) {
-            R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener) iter
-                    .next();
-
-            listener.showList(event);
-        }
-    }
-
-    /**
-     * Notifies all listeners that the close button was pressed
-     * 
-     * @param tabItem
-     */
-    protected void notifyCloseListeners(CTabItem tabItem) {
-        Iterator iter = buttonListeners.iterator();
-
-        while (iter.hasNext()) {
-            R21PaneFolderButtonListener listener = (R21PaneFolderButtonListener) iter
-                    .next();
-
-            listener.closeButtonPressed(tabItem);
-        }
-    }
-
-    public void addButtonListener(R21PaneFolderButtonListener listener) {
-        buttonListeners.add(listener);
-    }
-
-    public void removeButtonListener(R21PaneFolderButtonListener listener) {
-        buttonListeners.remove(listener);
-    }
-
-    public void setTabPosition(int newTabPosition) {
-        tabPosition = newTabPosition;
-        tabFolder.setTabPosition(tabPosition);
-    }
-
-    public int getTabPosition() {
-        return tabPosition;
-    }
-
-    public boolean isDisposed() {
-        return tabFolder == null || tabFolder.isDisposed();
-    }
-
-    public CTabItem createItem(int style, int index) {
-        return new CTabItem(tabFolder, style, index);
-    }
-
-    // The remainder of the methods in this class redirect directly to CTabFolder methods
-
-    public void setSelection(int selection) {
-        tabFolder.setSelection(selection);
-    }
-
-    /**
-     * @param i
-     * @param j
-     * @param k
-     * @param l
-     * @return
-     */
-    public Rectangle computeTrim(int i, int j, int k, int l) {
-        return tabFolder.computeTrim(i, j, k, l);
-    }
-
-    /**
-     * @param fgColor
-     */
-    public void setSelectionForeground(Color fgColor) {
-        tabFolder.setSelectionForeground(fgColor);
-    }
-
-    /**
-     * @param bgColors
-     * @param percentages
-     * @param vertical
-     */
-    public void setSelectionBackground(Color[] bgColors, int[] percentages,
-            boolean vertical) {
-        tabFolder.setSelectionBackground(bgColors, percentages);
-    }
-
-    public CTabItem getItem(int idx) {
-        return tabFolder.getItem(idx);
-    }
-
-    public int getSelectionIndex() {
-        return tabFolder.getSelectionIndex();
-    }
-
-    public int getTabHeight() {
-        return tabFolder.getTabHeight();
-    }
-
-    public int indexOf(CTabItem toFind) {
-        return tabFolder.indexOf(toFind);
-    }
-
-    public void setTabHeight(int height) {
-        tabFolder.setTabHeight(height);
-    }
-
-    /**
-     * @return
-     */
-    public int getItemCount() {
-        return tabFolder.getItemCount();
-    }
-
-    /**
-     * @return
-     */
-    public CTabItem[] getItems() {
-        return tabFolder.getItems();
-    }
-
-    public CTabItem getItem(Point toGet) {
-        return tabFolder.getItem(toGet);
-    }
-
-    public CTabItem getSelection() {
-        return tabFolder.getSelection();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
deleted file mode 100644
index 5e7c46b..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/R21PaneFolderButtonListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-/**
- * This listener receives notifications when the user clicks on one of
- * the buttons (minimize, maximize, or restore) on a pane folder.  
- * 
- * @since 3.0
- */
-public abstract class R21PaneFolderButtonListener {
-
-    /**
-     * Called when the minimize, maximize, or restore buttons are pressed.
-     *   
-     * @param buttonId one of the IStackPresentationSite.STATE_* constants
-     */
-    public void stateButtonPressed(int buttonId) {
-    }
-
-    /**
-     * Called when a close button is pressed.
-     *   
-     * @param item the tab whose close button was pressed
-     */
-    public void closeButtonPressed(CTabItem item) {
-    }
-
-    /**
-     * 
-     * @since 3.0
-     */
-    public void showList(CTabFolderEvent event) {
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java b/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
deleted file mode 100644
index 1edb157..0000000
--- a/bundles/org.eclipse.ui.presentations.r21/src/org/eclipse/ui/internal/presentations/r21/widgets/ViewForm.java
+++ /dev/null
@@ -1,690 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.presentations.r21.widgets;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Listener;
-
-/**
- * Instances of this class implement a Composite that lays out three
- * children horizontally and allows programmatic control of layout and
- * border parameters. ViewForm is used in the workbench to implement a
- * view's label/menu/toolbar local bar.
- * <p>
- * Note that although this class is a subclass of <code>Composite</code>,
- * it does not make sense to set a layout on it.
- * </p><p>
- * <dl>
- * <dt><b>Styles:</b></dt>
- * <dd>BORDER, FLAT</dd>
- * <dt><b>Events:</b></dt>
- * <dd>(None)</dd>
- * </dl>
- * <p>
- * IMPORTANT: This class is <em>not</em> intended to be subclassed.
- * </p>
- */
-
-public class ViewForm extends Composite {
-
-    /**
-     * marginWidth specifies the number of pixels of horizontal margin
-     * that will be placed along the left and right edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginWidth = 0;
-
-    /**
-     * marginHeight specifies the number of pixels of vertical margin
-     * that will be placed along the top and bottom edges of the form.
-     *
-     * The default value is 0.
-     */
-    public int marginHeight = 0;
-
-    /**
-     * Color of innermost line of drop shadow border.
-     */
-    public static RGB borderInsideRGB = new RGB(132, 130, 132);
-
-    /**
-     * Color of middle line of drop shadow border.
-     */
-    public static RGB borderMiddleRGB = new RGB(143, 141, 138);
-
-    /**
-     * Color of outermost line of drop shadow border.
-     */
-    public static RGB borderOutsideRGB = new RGB(171, 168, 165);
-
-    // SWT widgets
-    private Control topLeft;
-
-    private Control topCenter;
-
-    private Control topRight;
-
-    private Control content;
-
-    // Configuration and state info
-    private boolean separateTopCenter = false;
-
-    private int drawLine1 = -1;
-
-    private int drawLine2 = -1;
-
-    private boolean showBorder = false;
-
-    private int BORDER_TOP = 0;
-
-    private int BORDER_BOTTOM = 0;
-
-    private int BORDER_LEFT = 0;
-
-    private int BORDER_RIGHT = 0;
-
-    private Color borderColor1;
-
-    private Color borderColor2;
-
-    private Color borderColor3;
-
-    private Rectangle oldArea;
-
-    private static final int OFFSCREEN = -200;
-
-    /**
-     * Constructs a new instance of this class given its parent
-     * and a style value describing its behavior and appearance.
-     * <p>
-     * The style value is either one of the style constants defined in
-     * class <code>SWT</code> which is applicable to instances of this
-     * class, or must be built by <em>bitwise OR</em>'ing together 
-     * (that is, using the <code>int</code> "|" operator) two or more
-     * of those <code>SWT</code> style constants. The class description
-     * lists the style constants that are applicable to the class.
-     * Style bits are also inherited from superclasses.
-     * </p>
-     *
-     * @param parent a widget which will be the parent of the new instance (cannot be null)
-     * @param style the style of widget to construct
-     *
-     * @exception IllegalArgumentException <ul>
-     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
-     * </ul>
-     * @exception SWTException <ul>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
-     * </ul>
-     *
-     * @see SWT#BORDER
-     * @see SWT#FLAT
-     * @see #getStyle()
-     */
-    public ViewForm(Composite parent, int style) {
-        super(parent, checkStyle(style));
-
-        borderColor1 = new Color(getDisplay(), borderInsideRGB);
-        borderColor2 = new Color(getDisplay(), borderMiddleRGB);
-        borderColor3 = new Color(getDisplay(), borderOutsideRGB);
-        setBorderVisible((style & SWT.BORDER) != 0);
-
-        addPaintListener(new PaintListener() {
-            public void paintControl(PaintEvent event) {
-                onPaint(event.gc);
-            }
-        });
-        addControlListener(new ControlAdapter() {
-            public void controlResized(ControlEvent e) {
-                onResize();
-            }
-        });
-
-        addListener(SWT.Dispose, new Listener() {
-            public void handleEvent(Event e) {
-                onDispose();
-            }
-        });
-    }
-
-    /**
-     * Check the style bits to ensure that no invalid styles are applied.
-     * @private
-     */
-    private static int checkStyle(int style) {
-        int mask = SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-        return style & mask | SWT.NO_REDRAW_RESIZE;
-    }
-
-    public Point computeSize(int wHint, int hHint, boolean changed) {
-        checkWidget();
-        // size of title bar area
-        Point leftSize = new Point(0, 0);
-        if (topLeft != null) {
-            leftSize = topLeft.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-            leftSize.x += 1; // +1 for highlight line
-        }
-        Point centerSize = new Point(0, 0);
-        if (topCenter != null) {
-            centerSize = topCenter.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point rightSize = new Point(0, 0);
-        if (topRight != null) {
-            rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point size = new Point(0, 0);
-        // calculate width of title bar
-        if (separateTopCenter
-                || (wHint != SWT.DEFAULT && leftSize.x + centerSize.x
-                        + rightSize.x > wHint)) {
-            size.x = leftSize.x + rightSize.x;
-            size.x = Math.max(centerSize.x, size.x);
-            size.y = Math.max(leftSize.y, rightSize.y) + 1; // +1 for highlight line
-            if (topCenter != null) {
-                size.y += centerSize.y;
-            }
-        } else {
-            size.x = leftSize.x + centerSize.x + rightSize.x;
-            size.y = Math.max(leftSize.y, Math.max(centerSize.y, rightSize.y)) + 1; // +1 for highlight line
-        }
-
-        if (content != null) {
-            Point contentSize = new Point(0, 0);
-            contentSize = content.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-            size.x = Math.max(size.x, contentSize.x);
-            size.y += contentSize.y + 1; // +1 for line bewteen content and header
-        }
-
-        size.x += 2 * marginWidth;
-        size.y += 2 * marginHeight;
-
-        if (wHint != SWT.DEFAULT)
-            size.x = wHint;
-        if (hHint != SWT.DEFAULT)
-            size.y = hHint;
-
-        Rectangle trim = computeTrim(0, 0, size.x, size.y);
-        return new Point(trim.width, trim.height);
-    }
-
-    public Rectangle computeTrim(int x, int y, int width, int height) {
-        checkWidget();
-        int trimX = x - BORDER_LEFT;
-        int trimY = y - BORDER_TOP;
-        int trimWidth = width + BORDER_LEFT + BORDER_RIGHT;
-        int trimHeight = height + BORDER_TOP + BORDER_BOTTOM;
-        return new Rectangle(trimX, trimY, trimWidth, trimHeight);
-    }
-
-    public Rectangle getClientArea() {
-        checkWidget();
-        Rectangle clientArea = super.getClientArea();
-        clientArea.x += BORDER_LEFT;
-        clientArea.y += BORDER_TOP;
-        clientArea.width -= BORDER_LEFT + BORDER_RIGHT;
-        clientArea.height -= BORDER_TOP + BORDER_BOTTOM;
-        return clientArea;
-    }
-
-    /**
-     * Returns the content area.
-     * 
-     * @return the control in the content area of the pane or null
-     */
-    public Control getContent() {
-        //checkWidget();
-        return content;
-    }
-
-    /**
-     * Returns Control that appears in the top center of the pane.
-     * Typically this is a toolbar.
-     * 
-     * @return the control in the top center of the pane or null
-     */
-    public Control getTopCenter() {
-        //checkWidget();
-        return topCenter;
-    }
-
-    /**
-     * Returns the Control that appears in the top left corner of the pane.
-     * Typically this is a label such as CLabel.
-     * 
-     * @return the control in the top left corner of the pane or null
-     */
-    public Control getTopLeft() {
-        //checkWidget();
-        return topLeft;
-    }
-
-    /**
-     * Returns the control in the top right corner of the pane.
-     * Typically this is a Close button or a composite with a Menu and Close button.
-     * 
-     * @return the control in the top right corner of the pane or null
-     */
-    public Control getTopRight() {
-        //checkWidget();
-        return topRight;
-    }
-
-    public void layout(boolean changed) {
-        checkWidget();
-        Rectangle rect = getClientArea();
-
-        drawLine1 = -1;
-        drawLine2 = -1;
-
-        Point leftSize = new Point(0, 0);
-        if (topLeft != null && !topLeft.isDisposed()) {
-            leftSize = topLeft.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point centerSize = new Point(0, 0);
-        if (topCenter != null && !topCenter.isDisposed()) {
-            centerSize = topCenter.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-        Point rightSize = new Point(0, 0);
-        if (topRight != null && !topRight.isDisposed()) {
-            rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-        }
-
-        int minTopWidth = leftSize.x + centerSize.x + rightSize.x + 2
-                * marginWidth + 1; // +1 for highlight line	
-        int height = rect.y + marginHeight;
-
-        boolean top = false;
-        if (separateTopCenter || minTopWidth > rect.width) {
-            int topHeight = Math.max(rightSize.y, leftSize.y);
-            if (topRight != null && !topRight.isDisposed()) {
-                top = true;
-                topRight.setBounds(rect.x + rect.width - marginWidth
-                        - rightSize.x, rect.y + 1 + marginHeight, rightSize.x,
-                        topHeight);
-                height += 1 + topHeight; // +1 for highlight line
-            }
-            if (topLeft != null && !topLeft.isDisposed()) {
-                top = true;
-                leftSize = topLeft.computeSize(rect.width - 2 * marginWidth
-                        - rightSize.x - 1, SWT.DEFAULT);
-                topLeft.setBounds(rect.x + 1 + marginWidth, rect.y + 1
-                        + marginHeight, leftSize.x, topHeight);
-                height = Math
-                        .max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line
-            }
-            if (topCenter != null && !topCenter.isDisposed()) {
-                top = true;
-                if (height > rect.y + marginHeight) {
-                    drawLine1 = height;
-                    height += 1; // +1 for divider line
-                }
-                centerSize = topCenter.computeSize(
-                        rect.width - 2 * marginWidth, SWT.DEFAULT);
-                topCenter.setBounds(rect.x + rect.width - marginWidth
-                        - centerSize.x, height, centerSize.x, centerSize.y);
-                height += centerSize.y;
-
-            }
-        } else {
-            int topHeight = Math.max(rightSize.y, Math.max(centerSize.y,
-                    leftSize.y));
-            if (topRight != null && !topRight.isDisposed()) {
-                top = true;
-                topRight.setBounds(rect.x + rect.width - marginWidth
-                        - rightSize.x, rect.y + marginHeight + 1, // +1 for highlight line
-                        rightSize.x, topHeight);
-                height += 1 + topHeight; // +1 for highlight line
-            }
-            if (topCenter != null && !topCenter.isDisposed()) {
-                top = true;
-                topCenter.setBounds(rect.x + rect.width - marginWidth
-                        - rightSize.x - centerSize.x,
-                        rect.y + marginHeight + 1, // +1 for highlight line
-                        centerSize.x, topHeight);
-                height = Math
-                        .max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line                    
-            }
-            if (topLeft != null && !topLeft.isDisposed()) {
-                top = true;
-                leftSize = topLeft.computeSize(rect.width - 2 * marginWidth
-                        - rightSize.x - centerSize.x - 1, topHeight);
-                topLeft.setBounds(rect.x + marginWidth + 1, // +1 for highlight line
-                        rect.y + marginHeight + 1, // +1 for highlight line
-                        leftSize.x, topHeight);
-                height = Math
-                        .max(height, rect.y + marginHeight + 1 + topHeight); // +1 for highlight line
-            }
-        }
-
-        if (content != null && !content.isDisposed()) {
-            if (top) {
-                drawLine2 = height;
-                height += 1; // +1 for divider line
-            }
-            content
-                    .setBounds(rect.x + marginWidth, height, rect.width - 2
-                            * marginWidth, rect.y + rect.height - height
-                            - marginHeight);
-        }
-    }
-
-    private void onDispose() {
-        if (borderColor1 != null) {
-            borderColor1.dispose();
-        }
-        borderColor1 = null;
-
-        if (borderColor2 != null) {
-            borderColor2.dispose();
-        }
-        borderColor2 = null;
-
-        if (borderColor3 != null) {
-            borderColor3.dispose();
-        }
-        borderColor3 = null;
-
-        topLeft = null;
-        topCenter = null;
-        topRight = null;
-        content = null;
-        oldArea = null;
-    }
-
-    /**
-     * Draws the focus border.
-     */
-    private void onPaint(GC gc) {
-        Rectangle d = super.getClientArea();
-
-        if (showBorder) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 1, d.y + d.height
-                        - 1);
-            } else {
-                gc.setForeground(borderColor1);
-                gc.drawRectangle(d.x, d.y, d.x + d.width - 3, d.y + d.height
-                        - 3);
-
-                gc.setForeground(borderColor2);
-                gc.drawLine(d.x + 1, d.y + d.height - 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-                gc.drawLine(d.x + d.width - 2, d.y + 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-
-                gc.setForeground(borderColor3);
-                gc.drawLine(d.x + 2, d.y + d.height - 1, d.x + d.width - 2, d.y
-                        + d.height - 1);
-                gc.drawLine(d.x + d.width - 1, d.y + 2, d.x + d.width - 1, d.y
-                        + d.height - 2);
-            }
-        }
-
-        if (drawLine1 != -1) {
-            // top seperator line
-            gc.setForeground(borderColor1);
-            gc.drawLine(d.x + BORDER_LEFT, drawLine1, d.x + d.width
-                    - BORDER_RIGHT, drawLine1);
-        }
-        if (drawLine2 != -1) {
-            // content separator line
-            gc.setForeground(borderColor1);
-            gc.drawLine(d.x + BORDER_LEFT, drawLine2, d.x + d.width
-                    - BORDER_RIGHT, drawLine2);
-        }
-        // highlight on top
-        int y = drawLine1;
-        if (y == -1) {
-            y = drawLine2;
-        }
-        if (y != -1) {
-            gc.setForeground(getDisplay().getSystemColor(
-                    SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-            gc.drawLine(d.x + BORDER_LEFT + marginWidth, d.y + BORDER_TOP
-                    + marginHeight, d.x + BORDER_LEFT + marginWidth, y - 1);
-            gc.drawLine(d.x + BORDER_LEFT + marginWidth, d.y + BORDER_TOP
-                    + marginHeight, d.x + d.width - BORDER_RIGHT - marginWidth
-                    - 1, d.y + BORDER_TOP + marginHeight);
-        }
-
-        gc.setForeground(getForeground());
-    }
-
-    private void onResize() {
-        layout();
-
-        Rectangle area = super.getClientArea();
-        if (oldArea == null || oldArea.width == 0 || oldArea.height == 0) {
-            redraw();
-        } else {
-            int width = 0;
-            if (oldArea.width < area.width) {
-                width = area.width - oldArea.width + BORDER_RIGHT;
-            } else if (oldArea.width > area.width) {
-                width = BORDER_RIGHT;
-            }
-            redraw(area.x + area.width - width, area.y, width, area.height,
-                    false);
-
-            int height = 0;
-            if (oldArea.height < area.height) {
-                height = area.height - oldArea.height + BORDER_BOTTOM;
-            }
-            if (oldArea.height > area.height) {
-                height = BORDER_BOTTOM;
-            }
-            redraw(area.x, area.y + area.height - height, area.width, height,
-                    false);
-        }
-        oldArea = area;
-    }
-
-    /**
-     * Sets the content.
-     * Setting the content to null will remove it from 
-     * the pane - however, the creator of the content must dispose of the content.
-     * 
-     * @param content the control to be displayed in the content area or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setContent(Control content) {
-        checkWidget();
-        if (content != null && content.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.content != null && !this.content.isDisposed()) {
-            this.content.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.content = content;
-        layout();
-    }
-
-    /**
-     * Set the widget font.
-     * This will apply the font to the topLeft, topRight and topCenter widgets.
-     */
-    public void setFont(Font f) {
-        super.setFont(f);
-        if (topLeft != null && !topLeft.isDisposed())
-            topLeft.setFont(f);
-        if (topCenter != null && !topCenter.isDisposed())
-            topCenter.setFont(f);
-        if (topRight != null && !topRight.isDisposed())
-            topRight.setFont(f);
-
-        layout();
-    }
-
-    /**
-     * Sets the layout which is associated with the receiver to be
-     * the argument which may be null.
-     * <p>
-     * Note : ViewForm does not use a layout class to size and position its children.
-     * </p>
-     *
-     * @param layout the receiver's new layout or null
-     *
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setLayout(Layout layout) {
-        checkWidget();
-        return;
-    }
-
-    /**
-     * Set the control that appears in the top center of the pane.
-     * Typically this is a toolbar.
-     * The topCenter is optional.  Setting the topCenter to null will remove it from 
-     * the pane - however, the creator of the topCenter must dispose of the topCenter.
-     * 
-     * @param topCenter the control to be displayed in the top center or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTopCenter(Control topCenter) {
-        checkWidget();
-        if (topCenter != null && topCenter.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.topCenter != null && !this.topCenter.isDisposed()) {
-            this.topCenter.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.topCenter = topCenter;
-        layout();
-    }
-
-    /**
-     * Set the control that appears in the top left corner of the pane.
-     * Typically this is a label such as CLabel.
-     * The topLeft is optional.  Setting the top left control to null will remove it from 
-     * the pane - however, the creator of the control must dispose of the control.
-     * 
-     * @param c the control to be displayed in the top left corner or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTopLeft(Control c) {
-        checkWidget();
-        if (c != null && c.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.topLeft != null && !this.topLeft.isDisposed()) {
-            this.topLeft.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.topLeft = c;
-        layout();
-    }
-
-    /**
-     * Set the control that appears in the top right corner of the pane.
-     * Typically this is a Close button or a composite with a Menu and Close button.
-     * The topRight is optional.  Setting the top right control to null will remove it from 
-     * the pane - however, the creator of the control must dispose of the control.
-     * 
-     * @param c the control to be displayed in the top right corner or null
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     *    <li>ERROR_INVALID_ARGUMENT - if the control is not a child of this ViewForm</li>
-     * </ul>
-     */
-    public void setTopRight(Control c) {
-        checkWidget();
-        if (c != null && c.getParent() != this) {
-            SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-        }
-        if (this.topRight != null && !this.topRight.isDisposed()) {
-            this.topRight.setBounds(OFFSCREEN, OFFSCREEN, 0, 0);
-        }
-        this.topRight = c;
-        layout();
-    }
-
-    /**
-     * Specify whether the border should be displayed or not.
-     * 
-     * @param show true if the border should be displayed
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setBorderVisible(boolean show) {
-        checkWidget();
-        if (showBorder == show)
-            return;
-
-        showBorder = show;
-        if (showBorder) {
-            if ((getStyle() & SWT.FLAT) != 0) {
-                BORDER_LEFT = BORDER_TOP = BORDER_RIGHT = BORDER_BOTTOM = 1;
-            } else {
-                BORDER_LEFT = BORDER_TOP = 1;
-                BORDER_RIGHT = BORDER_BOTTOM = 3;
-            }
-        } else {
-            BORDER_BOTTOM = BORDER_TOP = BORDER_LEFT = BORDER_RIGHT = 0;
-        }
-
-        layout();
-        redraw();
-    }
-
-    /**
-     * If true, the topCenter will always appear on a separate line by itself, otherwise the 
-     * topCenter will appear in the top row if there is room and will be moved to the second row if
-     * required.
-     * 
-     * @param show true if the topCenter will always appear on a separate line by itself
-     * 
-     * @exception SWTException <ul>
-     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
-     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
-     * </ul>
-     */
-    public void setTopCenterSeparate(boolean show) {
-        checkWidget();
-        separateTopCenter = show;
-        layout();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part1/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/.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/bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore b/bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/.project b/bundles/org.eclipse.ui.tutorials.rcp.part1/.project
deleted file mode 100644
index e6589e0..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tutorials.rcp.part1</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/bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk b/bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk
deleted file mode 100644
index d2c5f4c..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/Run RcpTutorial1.lnk
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties b/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
deleted file mode 100644
index a1440a5..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               part1.jar,\
-               plugin.properties,\
-               html/
-source.part1.jar = src/
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css
deleted file mode 100644
index 8365f5a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/default_style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt; background: #EEEEEE;}
-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}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-a.bar:link {  text-decoration: none; color: #FFFFFF}
-a.bar:visited {  color: #FFFFFF; text-decoration: none}
-a.bar:hover {  color: #FFFFFF; text-decoration: underline}
-a.bar {  color: #FFFFFF}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg
deleted file mode 100644
index 119ce70..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/Idea.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif
deleted file mode 100644
index f6260db..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/note.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png
deleted file mode 100644
index 4205513..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/spin.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif
deleted file mode 100644
index 77b2451..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/images/tip.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html b/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
deleted file mode 100644
index 6f274c4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/html/tutorial1.html
+++ /dev/null
@@ -1,691 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<title>Rich Client Platform</title>
-<link href="default_style.css" rel=stylesheet>
-</head>
-
-<body>
-
-<div align="right">
-  <font face="Times New Roman, Times, serif" size="2">Copyright © 2003-2004 Ed
-  Burnette.</font>
-  <table border="0" cellspacing="0" cellpadding="2" width="100%">
-    <tbody>
-      <tr>
-        <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff">Eclipse
-          Article</font></font></b></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-<div align="left">
-  <h1 title="RCP Tutorial"><img src="images/Idea.jpg" align="middle" width="120" height="86"></h1>
-</div>
-<h1 align="center">Rich Client Tutorial Part 1</h1>
-<p class="summary">The Rich Client Platform (RCP) is an exciting new way to
-build Java applications that can compete with native applications on any
-platform. This tutorial is designed to get you started building RCP applications
-quickly.</p>
-<p><b>By Ed Burnette, SAS</b><br>
-<font size="-1">July 28, 2004</font></p>
-<hr width="100%">
-<h2>Introduction</h2>
-<p>Try this experiment: Show Eclipse to some friends or co-workers who haven't
-seen it before and ask them to guess what language it is written in. Chances
-are, they'll guess VB, C++, or C#, because those languages are used most often
-for high quality client side applications. Then watch the look on their faces
-when you tell them it was created in Java, especially if they are Java
-programmers.</p>
-<p>Because of its unique open source license, you can use the technologies that
-went into Eclipse to create your own commercial quality programs With previous
-version of Eclipse, this was possible but difficult, especially when you wanted
-to heavily customize the menus, layouts, and other user interface elements. That
-was because the &quot;IDE-ness&quot; of Eclipse was hard-wired into it. Version
-3 introduces the Rich Client Platform, which is basically a refactoring of the
-fundamental parts of Eclipse's UI, allowing it to be used for non-IDE
-applications.</p>
-<p>If you want to cut to the chase and look at the code for this part
-you can use Eclipse's built-in 
-<a href="http://dev.eclipse.org/cvshowto.html">CVS client</a>
-to download the 
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part1">source code</a>
-to your workspace.
-Otherwise, let's take a look at how to construct
-an RCP application.</p>
-
-<h2><a name="section_1"></a> Getting started</h2>
-<p>RCP applications are based on the familiar Eclipse plug-in architecture, (if
-it's not familiar to you, see the references section). Therefore, you'll need to
-create a plug-in to be your main program.
-Select New &gt; Project &gt; Plug-in
-Development &gt; Plug-in Project to bring up the Plug-in Project wizard. On the
-subsequent pages, enter a Project name such as <b>org.eclipse.ui.tutorials.rcp.part1</b>,
-indicate you want a Java project, and
-enter a Plug-in Id (this should match the project name).
-</p>
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-Don't select the Alternate Format option that says
-Create an OSGi bundle manifest for the plug-in.
-See the section on Compatibility and migration for more details.
-</p>
-
-<p>
-The generated plug-in class that you may be familiar with in previous
-releases is no longer required in Eclipse 3.0.
-You can still have one to hold global data if you like, but for this
-example just remove it altogether to save a little space.
-To do this, turn off the option that says
-Generate the Java class that controls the plug-ins life cycle.
-Then Click on Finish to
-generate the template.
-If you get a dialog asking if Eclipse can switch to the Plug-in Development
-Perspective click Yes (this is optional).</p>
-
-<h2>Plug-in manifest</h2>
-<p>The plug-in manifest, plugin.xml, ties all the code and resources together.
-When you first create a plug-in, Eclipse will edit the manifest for you
-automatically.
-You need to define the class name of the main program
-with the <code>org.eclipse.core.runtime.applications</code> extension
-and the perspective with <code>org.eclipse.ui.perspectives</code>.
-To add these extensions use the Add button on the Extensions tab,
-or just type in the XML in the plugin.xml tab.
-Also, you need to tell Eclipse that the plug-in will depend on two other Eclipse plugins,
-<code>org.eclipse.core.runtime</code> and
-<code>org.eclipse.ui</code>, so those need to be added to the
-Dependencies tab or in the XML.
-While you're editing it you can change the version number,
-provider name, and other options to your liking.
-When you're done your plugin.xml should look something like listing 1.
-The classes refered to here will be defined in the next section
-and the tags starting with percents (%) will be defined later in plugin.properties.
-</p>
-
-<p><b>Listing 1. plugin.xml
-</b></p>
-<pre>
-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;?eclipse version=&quot;3.0&quot;?&gt;
-&lt;plugin
-    id=&quot;org.eclipse.ui.tutorials.rcp.part1&quot;
-    name=&quot;%pluginName&quot;
-    version=&quot;0.0.0&quot;
-    provider-name=&quot;%providerName&quot;&gt;
-
-    &lt;runtime&gt;
-        &lt;library name=&quot;part1.jar&quot;&gt;
-            &lt;export name=&quot;*&quot;/&gt;
-        &lt;/library&gt;
-    &lt;/runtime&gt;
-    &lt;requires&gt;
-        &lt;import plugin=&quot;org.eclipse.core.runtime&quot;/&gt;
-        &lt;import plugin=&quot;org.eclipse.ui&quot;/&gt;
-    &lt;/requires&gt;
-
-
-    &lt;extension
-        id=&quot;RcpApplication&quot;
-        point=&quot;org.eclipse.core.runtime.applications&quot;&gt;
-        &lt;application&gt;
-            &lt;run
-                class=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpApplication&quot;&gt;
-            &lt;/run&gt;
-        &lt;/application&gt;
-    &lt;/extension&gt;
-    &lt;extension
-        point=&quot;org.eclipse.ui.perspectives&quot;&gt;
-        &lt;perspective
-            name=&quot;%perspectiveName&quot;
-            class=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;
-            id=&quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;&gt;
-        &lt;/perspective&gt;
-    &lt;/extension&gt;
-&lt;/plugin&gt;
-</pre>
-
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-Although it's not an absolute requirement,
-I recommend keeping your id's and your class names the same.
-For example, <code>org.eclipse.ui.tutorials.rcp.part1.RcpApplication</code>
-is both the fully qualified id for the application and the class name of the
-main program.
-For historical reasons, Eclipse prepends the plug-in's id to the id of your
-top level plug-in elements (like <code>extension</code>) so even though
-plugin.xml says <code>id="RcpApplication"</code> the fully qualified id
-for that extension is <code>org.eclipse.ui.tutorials.rcp.part1.RcpApplication</code>.
-Since the perspective's id is written on a sub-element
-(<code>perspective</code>) it has to be spelled out completely
-in the manifest
-(<code>org.eclipse.ui.tutorials.rcp.part1.RcpPerspective</code>).
-</p>
-
-<h2>The main program</h2>
-<p>
-The <code>org.eclipse.core.runtime.applications</code> extension tells
-the Eclipse runtime the name of your main program.
-Create a new Java class with that name,
-make it implement <code>IPlatformRunnable</code>,
-and put your program code in the <code>run()</code> method.
-Listing 2 shows a simple implementation with the minimum you have to do.
-The <code>RcpWorkbenchAdvisor</code> class will be defined shortly.
-</p>
-<p><b>Listing 2. RcpApplication class
-</b></p>
-<pre>
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
-</pre>
-
-<h2>Creating a default perspective</h2>
-<p>
-Next, you must define at least one perspective and make it the default.
-Perspectives are created by implementing <code>IPerspectiveFactory</code>
-using the class name referred to by the <code>org.eclipse.ui.perspectives</code> extension
-(see listing 3).
-The important part
-of this interface is the <code>createInitialLayout()</code> method where you position and
-open any views and/or editors you'd like the user to start with.
-In this example
-we're not going to create any views so it will be a pretty boring perspective.
-</p>
-
-<p><b>Listing 3. RcpPerspective class
-</b></p>
-<pre>
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class RcpPerspective implements IPerspectiveFactory {
-
-    public RcpPerspective() {
-    }
-
-    public void createInitialLayout(IPageLayout layout) {
-    }
-}
-
-</pre>
-
-<h2>Workbench Advisor</h2>
-<p>
-The Workbench Advisor class,
-which you referred to in the main program,
-helps customize the workbench to add and subtract
-toolbars, perspectives, and so forth.
-This will covered in more detail in part 2 of the tutorial.
-For now, the absolute minimum you have to do here
-is define which perspective is the default one.
-See listing 4 for the code.
-</p>
-
-<p><b>Listing 4. RcpWorkbenchAdvisor class
-</b></p>
-<pre>
-package org.eclipse.ui.tutorials.rcp.part1;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-    public String getInitialWindowPerspectiveId() {
-        return &quot;org.eclipse.ui.tutorials.rcp.part1.RcpPerspective&quot;;
-    }
-}
-</pre>
-
-
-<h2>Miscellaneous</h2>
-<p>The build.properties file (see listing 5)
-will be needed when exporting the application for
-others to use.</p>
-
-<p><b>Listing 5. build.properties
-</b></p>
-<pre>
-bin.includes = plugin.xml,\
-               *.jar,\
-               part1.jar,\
-               plugin.properties
-source.part1.jar = src/
-</pre>
-
-<p>
-Finally, you need to create a plugin.properties file (listing 6) for any natural language strings at the
-plug-in registry level (i.e., things the run-time has to know about your plug-in
-before even loading it).
-You could hard-code these into your plug-in manifest
-but it's best to get into the i18n habit from the start.
-</p>
-
-<p><b>Listing 6. plugin.properties
-</b></p>
-<pre>
-pluginName = RcpTutorial1 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial1
-</pre>
-
-<h2>Taking it for a spin</h2>
-<p>To test and debug this plug-in, select Run &gt;
-Debug..., select Run-time Workbench,
-then click New to create a new configuration.
-In the Arguments tab, select
-<code>org.eclipse.ui.tutorials.rcp.part1.RcpApplication</code>
-for the name of the application to run.
-This comes from the id specified on the
-<code>org.eclipse.core.runtime.applications</code> extension point
-(in this example, <code>RcpApplication</code>), prepended with the
-plug-in id (<code>org.eclipse.ui.tutorials.rcp.part1</code>).
-</p>
-<p>Now switch over to the Plug-ins tab.
-Select the option to
-Choose plug-ins and fragments to launch from the list.
-We want the smallest possible set of plug-ins involved
-in your program so click on Deselect All,
-scroll down and place a checkmark next to your plug-in
-(<code>org.eclipse.ui.tutorials.rcp.part1</code>),
-and click Add Required Plug-ins.
-Then click on Debug and
-you should see a bare-bones Workbench start up (see figure 1).
-Your window will probably be bigger than this; we'll see in
-part 2 of the tutorial how to control that.
-</p>
-
-<p><b>Figure 1. World's simplest RCP application.
-</b></p>
-<img src="images/spin.png">
-
-<p>If you don't see this, you should be able to find an error message in the
-run-time workbench's log file.
-This file is in different places for different releases but
-as of this writing can be found in <code>./configuration/nnnnn.log</code>
-where <i>nnnnn</i> is a long random number. Simply bring
-it up in a text editor and look for the most recent errors. You may find it
-useful to delete the log files before running the program so you won't get
-confused by older messages.</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-Specify the <code>-consoleLog</code> option
-in the Arguments tab under Program Arguments (in the launch configuration)
-to have all error messages sent to the Console.
-This is easier than searching around for the log file.
-</p>
-
-<h2>Running it outside of Eclipse</h2>
-<p>The whole point of all this is to be able to run stand-alone applications
-without the user having to know anything about the Java and Eclipse code being
-used under the covers. For a real application you will probably want to provide
-a self-contained executable generated by an install program like InstallShield.
-That's really beyond the scope of this article though, so we'll do something
-simpler.</p>
-<p>We need to create a simplified version of the Eclipse install directory
-because the Eclipse plug-in loader expects things to be in a certain layout.
-Here are the steps to get started:</p>
-<ol>
-  <li>Right click on the plug-in project and select Export.
-  <li>Select Deployable plug-ins and fragments and then press Next.
-  <li>Select the plug-in(s) that should be included. For this
-  example that would be org.eclipse.ui.tutorials.rcp.part1.
-  <li>Select the option to deploy as a directory structure, and for the
-  directory enter a name ending with RcpTutorial1 (for example, C:\RcpTutorial1 on
-  Windows).
-  <li>If you want to provide source code for your application,
-  select the Include source code option.
-  <li>Press Finish to export the plug-in.
-  Eclipse will perform a full build in the background
-  and populate the directory for you.
-</ol>
-<p>To complete the RcpTutorial1 directory, copy the startup.jar file from the Eclipse
-install directory into the top level, and copy all the org.eclipse plug-ins
-that are required into the plugins directory.
-</p>
-<p>
-Which plug-ins are required, you ask?
-Earlier, when you created a launch configuration to debug
-the RCP application you clicked on
-the Add Required Plug-ins button.
-Simply open the launch configuration again to see the list.
-Copy all the plug-ins that are checked off there.
-In addition, you need to copy the
-<code>org.eclipse.update.configurator</code>
-plug-in if you want automatic discovery of plug-ins at runtime
-(which we do).
-</p>
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-Unfortunately, as of this writing there is no automatic way to do this
-so you need to do the copies by hand.
-This process is error prone and a never-ending source of
-frustration to RCP developers.
-See the troubleshooting section for some helpful advice.
-Hopefully a future version of Eclipse will provide
-better support for this.
-</p>
-<p>
-When you're
-done you should have a structure that looks like this:</p>
-<pre>
-    RcpTutorial1
-    |    startup.jar
-    +--- plugins
-         +--- org.eclipse.core.expressions_3.0.0
-         +--- org.eclipse.core.runtime_3.0.0
-         +--- org.eclipse.help_3.0.0
-         +--- org.eclipse.jface_3.0.0
-         +--- org.eclipse.osgi_3.0.0
-         +--- org.eclipse.swt.win32_3.0.0
-         +--- org.eclipse.swt_3.0.0
-         +--- org.eclipse.ui.tutorials.rcp.part1_0.0.0
-         +--- org.eclipse.ui.workbench_3.0.0
-         +--- org.eclipse.ui_3.0.0
-         +--- org.eclipse.update.configurator_3.0.0
-</pre>
-<p>That's all you need to run an RCP application, but it would be difficult for
-anyone to use it without some kind of launching program. Eclipse uses
-eclipse.exe, but for this example we'll just use a batch file.
-On Windows, create a command file
-called rcptutorial1.cmd and place it in the top level RcpTutorial1 directory.
-</p>
-<pre>
-   echo on
-   setlocal
-   cd %~dp0
-   start javaw -cp startup.jar org.eclipse.core.launcher.Main
-      -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication %*
-   endlocal
-</pre>
-<p>The start command should be all on one line. As before, the -application
-option refers back to the id specified on the
-<code>org.eclipse.core.runtime.applications extension point.</code></p>
-
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-Specify the <code>-clean</code> option
-on the command line to cause the core runtime to discard its caches
-and re-read all the plug-in manifests.
-Normally, Eclipse caches manifest information to speed startup,
-but if you are adding and removing plug-ins or changing configuration
-options the cache may get out of sync.
-Remove <code>-clean</code> for best performance in production applications.
-</p>
-
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-The Linux shell version is similar, but for some reason you have to add
-a few extra options to identify the operating and window system.
-I can't verify this because I don't have a Linux system but this command
-line is reported to work:
-</p>
-<pre>
-   java -cp startup.jar org.eclipse.core.launcher.Main
-      -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication
-      -os linux -ws gtk -arch x86 -nl en_US $*
-</pre>
-
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-To run it under Mac OS, you must use the java_swt executable that comes
-with the Eclipse SDK instead of the regular java executable that comes with
-the Java SDK.
-</p>
-
-<p>You can get as fancy as you want in this script file. Here's a variant that I
-like to use when debugging because it will display any error messages from the
-Eclipse loader in a separate window.
-This is for Windows; the Linux version would be similar.</p>
-<pre>
-   echo on
-   setlocal
-   cd %~dp0
-   java -cp startup.jar org.eclipse.core.launcher.Main
-      -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication
-      -consoleLog %* || pause
-   endlocal
-</pre>
-<p>The java command should be all on one line.</p>
-<p>To eliminate the startup window on Windows, you can use a shortcut instead of
-a script file. Right click inside the RcpTutorial1 folder, select New &gt; Shortcut
-and enter this as the location of the item (on one line):</p>
-<pre>
-    %windir%\system32\javaw.exe -cp startup.jar org.eclipse.core.launcher.Main
-        -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication
-</pre>
-<p>
-Enter a descriptive name on the next page and then press Finish. Then try
-double-clicking on your new shortcut to try it out. You may want to edit the
-shortcut (right click on it and select Properties) to change the default working
-directory.
-All these files can be found in the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part1">example project</a>.
-</p>
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-For fully branding a program with a splash screen, custom icons, and so forth
-you'll need to set up some configuration files and use
-the eclipse.exe launcher.
-See the online help under Platform Plug-in Developer Guide &gt;
-Programmer's Guide &gt; Packaging and delivering Eclipse based products
-for more information.
-</p>
-
-<h2>Troubleshooting</h2>
-<p>
-After I wrote this tutorial I started getting mail from people who couldn't
-run it for one reason or another.
-This section will collect the errors that they've seen and
-the solutions.
-Remember to use the <code>-consoleLog</code> command line option to see
-extra diagnostics in the console window where you invoked your
-RCP application,
-and <code>-clean</code> to purge the core runtime's cache of any stale
-information when changing plug-ins and configurations.
-</p>
-<dl>
-
-<dt>
-<b>Launching failed because the following plug-ins are neither in the
-workspace nor selected on the Target Platform preference page: ...</b>
-<dd>
-This one is a sanity check performed by PDE.
-It's pretty self explanitory so just look at the list
-provided, go to the Plug-ins tab of your launch configuration,
-and put a checkmark next to all of the plug-ins listed
-in the error.
-
-<dt>
-<b>!MESSAGE Unable to locate application extension: org.eclipse.ui.tutorials.rcp.part1.RcpApplication</b>
-<dd>
-First, check to make sure that the plug-in containing your
-application is included in your launch configuration.
-Next, check the spelling, and remember that the application name
-is the plug-in id followed by a period and the id you specified on the
-<code>org.eclipse.core.runtime.applications</code> extension.
-This message might also be printed if all the required
-plug-ins are not available at run-time.
-Check the log for additional error messages that may identify the
-specific plug-ins that are missing.
-
-<dt>
-<b>!MESSAGE Bundle update@/c:/RcpTutorial1/plugins/org.eclipse.ui_3.0.0/ [13] was not resolved.</b>
-<dd>
-This one is a little tougher.
-It usually means that some prerequisite of the plug-in listed was not there.
-Usually the log will contain additional messages that will tell you
-which plug-ins were missing.
-You can also find out exactly what's going on by re-running the program
-with the <code>-console</code> command line option.
-This will allow you to enter OSGi console commands to diagnose the problem.
-After the error occurs again, go to the console window and enter the
-<code>ss</code> command.
-You'll see one or more plug-ins (bundles) which were installed but not resolved.
-Pick one of them (in the above message it would be number 13), and enter the
-<code>diag <i>nnn</i></code> command, where <i>nnn</i>
-is the bundle number. For example, "<b>diag 13</b>".
-This will tell you what the missing bundle is.
-Note that you can't run OSGi commands if the program has already terminated.
-
-<dt>
-<b>'1.4' target mode requires '-1.4' compliance mode: 1.3</b>
-<dd>
-This is one of the more annoying PDE build errors, especially since you have to go hunt
-in a zip file for it.
-To correct it, go to Window &gt; Preferences &gt; Java &gt; Compiler
-&gt; Compliance and Classfiles.
-Adjust the compliance levels as follows:<br>
-<table border="1">
-<tr><td>Compiler compliance level: <td>1.4
-<tr><td>Use default compliance settings: <td>off
-<tr><td>Generated .class files compatibility: <td>1.4
-<tr><td>Source compatibility: <td>1.4
-<tr><td>Disallow identifiers called 'assert': <td>Error
-</table>
-
-<dt>
-<b>
-java.lang.RuntimeException: Application "org.eclipse.ui.tutorials.rcp.part1.RcpApplication" could not be found in the registry. The applications available are:
-&lt;NONE&gt;.
-</b>
-<dd>
-This is caused by a missing plug-in, most commonly
-<code>org.eclipse.update.configurator</code>.
-The update configurator is responsible for scanning the plugins directory to
-discover what plug-ins are available.
-Without it, you have to list them out manually in a configuration file
-(config.ini).
-Unfortunately this plug-in is not part of the standard
-RCP SDK, so you have to copy it from the regular Eclipse SDK.
-
-<dt>
-<b>java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Control</b>
-<br>(a number of different SWT classes may be mentioned in the error)
-<dd>
-When running an RCP application under Linux GTK you need specify command
-line options that identify your operating and windowing system, for example,
-<code>-os linux -ws gtk</code>.
-When running under Mac OS, you need to use the java_swt program that came with
-the Eclipse SDK instead of the normal java program.
-
-</dl>
-
-
-<h2>Compatibility and migration</h2>
-<p>
-Astute readers will notice a new 3.0 version comment in plugin.xml
-and a few references in Eclipse
-wizards and documentation to OSGi and an optional manifest file
-called MANIFEST.MF.
-What's all that about?
-For the most part this is transparent and RCP
-developers don't have to worry about it.
-But just in case, let's take a few moments to discuss these changes
-from Eclipse 2.1.
-</p>
-<p>
-The 3.0 tag in plugin.xml
-(<code>&lt;?eclipse version=&quot;3.0&quot;?&gt;</code>)
-says whether or not the plugin.xml itself is in 3.0 form.
-For Eclipse 3.0 there were various changes to the plugins
-(code moved, new plugins, etc.) and various extension points moved.
-The presence of the 3.0 tag tells the runtime that it does not
-need to do any "munging" of the plugin.xml to map the old
-form/names onto the new form/names. 
-</p>
-<p>
-If you need to convert a version 2.1 plug-in to 3.0, we suggest you
-use the PDE 3.0 migration wizard instead of doing it manually.
-To run it from the Package Explorer, right click on plugin.xml
-and select PDE Tools &gt; Migrate to 3.0.
-After you do this the plug-in will not function in earlier
-versions of Eclipse.
-The tool does all the munging to use a compatibility layer
-(<code>org.eclipse.core.runtime.compatibility</code>),
-updates your classpaths, and so forth.
-Later you can consult the Eclipse 3.0 Plug-in Migration Guide
-(see the references or online help)
-for assistance in converting any deprecated API calls.
-After all the old calls have been removed you can replace
-the compatibility layer with the regular runtime code
-(<code>org.eclipse.core.runtime</code>).
-</p>
-<p>
-Finally, Eclipse 3.0  introduced a new run-time system based on OSGi standards that
-uses bundles and a new manifest file (MANIFEST.MF) to implement plug-ins.
-The use of MANIFEST.MF, in normal circumstances, is completely optional.
-You will notice that almost all of the 3.0 SDK plug-ins do NOT have one
-yet all are marked as 3.0 and many do not require the compatibility layer.
-The only reason you would want to have a MANIFEST.MF is if you need to
-use a particular OSGi capability that is not exposed through plugin.xml
-(for example, import-package).
-Otherwise it's recommended at this time that you don't have one.
-</p>
-
-<h2>Conclusion</h2>
-<p>In part 1 of this tutorial, we looked at what is necessary to create a
-bare-bones Rich Client application. The next part will delve into customizations
-using the WorkbenchAdvisor class.
-All the sample code for this part may be viewed at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part1">Eclipse project here</a>.
-You can use
-<a href="http://dev.eclipse.org/cvshowto.html">Eclipse's built-in CVS client</a>
-to download the source to your workspace.
-</p>
-
-<h2>References</h2>
-<a href="http://eclipse.org/articles/Article-RCP-2/tutorial2.html">
-RCP Tutorial Part 2</a><br>
-<a href="http://eclipse.org/articles/Article-RCP-3/tutorial3.html">
-RCP Tutorial Part 3</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp/index.html">
-Eclipse Rich Client Platform</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ui.examples.rcp.browser/readme.html">RCP Browser example
-(project org.eclipse.ui.examples.rcp.browser)</a><br>
-<a href="http://www.eclipse.org/articles/Article-PDE-does-plugins/PDE-intro.html">PDE
-Does Plug-ins</a><br>
-<a href="http://www.eclipse.org/articles/Article-Internationalization/how2I18n.html">How
-to Internationalize your Eclipse Plug-in</a><br>
-<a href="http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html">Notes
-on the Eclipse Plug-in Architecture</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.platform.doc.isv/porting/eclipse_3_0_porting_guide.html">
-Eclipse 3.0 Plug-in Migration Guide</a><br>
-
-<p><small>IBM is trademark of International Business Machines Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Java and all Java-based trademarks and logos are trademarks or
-registered trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</small></p>
-<p><small>Microsoft and Windows are trademarks of Microsoft Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Other company, product, and service names may be trademarks or service
-marks of others.</small></p>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties b/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
deleted file mode 100644
index 99f0427..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = RcpTutorial1 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial1
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml b/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
deleted file mode 100644
index 1d77c85..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tutorials.rcp.part1"
-   name="%pluginName"
-   version="0.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="part1.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         id="RcpApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part1.RcpApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            class="org.eclipse.ui.tutorials.rcp.part1.RcpPerspective"
-            id="org.eclipse.ui.tutorials.rcp.part1.RcpPerspective">
-      </perspective>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd
deleted file mode 100644
index da464ce..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-start javaw -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication %*
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd
deleted file mode 100644
index 519c8e8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/rcptutorial1debug.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part1.RcpApplication -consoleLog %* || pause
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java
deleted file mode 100644
index 02ab801..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java
deleted file mode 100644
index 67591ae..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpPerspective.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class RcpPerspective implements IPerspectiveFactory {
-
-	public RcpPerspective() {
-	}
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java
deleted file mode 100644
index 7a4cebf..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part1/src/org/eclipse/ui/tutorials/rcp/part1/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part1;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public String getInitialWindowPerspectiveId() {
-		return "org.eclipse.ui.tutorials.rcp.part1.RcpPerspective"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part2/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/.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/bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore b/bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/.project b/bundles/org.eclipse.ui.tutorials.rcp.part2/.project
deleted file mode 100644
index 240ce3a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tutorials.rcp.part2</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/bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk b/bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk
deleted file mode 100644
index a0a3787..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/Run RcpTutorial2.lnk
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties b/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
deleted file mode 100644
index a257280..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               part2.jar,\
-               plugin.properties,\
-               html/
-source.part2.jar = src/
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css
deleted file mode 100644
index 8365f5a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/default_style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt; background: #EEEEEE;}
-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}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-a.bar:link {  text-decoration: none; color: #FFFFFF}
-a.bar:visited {  color: #FFFFFF; text-decoration: none}
-a.bar:hover {  color: #FFFFFF; text-decoration: underline}
-a.bar {  color: #FFFFFF}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png
deleted file mode 100644
index 9ee532c..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Application.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg
deleted file mode 100644
index 119ce70..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Idea.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png
deleted file mode 100644
index bffabe4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/Lifecycle.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png
deleted file mode 100644
index b4b512b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/hellotitle.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif
deleted file mode 100644
index f6260db..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/note.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif
deleted file mode 100644
index 77b2451..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/images/tip.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html b/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
deleted file mode 100644
index 57bf691..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/html/tutorial2.html
+++ /dev/null
@@ -1,555 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<title>Rich Client Platform</title>
-<link href="default_style.css" rel=stylesheet>
-</head>
-
-<body>
-
-<div align="right">
-  <font face="Times New Roman, Times, serif" size="2">Copyright © 2004 Ed
-  Burnette.</font>
-  <table border="0" cellspacing="0" cellpadding="2" width="100%">
-    <tbody>
-      <tr>
-        <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff">Eclipse
-          Article</font></font></b></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-<div align="left">
-  <h1 title="RCP Tutorial"><img src="images/Idea.jpg" align="middle" width="120" height="86"></h1>
-</div>
-<h1 align="center">Rich Client Tutorial Part 2</h1>
-<p class="summary">
-The Rich Client Platform (RCP)
-allows you to
-build Java applications that can compete with native
-applications on any platform.
-Part 1 of the tutorial introduced you to the platform
-and the steps used to build the smallest possible RCP program.
-In part 2 we'll look at what we did in more detail
-and introduce some of the configuration classes
-that let you take control of much of the layout and
-functionality of an RCP application.
-</p>
-<p><b>By Ed Burnette, SAS</b><br>
-<font size="-1">August 9, 2004</font></p>
-<hr width="100%">
-
-<h2>Introduction</h2>
-<p>
-In Eclipse 2.1, many functions of the Eclipse IDE were hard-wired
-into the code.
-These included the name and location of the File menu,
-the title of the Workbench Window, and the existence of
-the status bar.
-This was fine for the IDE but when people started to
-use Eclipse as a basis for non-IDE programs, sometimes
-these things didn't make sense.
-Although all the source code was provided, it was
-inconvenient to find the right places that had to be
-changed.
-So for Eclipse 3, the designers refactored the API to
-make these and other hard-wired aspects of the user
-interface controllable through public API.
-</p>
-<p>
-To this end, Eclipse 3 introduces a brand new
-<code>WorkbenchAdvisor</code> class and a set of
-<code>*Configurer</code> interfaces.
-The most important class for an RCP developer to understand is
-<code>WorkbenchAdvisor</code>.
-You extend the base version of the <code>WorkbenchAdvisor</code> class
-in your RCP application and override one or more of the methods
-to set whatever options you want.
-In part 1, we implemented one of the simpler methods,
-<code>getInitialWindowPerspectiveId</code>,
-in order to return the one and only perspective (set of views, editors, and menus)
-for the application.
-</p>
-<p>
-In the next section we'll take a look at the other advisor methods
-to get a quick overview of what is possible with them.
-If you want to cut to the chase and look at or download
-the code for this part you can view the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part2">Eclipse project here</a>.
-</p>
-<p>
-Otherwise, let's start by clearing up
-some possible confusion about
-the relationship between
-Applications, Workbenches, and Workbench Windows.
-</p>
-
-<h2>Applications, Workbenches, and Workbench Windows</h2>
-<p>
-The Application is a class you create that acts as your RCP program's main routine.
-You can think of it as the controller for the program.
-Just like the controller in a Model2 architecture, it is short and sweet
-and doesn't change significantly for different projects.
-All it does is create a Workbench and attach a Workbench Advisor to it.
-</p>
-<p>
-The Workbench is declared and maintained for you as part of the RCP framework.
-There is only one Workbench but it can have more than one visible top-level
-Workbench Window.
-For example, in the Eclipse IDE, when you first start Eclipse you will see
-one Workbench Window, but if you select <b>Window &gt; New Window</b> a second
-window pops up --
-two Workbench Windows, but only one Workbench.
-</p>
-<p>
-Figure 1 shows the relationship between your Application, the Workbench, and
-Workbench Windows.
-</p>
-<img src="images/Application.png">
-<p><b>Figure 1. An RCP program has one Application class that you provide, and one
-Workbench class provided by the framework.
-Typically there is only one Workbench Window but
-the framework supports having more than one.
-</b></p>
-
-<p>
-Ok, now that that's out of the way, let's get our feet wet with
-changing how the Workbench Window looks.
-</p>
-
-<h2>Customizing the Workbench Window</h2>
-<p>
-The simple example in part 1 left room for a status line, tool bar, and
-other visual elements even though they weren't used.
-We could argue that those should be off by default, but
-for some reason they're not so if you don't want them
-then you have to turn them off yourself.
-Also the window didn't have a title and it
-opened much larger than it needed to be.
-A good place to take care of all
-this is the <code>preWindowOpen</code> method
-of <code>WorkbenchAdvisor</code>,
-as shown in listing 1.
-</p>
-<p><b>Listing 1. preWindowOpen example.
-</b></p>
-<pre>
-    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        super.preWindowOpen(configurer);
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-        configurer.setTitle("Hello, RCP");
-    }
-</pre>
-
-<p>
-Notice how a Configurer interface (in this case, <code>IWorkbenchWindowConfigurer</code>)
-is passed in to the advisor method.
-You call methods on the Configurer interfaces to actually
-change the options.
-These interfaces are not covered in any detail in this tutorial
-but you can refer to their Javadoc for more information.
-See figure 2 for the final result.
-</p>
-
-<img src="images/hellotitle.png">
-<p><b>
-Figure 2. Workbench window with a title.
-Unused controls are turned off and a title is added using the
-<code>preWindowOpen</code> event of
-<code>WorkbenchAdvisor</code>.
-</b></p>
-
-<h2>Digging into the <code>WorkbenchAdvisor</code> class</h2>
-<p>
-Since RCP is new and documentation is sparse,
-we're going to depart from our tutorial format at this point to
-examine some background information about the
-<code>WorkbenchAdvisor</code> class.
-Methods in this class are called from the platform to
-notify you at every point in the lifecycle of the Workbench
-and top level Workbench Windows.
-They also provide a way to handle exceptions in the
-event loop,
-and provide important parameters to the Workbench such as
-the default perspective.
-First let's take a look at the lifecycle events.
-</p>
-
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-Why not an interface?
-You'll notice that <code>WorkbenchAdvisor</code> is an abstract class.
-For the most part, Eclipse APIs shun abstract classes in favor of interfaces and
-base classes that implement those interfaces.
-In this case, the designers intend for <code>WorkbenchAdvisor</code>
-to <i>always</i> be implemented
-by the RCP application, the base class doesn't contain any significant functionality,
-and it is very likely that new methods will need to be added to the base class in the
-future (something that is difficult using interfaces).
-So this was a deliberate design choice.
-See the article on evolving Java APIs in the reference section
-for more tips.
-</p>
-
-<h3>Lifecycle events</h3>
-
-<p>
-There is only one Workbench, and
-typically there is also only one Workbench Window, though you can open
-more than one if you like (on different monitors for example).
-See figure 3 for the most important events in the lifetime of
-Workbenches and their windows.
-Table 1 shows all the methods that you can define in your
-own subclass of <code>WorkbenchAdvisor</code> to let you
-hook into lifecycle events for the Workbench.
-Table 2 shows the corresponding methods for
-Workbench Windows.
-</p>
-
-<img src="images/Lifecycle.png">
-<p><b>Figure 3. Important events in the lifecycle of the Workbench and Workbench Window(s).
-These correspond to methods in <code>WorkbenchAdvisor</code> that are called by the Platform
-to let you perform custom code at these points in time.
-</b></p>
-
-<p><b>Table 1.
-Workbench lifecycle hooks provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-		
-	<tr><td>initialize
-		<td>Called first to perform any setup such as
-		parsing the command line, registering adapters, declaring images, etc..
-		<td><code>IWorkbenchConfigurer<code>
-		
-	<tr><td>preStartup
-		<td>Called after initialization but before the first window is opened.
-		May be used to set options affecting which editors and views
-		are initially opened.
-		<td>&nbsp;
-		
-	<tr><td>postStartup
-		<td>Called after all windows have been opened or restored,
-		but before the event loop starts.
-		It can be used to start automatic processes and to
-		open tips or other windows.
-		<td>&nbsp;
-
-	<tr><td>preShutdown
-		<td>Called after the event loop has terminated but before any
-		windows have been closed.
-		<td>&nbsp;
-
-	<tr><td>postShutdown
-		<td>Called after all windows are closed during Workbench shutdown.
-		This can be used to save the current application state and
-		clean up anything created
-		by <code>initialize</code>.
-		<td>&nbsp;
-
-</table>
-
-<p><b>Table 2.
-Workbench window lifecycle hooks provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>. 
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-
-	<tr><td>preWindowOpen
-		<td>Called in the constructor of the Workbench Window.
-		Use this method to set options such as whether or not the window will have
-		a menu bar.
-		However none of the window's widgets have been created yet so they
-		can't be referenced in this method.
-		<td><code>IWorkbenchWindowConfigurer</code>
-
-	<tr><td>fillActionBars
-		<td>Called right after <code>preWindowOpen</code>.
-		This is where you set up any hard-wired menus and toolbars.
-		This is probably the most complicated method here because of the flags
-		it is passed.
-		Note: takes a Workbench window, not a configurer.
-		<td><code>IWorkbenchWindow</code>,
-		<code>IActionBarConfigurer</code>, flags
-
-	<tr><td>postWindowRestore
-		<td>Optionally called for cases when a window has been restored
-		from saved state but before it is opened.
-		<td><code>IWorkbenchWindowConfigurer</code>
-		
-	<tr><td>postWindowCreate
-		<td>Called after a window has been restored
-		from saved state or created from scratch
-		but before it is opened.
-		<td><code>IWorkbenchWindowConfigurer</code>
-		
-	<tr><td>openIntro
-		<td>Called immediately before a window is opened
-		in order to create the Intro component (if any).
-		<td><code>IWorkbenchWindowConfigurer</code>
-		
-	<tr><td>postWindowOpen
-		<td>Called right after the Workbench window is opened.
-		Can be used to tweak any of the window's widgets, for example
-		to set a title or change its size.
-		<td><code>IWorkbenchWindowConfigurer</code>
-
-	<tr><td>preWindowShellClose
-		<td>Called before the Workbench window is closed
-		(technically, before its shell is closed).
-		This is the only function that can veto the close, so it's
-		a good place for an "Are you sure" kind of dialog.
-		<td><code>IWorkbenchWindowConfigurer</code>
-
-	<tr><td>postWindowClose
-		<td>Called after the Workbench window is closed
-		Can be used to clean up anything created by
-		<code>preWindowOpen</code>.
-		<td><code>IWorkbenchWindowConfigurer</code>
-</table>
-
-<h3>Event loop hooks</h3>
-
-<p>
-The event loop is the code that is running most of the time during
-the life of the Workbench.
-It handles all user inputs and dispatches them to the right listeners.
-RCP provides a couple of hooks to handle crashes and perform work during idle time
-(see table 3).
-</p>
-
-<p><b>Table 3.
-Event loop hooks provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-		
-	<tr><td>eventLoopException
-		<td>Called if there is an unhandled exception in the event loop.
-		The default implementation will log the error.
-		<td><code>Throwable</code>
-
-	<tr><td>eventLoopIdle
-		<td>Called when the event loop has nothing to do.
-		<td><code>Display</code>
-</table>
-
-<h3>Information getting hooks</h3>
-<p>
-Next, there are few methods you can implement that
-the platform will call to get information about your application
-(see table 4).
-The most important one (and the only one that is not optional)
-is <code>getInitialWindowPerspectiveId</code>.
-We used this in part 1 to return the id of the starting (and only)
-perspective in RcpTest.
-</p>
-
-<p><b>Table 4.
-Information requests provided by <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-		
-	
-	<tr><td>getDefaultPageInput
-		<td>Return the default input for new workbench pages.
-		Defaults to null.
-		<td>&nbsp;
-
-	<tr><td>getInitialWindowPerspectiveId
-		<td>Return the initial perspective used for new workbench windows.
-		This is a required function that has no default.
-		<td>&nbsp;
-
-	<tr><td>getMainPreferencePageId
-		<td>Return the preference page that should be displayed first.
-		Defaults to null, meaning the pages should be arranged alphabetically.
-		<td>&nbsp;
-
-	<tr><td>isApplicationMenu
-		<td>Return true if the menu is one of yours.
-		OLE specific; see Javadoc for details.
-		<td><code>IWorkbenchWindowConfigurer</code>,
-		<code>String</code>
-</table>
-
-<h3>Advanced configuration</h3>
-<p>
-The <code>WorkbenchAdvisor</code> events above should be
-sufficient for most applications, but just in case,
-RCP provides two more methods to take complete control
-of how your application windows and controls are created.
-They're listed in table 5 for completeness but I
-don't expect many programs will need them.
-</p>
-
-<p><b>Table 5.
-Advanced methods in <code>org.eclipse.ui.application.WorkbenchAdvisor</code>.
-</b></p>
-<table border="1">
-	<tr><th>Method
-		<th>Description
-		<th>Parameter(s)
-	
-	<tr><td>createWindowContents
-		<td>Creates the contents of one window.
-		Override this method to define custom contents and layout.
-		<td><code>IWorkbenchWindowConfigurer</code>,
-		<code>Shell</code>
-
-	<tr><td>openWindows
-		<td>Open all Workbench windows on startup.
-		The default implementation tries to restore the previously
-		saved workbench state.
-		<td>&nbsp;
-
-</table>
-
-
-<h2>Preparing for internationalization</h2>
-<p>
-Internationalization (i18n for short) opens
-up your application to a much wider market.
-The first step is simply to pull all your human readable text messages out of
-your code and into a standard format properties file.
-Even if you are not planning to make your code available in multiple languages,
-separating the messages makes it much easier for you to spell check them and
-check them for consistent grammar and word usage.
-</p>
-<p>
-There's nothing magic about messages in Eclipse - you just
-use the plain old Java resource bundle mechanism that you may
-already be familiar with.
-The Eclipse IDE provides a nice Externalization wizard to make
-this less of a chore.
-See the references section below for a link to an article
-that describes how to use it in detail.
-</p>
-<p>
-Briefly, when you're writing a new section of code
-you will often hard-code strings just to get something going.
-For example, in listing 1 we used:
-</p>
-<pre>
-	configurer.setTitle("Hello, RCP");
-</pre>
-<p>
-Once you have a section of code working, though, you should get into the habit
-of invoking the Externalization wizard to pull these strings out.
-Simply right click on the project and select
-<b>Source > Find Strings to Externalize...</b>.
-Any source files that need attention will be listed.
-Pick one and press <b>Externalize...</b> to open the Externalization wizard.
-Follow the directions there to have the wizard convert your code to
-use a resource bundle reference.
-Alternatively you could right click on a single source file and select
-<b>Source > Externalize Strings...</b>.
-When you're done your source code will look something like this:
-</p>
-<pre>
-	configurer.setTitle(Messages.getString("Hello_RCP")); //$NON-NLS-1$
-</pre>
-<p>
-The string <code>$NON-NLS-1$</code> is a hint for both the compiler and
-the Externalization wizard that the first character string on this line
-is a tag or keyword of some sort and should not be localized.
-</p>
-<p>
-Also you will have a standard format .properties file containing
-the keys and values for all your messages.
-In the example code you will find a file called RcpTutorial.properties
-that contains:
-
-</p>
-<pre>
-Hello_RCP=Hello, RCP
-</pre>
-<p>
-Finally, the wizard will create a class that wraps a Java resource bundle
-to load and find things in the .properties file.
-</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-To perform substitutions use the standard
-<code>java.text.MessageFormat</code> class.
-The <code>format()</code> method is somewhat similar
-to the C routine <code>sprintf</code>, except
-instead of taking format specifiers starting with percent signs,
-<code>format()</code> uses numbered parameters in curly braces.
-Here's an example from the <code>XMLStructureCreator</code> class in the
-compare example plug-in (split onto multiple lines for readability):
-<pre>
-	bodynode.setName(MessageFormat.format("{0} ({1})",
-		new String[] {XMLCompareMessages.getString("XMLStructureCreator.body"),
-		Integer.toString(fcurrentParent.bodies)})); //$NON-NLS-2$ //$NON-NLS-1$
-</pre>
-<p>
-This isn't a good example, though, because typically the format string
-itself should be in a message file too.
-However, messages intended to be read by another program
-(commands, keywords, scripts, and so forth) should
-<b>not</b> be put in a message file.
-</p>
-<p>
-To keep these lines from getting incredibly long you will probably want to
-create helper methods.
-For examples of helper methods see <code>org.eclipse.internal.runtime.Policy</code>.
-</p>
-
-<h2>Conclusion</h2>
-<p>
-In part 2 of this tutorial, we looked at some of the newly refactored API
-of the Rich Client Platform that allows you to develop customized
-native-looking client-side Java programs.
-The next part will delve into defining and populating menus and toolbars.
-All the sample code for this part may be viewed at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part2">Eclipse project here</a>.
-You can use
-<a href="http://dev.eclipse.org/cvshowto.html">Eclipse's built-in CVS client</a>
-to download the source to your workspace.
-</p>
-
-<h2>References</h2>
-<p>
-<a href="http://eclipse.org/articles/Article-RCP-1/tutorial1.html">
-RCP Tutorial Part 1</a><br>
-<a href="http://eclipse.org/articles/Article-RCP-3/tutorial3.html">
-RCP Tutorial Part 3</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp/index.html">
-Eclipse Rich Client Platform</a><br>
-<a href="http://www.eclipse.org/articles/Article-Internationalization/how2I18n.html">
-How to Internationalize your Eclipse Plug-in</a><br>
-<a href="http://www.fawcette.com/javapro/2002_06/online/servlets_06_11_02/">Almost All Java Web Apps Need Model 2
-(introduction to the Model 2 architecture)</a><br>
-<a href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">
-Evolving Java-based APIs</a><br>
-<a href="http://www.eclipsepowered.org">
-Eclipse Powered (rich client plug-ins and resources)</a><br>
-</p>
-
-<p><small>IBM is trademark of International Business Machines Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Java and all Java-based trademarks and logos are trademarks or
-registered trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</small></p>
-<p><small>Microsoft and Windows are trademarks of Microsoft Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Other company, product, and service names may be trademarks or service
-marks of others.</small></p>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties b/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
deleted file mode 100644
index f45f2d1..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = RcpTutorial2 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial2
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml b/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
deleted file mode 100644
index d48a99f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tutorials.rcp.part2"
-   name="%pluginName"
-   version="0.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="part2.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         id="RcpApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part2.RcpApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            class="org.eclipse.ui.tutorials.rcp.part2.RcpPerspective"
-            id="org.eclipse.ui.tutorials.rcp.part2.RcpPerspective">
-      </perspective>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd
deleted file mode 100644
index 7cc2405..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-start javaw -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part2.RcpApplication %*
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd
deleted file mode 100644
index 48031c3..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/rcptutorial2debug.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part2.RcpApplication -consoleLog %* || pause
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java
deleted file mode 100644
index ac11f7f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Created on Dec 31, 2003
- */
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author sasebb
- */
-public class Messages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.tutorials.rcp.part2.RcpTutorial"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	/**
-	 * 
-	 */
-	private Messages() {
-
-		// TODO Auto-generated constructor stub
-	}
-	/**
-	 * @param key
-	 * @return
-	 */
-	public static String getString(String key) {
-		// TODO Auto-generated method stub
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java
deleted file mode 100644
index 6b7cf06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java
deleted file mode 100644
index 5b44e42..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpPerspective.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class RcpPerspective implements IPerspectiveFactory {
-
-	public RcpPerspective() {
-	}
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties
deleted file mode 100644
index 86de732..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpTutorial.properties
+++ /dev/null
@@ -1 +0,0 @@
-Hello_RCP=Hello, RCP
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java
deleted file mode 100644
index 20e43fc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part2/src/org/eclipse/ui/tutorials/rcp/part2/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part2;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public String getInitialWindowPerspectiveId() {
-		return "org.eclipse.ui.tutorials.rcp.part2.RcpPerspective"; //$NON-NLS-1$
-	}
-
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		super.preWindowOpen(configurer);
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-		configurer.setTitle(Messages.getString("Hello_RCP")); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath b/bundles/org.eclipse.ui.tutorials.rcp.part3/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/.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/bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore b/bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/.project b/bundles/org.eclipse.ui.tutorials.rcp.part3/.project
deleted file mode 100644
index 0f0612a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tutorials.rcp.part3</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/bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk b/bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk
deleted file mode 100644
index 51df88b..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/Run RcpTutorial3.lnk
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml b/bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml
deleted file mode 100644
index c6ad379..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/book.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<toc label="RCP Help Sample"  topic="html/book.html">
-	<topic label="Overview" href="html/overview.html"/>
-	<topic label="Tutorial" href="html/tutorial3.html"/>
-</toc>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties b/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
deleted file mode 100644
index e8f043d..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = plugin.xml,\
-               *.jar,\
-               part3.jar,\
-               plugin.properties,\
-               book.xml,\
-               html/,\
-               icons/
-source.part3.jar = src/
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html
deleted file mode 100644
index 3f7fce1..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/book.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Book.html goes here</h1>
-</body>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css
deleted file mode 100644
index 8365f5a..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/default_style.css
+++ /dev/null
@@ -1,15 +0,0 @@
-p, table, td, th {  font-family: arial, helvetica, geneva; font-size: 10pt}
-pre {  font-family: "Courier New", Courier, mono; font-size: 10pt; background: #EEEEEE;}
-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}
-.indextop { font-size: x-large;; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold}
-.indexsub { font-size: xx-small;; font-family: Arial, Helvetica, sans-serif; color: #8080FF}
-a.bar:link {  text-decoration: none; color: #FFFFFF}
-a.bar:visited {  color: #FFFFFF; text-decoration: none}
-a.bar:hover {  color: #FFFFFF; text-decoration: underline}
-a.bar {  color: #FFFFFF}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg
deleted file mode 100644
index 119ce70..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/Idea.jpg
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png
deleted file mode 100644
index 3b33450..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/complete.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png
deleted file mode 100644
index 3cb4fa6..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/help.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif
deleted file mode 100644
index f6260db..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/note.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif
deleted file mode 100644
index 4859d6f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_1.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif
deleted file mode 100644
index 5ea43dc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_2.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif
deleted file mode 100644
index a69b68e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_3.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif
deleted file mode 100644
index a1ad63f..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_4.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif
deleted file mode 100644
index d86a748..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_5.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif
deleted file mode 100644
index b9eb4ec..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tag_6.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif
deleted file mode 100644
index 77b2451..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/images/tip.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html
deleted file mode 100644
index b7129cd..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/overview.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Overview.html goes here</h1>
-</body>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html b/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
deleted file mode 100644
index 10687bb..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/html/tutorial3.html
+++ /dev/null
@@ -1,523 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-
-<head>
-<title>Rich Client Platform</title>
-<link href="default_style.css" rel=stylesheet>
-</head>
-
-<body>
-
-<div align="right">
-  <font face="Times New Roman, Times, serif" size="2">Copyright © 2004 Ed
-  Burnette.</font>
-  <table border="0" cellspacing="0" cellpadding="2" width="100%">
-    <tbody>
-      <tr>
-        <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica"><font color="#ffffff">Eclipse
-          Article</font></font></b></td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-<div align="left">
-  <h1 title="RCP Tutorial"><img src="images/Idea.jpg" align="middle" width="120" height="86"></h1>
-</div>
-<h1 align="center">Rich Client Tutorial Part 3</h1>
-<p class="summary">
-The Rich Client Platform (RCP)
-lets you pick and choose functionality from Eclipse
-for use in your own applications.
-Parts 1 and 2 of this tutorial introduced you to the platform
-and some of the configuration classes it provides.
-Part 3 discusses how to add
-functionality such as menus, views, and help files.
-</p>
-<p><b>By Ed Burnette, SAS</b><br>
-<font size="-1">July 28, 2004</font></p>
-<hr width="100%">
-
-<h2>Introduction</h2>
-<p>
-Much of our discussion in the previous
-two parts focused on taking things away from
-the platform - turning off toolbars, getting
-rid of menus, and so forth.
-For this installment we're going to look at putting things back in.
-All source code for the tutorial 
-can be downloaded from the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part3">Eclipse project here</a>.
-</p>
-
-<h2>Views</h2>
-<p>
-Let's start with a view.
-Eclipse's Plug-in Development Environment
-provides a nice set of extension templates to get you started writing
-sample views, editors, menus,
-and other components.
-Unfortunately, as of this writing, they are almost useless for
-RCP development because the code produced introduces all
-sorts of dependencies on IDE and resource packages
-and plug-ins.
-</p>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-The rule of thumb is that anything that references a resource is
-not intended for RCP developers because of the extra code
-and dependencies on workspaces it
-pulls in.
-So if you see the <code>org.eclipse.core.resources</code>
-plug-in in your dependency list, or see an import for
-some class from that package, you're probably doing something wrong.
-This is not a hard and fast rule though, so
-resources should be considered an <i>optional</i>
-part of the Rich Client Platform.
-</p>
-<p>
-To create a view without the templates, you can
-use the schema-based extension wizards from the
-Plug-in Manifest editor (Extensions pane > Add > Generic Wizards > Schema-based
-Extensions) or simply edit the XML in the Source pane.
-Either way, you want to end up with extension XML like this:
-</p>
-<pre>
-	&lt;extension
-	      point="org.eclipse.ui.views"&gt;
-	   &lt;category
-	         name="SampleCategory"
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	         id="org.eclipse.ui.tutorials.rcp.part3.viewCategory"&gt;
-	   &lt;/category&gt;
-	   &lt;view
-	         name="Sample"
-	         icon="icons/sample.gif"
-	         category="org.eclipse.ui.tutorials.rcp.part3.viewCategory"
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	         class="org.eclipse.ui.tutorials.rcp.part3.views.SampleView"
-	         id="org.eclipse.ui.tutorials.rcp.part3.views.SampleView"&gt;
-	   &lt;/view&gt;
-	&lt;/extension&gt;
-</pre>
-<p>
-The view category (<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-is a way to organize your views in the
-Show Views dialog.
-The class (<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">)
-extends the <code>ViewPart</code> abstract class as shown below:
-</p>
-
-<pre>
-	public class SampleView extends ViewPart {
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	    public static final String ID_VIEW =
-	        "org.eclipse.ui.tutorials.rcp.part3.views.SampleView"; //$NON-NLS-1$
-	
-	    private TableViewer viewer;
-	
-	    public SampleView() {
-	    }
-	
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	    public void createPartControl(Composite parent) {
-	        viewer =
-	            new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	        viewer.setContentProvider(new ViewContentProvider());
-	        viewer.setLabelProvider(new ViewLabelProvider());
-	        viewer.setInput(this);
-	    }
-	
-	    public void setFocus() {
-	        viewer.getControl().setFocus();
-	    }
-	}
-</pre>
-<p>
-Defining constants that start with <code>ID_</code>
-(<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-is a pattern you'll see
-used over and over again in the Eclipse source code.
-Here we use it to duplicate the same id used in the
-plug-in manifest.
-This will be used later when we need a reference to the view.
-</p>
-<p>
-The most important part of this class is the <code>createPartControl</code> method
-(<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">).
-It's where you create your JFace or SWT controls that make
-up the view.
-The rest of the source was can be found in the example project.
-View programming is beyond the scope of this tutorial
-but you can see the reference section for more information.
-</p>
-
-<h2>Perspective additions</h2>
-<p>
-If you run the code now you won't actually see anything different.
-Why? Because your new view can't appear unless it is added
-to the current perspective.
-You can do this through code or though the org.eclipse.ui.perspectiveExtensions
-extension.
-We'll choose the former because it's a little more flexible.
-To do this, go back to the <code>RcpPerspective</code> class
-defined earlier and modify it to look like this:
-</p>
-
-<pre>
-	public class RcpPerspective implements IPerspectiveFactory {
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	    public static final String ID_PERSPECTIVE =
-	        "org.eclipse.ui.tutorials.rcp.part3.RcpPerspective"; //$NON-NLS-1$
-	
-	    public RcpPerspective() {
-	    }
-	
-	    public void createInitialLayout(IPageLayout layout) {
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	        layout.setEditorAreaVisible(false);
-<img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">	        layout.addView(
-	            SampleView.ID_VIEW,
-	            IPageLayout.TOP,
-	            IPageLayout.RATIO_MAX,
-	            IPageLayout.ID_EDITOR_AREA);
-<img src="images/tag_4.gif" height="13" width="24" align="center" alt="#4">	        layout.addPerspectiveShortcut(ID_PERSPECTIVE);
-<img src="images/tag_5.gif" height="13" width="24" align="center" alt="#5">	        layout.addShowViewShortcut(SampleView.ID_VIEW);
-	    }
-	}
-</pre>
-<p>
-Notes:
-</p>
-<table border="0">
-<tr valign="top"><td><img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">
-<td>Again, just get in the habit of
-defining a constant for all strings, especially ids.
-<tr valign="top"><td><img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">
-<td>The Platform supports editors but we're not using
-one for this example. Therefore you need to turn off the
-editor area so you won't have a big blank space in the middle
-of your Workbench Window.
-<tr valign="top"><td><img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">
-<td>This is the most important part of the class.
-It adds the view to the perspective so it will be visible by default.
-The positioning parameters say to place this view above the
-editor area and let it take 100% of the Workbench Window.
-This might be a little strange since we don't have an editor area but
-it's lurking around somewhere even if it's invisible.
-As you add more than one view to your application you can
-define the default stacking and layout of your views here.
-<tr valign="top"><td><img src="images/tag_4.gif" height="13" width="24" align="center" alt="#4">
-<td>This method causes the perspective to be
-on the short list if you implement the <code>PERSPECTIVES_SHORTLIST</code>
-menu item (see the sample code for an example).
-Without it, the perspective will only be on the long list seen
-when the user selects Window > Open Perspective > Other (or whatever
-the equivalent menu path is in your application).
-<tr valign="top"><td><img src="images/tag_5.gif" height="13" width="24" align="center" alt="#5">
-<td>Same thing, only for views.
-</table>
-<p>
-<img src="images/tip.gif" alt="Tip: " width="62" height="13">
-To remember the user's layout and window sizes
-for the next time they start your application, add
-<code>configurer.setSaveAndRestore(true);</code>
-to the <code>initialize</code> method of <code>WorkbenchAdvisor</code>.
-An example of this can be found in the sample project.
-</p>
-
-<h3>Fixed views</h3>
-<p>
-By default, views will be moveable, resizeable, and closable.
-Often you don't want that flexibility.
-For example, if you're writing an order entry application
-for unsophisticated users, you don't want to have to answer
-help desk questions about what to do if somebody accidentally closes
-the form view.
-For this reason Eclipse 3.0 introduces the notion of fixed
-perspectives and fixed views.
-</p>
-<p>
-A fixed view is a view that cannot be closed.
-The title bar of the view doesn't even have a close button.
-To create one of these you can use the <code>setFixed()</code>
-method on <code>IPageLayout</code>.
-</p>
-<p>
-A better way might be to use a fixed perspective.
-A fixed perspective makes all of the views it contains fixed,
-plus it prevents any of them from being moved or resized.
-To make a perspective fixed, simply add the <code>fixed="true"</code>
-attribute to its definition,
-for example:
-</p>
-<pre>
-    &lt;extension
-        point=&quot;org.eclipse.ui.perspectives&quot;&gt;
-        &lt;perspective
-            name=&quot;%perspectiveName&quot;
-            icon=&quot;icons/sample.gif&quot;
-            <b>fixed=&quot;true&quot;</b>
-            class=&quot;org.eclipse.ui.tutorials.rcp.part3.RcpPerspective&quot;
-            id=&quot;org.eclipse.ui.tutorials.rcp.part3.RcpPerspective&quot;&gt;
-        &lt;/perspective&gt;
-    &lt;/extension&gt;
-</pre>
-<p>
-By using a fixed perspective and turning off the shortcut bar, you
-can lock the user into one perspective and hide the concept of perspectives
-from them altogether.
-</p>
-
-<h2>Menus</h2>
-<p>
-Letting you configure all the menus was one of the first
-requirements of the RCP.
-There are two ways to add menus in an RCP application:
-</p>
-<ul>
-<li><code>WorkbenchAdvisor.fillActionBars</code>
-<li><code>org.eclipse.ui.actionSets</code> in the plug-in manifest
-</ul>
-<p>
-<code>fillActionBars</code> is the only way to reference built-in 
-Workbench actions, so we'll use it for that purpose.
-Everything else can be contributed by the <code>actionSets</code> extension point.
-Both methods will be demonstrated here.
-Although the example application does not use
-toolbars, they are very similar to menus.
-</p>
-<p>
-First let's take a look at <code>fillActionBars</code>:
-</p>
-<pre>
-	public void fillActionBars(
-	    IWorkbenchWindow window,
-	    IActionBarConfigurer configurer,
-	    int flags) {
-	    super.fillActionBars(window, configurer, flags);
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">         if ((flags & FILL_MENU_BAR) != 0) {
-	        fillMenuBar(window, configurer);
-	    }
-	}
-</pre>
-<p>
-<code>fillActionBars</code> is takes a flags parameter
-(<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-that indicates what
-the code should really do.
-There are flag bits for filling in the menu bar, the tool bar,
-the status line, and even a bit for whether or not this is a fake
-request for preference dialogs (<code>FILL_PROXY</code>).
-The author has had some bad experiences with flags like this,
-so the example code just calls a helper function called <code>fillMenuBar</code>
-to do the actual filling.
-Here's the code for <code>fillMenuBar</code>:
-</p>
-<pre>
-	private void fillMenuBar(
-	    IWorkbenchWindow window,
-	    IActionBarConfigurer configurer) {
-	    IMenuManager menuBar = configurer.getMenuManager();
-	    menuBar.add(createFileMenu(window));
-	    menuBar.add(createEditMenu(window));
-	    menuBar.add(createWindowMenu(window));
-	    menuBar.add(createHelpMenu(window));
-	}
-</pre>
-<p>
-For this example we want to create four top-level
-menus: File, Edit, Window, and Help.
-These correspond to the menus of the same name
-in the Eclipse IDE.
-For a real application you may not want all these,
-or you might want to call them something different.
-See figure 1 for an example.
-</p>
-
-<img src="images/complete.png">
-<p><b>Figure 1. The Workbench menu bar is defined
-in the <code>fillActionBars</code> method of <code>WorkbenchAdvisor</code>,
-and then added to by the manifests of
-all plug-ins that extend <code>org.eclipse.ui.actionSets</code>.
-</b></p>
-
-<p>
-The code for all these methods can be found in the example project.
-Let's just take a closer look at one of of them, the File menu:
-</p>
-
-<pre>
-	private MenuManager createFileMenu(IWorkbenchWindow window) {
-<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">	    MenuManager menu = new MenuManager(Messages.getString("File"), //$NON-NLS-1$
-	        IWorkbenchActionConstants.M_FILE);
-<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">	    menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-	    menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-<img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">	    menu.add(ActionFactory.QUIT.create(window));
-	    menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-	    return menu;
-	}
-</pre>
-<p>
-All these menus work the same way.
-First you create a MenuManager for the menu
-(<img src="images/tag_1.gif" height="13" width="24" align="center" alt="#1">)
-using the message file to lookup the actual human-readable title.
-Then you add all the menu items and return the manager.
-See the references section for more information about defining views and menus.
-Next, you create some placeholders
-(<img src="images/tag_2.gif" height="13" width="24" align="center" alt="#2">)
-where additional
-menu items can be added by plug-ins,
-and one real action supplied by the Workbench: the Quit action
-(<img src="images/tag_3.gif" height="13" width="24" align="center" alt="#3">).
-A list of supported Workbench actions can be found by
-looking at the Javadoc for <code>ActionFactory</code> and
-<code>ContributionItemFactory</code>.
-</p>
-<p>
-<img src="images/note.gif" alt="Note: " width="62" height="13">
-There are a number of standard placeholder names
-for menus and toolbars
-that you should use when trying to make yours work just
-like the ones in the IDE.
-By using these predefined groups, plug-ins that contribute menu
-and toolbar items to the Eclipse IDE can also contribute them
-to your RCP application.
-These aren't documented anywhere other than in the Javadoc for
-<code>IWorkbenchActionConstants</code>, and even there you won't find any guidance
-for their intended order.
-The sample code that accompanies this tutorial was created by looking at the
-<code>IDEWorkbenchAdvisor</code> class used by the Eclipse IDE.
-</p>
-
-<h2>Help</h2>
-<p>
-One of the coolest features of the RCP is its help system.
-Simply by providing the table of contents in
-XML format and the documents in HTML,
-you can give your users a searchable help
-system with no coding on your part.
-First, you add an extension to your plug-in manifest like this:
-</p>
-<pre>
-	&lt;extension
-	      point="org.eclipse.help.toc"&gt;
-	   &lt;toc
-	         file="book.xml"
-	         primary="true"&gt;
-	   &lt;/toc&gt;
-	&lt;/extension&gt;
-</pre>
-
-<p>
-Then you create a table of contents file (book.xml in this example)
-to define a hierarchy of help topics.
-Not all the topics have to be in the contents but it is
-good practice to do so.
-Here's an example you can use to get started:
-</p>
-<pre>
-	&lt;toc label="RCP Help Sample"  topic="html/book.html"&gt;
-	   &lt;topic label="Overview" href="html/overview.html"/&gt;
-	&lt;/toc&gt;
-</pre>
-<p>
-See the references section for more information on writing
-and organizing help files, including internationalization.
-</p>
-<p>
-When you're debugging or deploying an RCP application
-that includes help you'll need to include 
-several more help related plug-ins
-in addition to those listed in part 1 of the tutorial.
-Here's the current list (subject to change in future versions):
-</p>
-<ul>
-<li><code>org.apache.ant</code>
-<li><code>org.apache.lucene</code>
-<li><code>org.eclipse.help.appserver</code>
-<li><code>org.eclipse.help.base</code>
-<li><code>org.eclipse.help.ui</code>
-<li><code>org.eclipse.help.webapp</code>
-<li><code>org.eclipse.tomcat</code>
-</ul>
-<p>
-See <code>createHelpMenu()</code> in the example for code
-to add the Help Contents action to your Help menu.
-When you select it, this action will fire up a
-help browser like the one shown in figure 2.
-</p>
-
-<img src="images/help.png">
-<p><b>Figure 2. The Rich Client Platform provides a
-full featured online help framework so you don't have to.
-All you do is provide the content.
-</b></p>
-
-<h2>Build.properties</h2>
-<p>
-As you add more resources to your plug-in such as html files,
-icons, the help table of contents, and so forth,
-don't forget to update your build.properties file to
-include all the files and/or directories that need to be
-available to the plug-in at run time.
-Here is the updated build.properties XML file containing everything
-needed for the example in this section:
-</p>
-<pre>
-bin.includes = plugin.xml,\
-               *.jar,\
-               part3.jar,\
-               plugin.properties,\
-               <b>book.xml,\</b>
-               <b>html/,\</b>
-               <b>icons/</b>
-source.part3.jar = src/
-</pre>
-
-<h2>Conclusion</h2>
-<p>
-In this part of the tutorial, we 
-added a simple view, some menus, and help files
-to a create a sample RCP application.
-Hopefully you can can use this example as a reference in
-your own projects.
-All the sample code for this part may be viewed at the
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ui.tutorials.rcp.part3">Eclipse project here</a>.
-You can use
-<a href="http://dev.eclipse.org/cvshowto.html">Eclipse's built-in CVS client</a>
-to download the source to your workspace.
-</p>
-<p>
-Congratulations!
-If you made it this far, you are
-well on your way to developing your own
-Rich Client Platform applications.
-Take a look at the references below for more information
-and community sites and mailing lists where
-you can meet other people using RCP.
-</p>
-
-<h2>References</h2>
-<p>
-<a href="http://eclipse.org/articles/Article-RCP-1/tutorial1.html">
-RCP Tutorial Part 1</a><br>
-<a href="http://eclipse.org/articles/Article-RCP-2/tutorial2.html">
-RCP Tutorial Part 2</a><br>
-<a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp/index.html">
-Eclipse Rich Client Platform</a><br>
-<a href="http://www.eclipse.org/articles/viewArticle/ViewArticle2.html">
-Creating an Eclipse View</a><br>
-<a href="http://www.eclipse.org/articles/Article-Online%20Help%20for%202_0/help1.htm">
-Contributing a Little Help</a><br>
-<a href="http://www.eclipsepowered.org">
-Eclipse Powered (rich client plug-ins and resources)</a><br>
-</p>
-
-<p><small>IBM is trademark of International Business Machines Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Java and all Java-based trademarks and logos are trademarks or
-registered trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</small></p>
-<p><small>Microsoft and Windows are trademarks of Microsoft Corporation in the
-United States, other countries, or both.</small></p>
-<p><small>Other company, product, and service names may be trademarks or service
-marks of others.</small></p>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif b/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties b/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
deleted file mode 100644
index 0affcd8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-pluginName = RcpTutorial3 Plug-in
-providerName = Eclipse.org
-perspectiveName = RcpTutorial3
-categoryName = Sample Category
-viewName = Sample
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml b/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
deleted file mode 100644
index 158134e..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tutorials.rcp.part3"
-   name="%pluginName"
-   version="0.0.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="part3.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.help"/>
-      <!-- These are needed at run-time but not at build-time -->
-      <import plugin="org.eclipse.help.ui"/>
-      <import plugin="org.eclipse.help.webapp"/>
-      <import plugin="org.eclipse.tomcat"/>
-   </requires>
-
-
-   <extension
-         id="RcpApplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ui.tutorials.rcp.part3.RcpApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            icon="icons/sample.gif"
-            fixed="true"
-            class="org.eclipse.ui.tutorials.rcp.part3.RcpPerspective"
-            id="org.eclipse.ui.tutorials.rcp.part3.RcpPerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%categoryName"
-            id="org.eclipse.ui.tutorials.rcp.part3.viewCategory">
-      </category>
-      <view
-            name="%viewName"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.tutorials.rcp.part3.viewCategory"
-            class="org.eclipse.ui.tutorials.rcp.part3.views.SampleView"
-            id="org.eclipse.ui.tutorials.rcp.part3.views.SampleView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="RCP Action Set"
-            visible="true"
-            id="org.eclipse.ui.tutorials.rcp.part3.actionSet">
-         <action
-               label="&amp;About RCP Tutorial3"
-               class="org.eclipse.ui.tutorials.rcp.part3.actions.AboutAction"
-               menubarPath="help/additions"
-               id="org.eclipse.ui.tutorials.rcp.part3.actions.AboutAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="book.xml"
-            primary="true">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd
deleted file mode 100644
index 3819169..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-start javaw -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part3.RcpApplication %*
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd b/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd
deleted file mode 100644
index 2a99f92..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/rcptutorial3debug.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-echo on
-setlocal
-cd %~dp0
-java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ui.tutorials.rcp.part3.RcpApplication -consoleLog %* || pause
-endlocal
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java
deleted file mode 100644
index 455fef6..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/Messages.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
-
-    private static final String BUNDLE_NAME = "org.eclipse.ui.tutorials.rcp.part3.RcpTutorial"; //$NON-NLS-1$
-
-    private static final ResourceBundle RESOURCE_BUNDLE =
-        ResourceBundle.getBundle(BUNDLE_NAME);
-
-    private Messages() {
-    }
-
-    public static String getString(String key) {
-        try {
-            return RESOURCE_BUNDLE.getString(key);
-        } catch (MissingResourceException e) {
-            return '!' + key + '!';
-        }
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java
deleted file mode 100644
index db262f8..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpApplication implements IPlatformRunnable {
-
-    public Object run(Object args) {
-        WorkbenchAdvisor workbenchAdvisor = new RcpWorkbenchAdvisor();
-        Display display = PlatformUI.createDisplay();
-        try {
-            int returnCode = PlatformUI.createAndRunWorkbench(display,
-                    workbenchAdvisor);
-            if (returnCode == PlatformUI.RETURN_RESTART) {
-                return IPlatformRunnable.EXIT_RESTART;
-            } else {
-                return IPlatformRunnable.EXIT_OK;
-            }
-        } finally {
-            display.dispose();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java
deleted file mode 100644
index 1c58dbc..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpPerspective.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.tutorials.rcp.part3.views.SampleView;
-
-public class RcpPerspective implements IPerspectiveFactory {
-    public static final String ID_PERSPECTIVE = "org.eclipse.ui.tutorials.rcp.part3.RcpPerspective"; //$NON-NLS-1$
-
-    public RcpPerspective() {
-    }
-
-    public void createInitialLayout(IPageLayout layout) {
-        layout.setEditorAreaVisible(false);
-        layout.addView(
-            SampleView.ID_VIEW,
-            IPageLayout.TOP,
-            IPageLayout.RATIO_MAX,
-            IPageLayout.ID_EDITOR_AREA);
-        layout.addPerspectiveShortcut(ID_PERSPECTIVE);
-        layout.addShowViewShortcut(SampleView.ID_VIEW);
-    }
-}
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties
deleted file mode 100644
index b1dce99..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpTutorial.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-Hello_RCP=Hello, RCP
-File=&File
-Edit=&Edit
-Window=&Window
-Open_Perspective=&Open Perspective
-Show_View=Show &View
-Help=&Help
-AboutTitle=RcpTutorial3
-AboutMessage=RCP tutorial about box goes here.
-One=One
-Two=Two
-Three=Three
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
deleted file mode 100644
index 6d16022..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/RcpWorkbenchAdvisor.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ContributionItemFactory;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class RcpWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	public String getInitialWindowPerspectiveId() {
-		return RcpPerspective.ID_PERSPECTIVE;
-	}
-
-	public void initialize(IWorkbenchConfigurer configurer) {
-		super.initialize(configurer);
-		configurer.setSaveAndRestore(true);
-	}
-
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		super.preWindowOpen(configurer);
-		configurer.setInitialSize(new Point(400, 300));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(false);
-		configurer.setTitle(Messages.getString("Hello_RCP")); //$NON-NLS-1$
-	}
-
-	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-		super.fillActionBars(window, configurer, flags);
-		if ((flags & FILL_MENU_BAR) != 0) {
-			fillMenuBar(window, configurer);
-		}
-	}
-
-	private void fillMenuBar(IWorkbenchWindow window, IActionBarConfigurer configurer) {
-		IMenuManager menuBar = configurer.getMenuManager();
-		menuBar.add(createFileMenu(window));
-		menuBar.add(createEditMenu(window));
-		menuBar.add(createWindowMenu(window));
-		menuBar.add(createHelpMenu(window));
-	}
-
-	private MenuManager createFileMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("File"), //$NON-NLS-1$
-				IWorkbenchActionConstants.M_FILE);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(ActionFactory.QUIT.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-		return menu;
-	}
-
-	private MenuManager createEditMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("Edit"), //$NON-NLS-1$
-				IWorkbenchActionConstants.M_EDIT);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_START));
-
-		menu.add(ActionFactory.UNDO.create(window));
-		menu.add(ActionFactory.REDO.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.UNDO_EXT));
-		menu.add(new Separator());
-
-		menu.add(ActionFactory.CUT.create(window));
-		menu.add(ActionFactory.COPY.create(window));
-		menu.add(ActionFactory.PASTE.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.CUT_EXT));
-		menu.add(new Separator());
-
-		menu.add(ActionFactory.DELETE.create(window));
-		menu.add(ActionFactory.SELECT_ALL.create(window));
-		menu.add(new Separator());
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.ADD_EXT));
-
-		menu.add(new GroupMarker(IWorkbenchActionConstants.EDIT_END));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-		return menu;
-	}
-
-	private MenuManager createWindowMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("Window"), //$NON-NLS-1$
-				IWorkbenchActionConstants.M_WINDOW);
-
-		menu.add(ActionFactory.OPEN_NEW_WINDOW.create(window));
-
-		menu.add(new Separator());
-		MenuManager perspectiveMenu = new MenuManager(Messages.getString("Open_Perspective"), "openPerspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		IContributionItem perspectiveList = ContributionItemFactory.PERSPECTIVES_SHORTLIST.create(window);
-		perspectiveMenu.add(perspectiveList);
-		menu.add(perspectiveMenu);
-
-		MenuManager viewMenu = new MenuManager(Messages.getString("Show_View")); //$NON-NLS-1$
-		IContributionItem viewList = ContributionItemFactory.VIEWS_SHORTLIST.create(window);
-		viewMenu.add(viewList);
-		menu.add(viewMenu);
-
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-
-		menu.add(ActionFactory.PREFERENCES.create(window));
-
-		menu.add(ContributionItemFactory.OPEN_WINDOWS.create(window));
-
-		return menu;
-	}
-
-	private MenuManager createHelpMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager(Messages.getString("Help"), IWorkbenchActionConstants.M_HELP); //$NON-NLS-1$
-		// Welcome or intro page would go here
-		menu.add(ActionFactory.HELP_CONTENTS.create(window));
-		// Tips and tricks page would go here
-		menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_START));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.HELP_END));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		// About should always be at the bottom
-		// To use the real RCP About dialog uncomment these lines
-		// menu.add(new Separator());
-		// menu.add(ActionFactory.ABOUT.create(window));
-
-		return menu;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java
deleted file mode 100644
index e243bfe..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/actions/AboutAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.tutorials.rcp.part3.Messages;
-
-public class AboutAction implements IWorkbenchWindowActionDelegate {
-    private IWorkbenchWindow window;
-
-    public AboutAction() {
-    }
-
-    public void run(IAction action) {
-        MessageDialog.openInformation(window.getShell(),
-            Messages.getString("AboutTitle"), //$NON-NLS-1$
-            Messages.getString("AboutMessage")); //$NON-NLS-1$
-    }
-
-    public void selectionChanged(IAction action, ISelection selection) {
-    }
-
-    public void dispose() {
-    }
-
-    public void init(IWorkbenchWindow window) {
-        this.window = window;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java b/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java
deleted file mode 100644
index cb0f0c6..0000000
--- a/bundles/org.eclipse.ui.tutorials.rcp.part3/src/org/eclipse/ui/tutorials/rcp/part3/views/SampleView.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.ui.tutorials.rcp.part3.views;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.tutorials.rcp.part3.Messages;
-
-public class SampleView extends ViewPart {
-    public static final String ID_VIEW = "org.eclipse.ui.tutorials.rcp.part3.views.SampleView"; //$NON-NLS-1$
-
-    private TableViewer viewer;
-
-    class ViewContentProvider implements IStructuredContentProvider {
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-        }
-        public void dispose() {
-        }
-        public Object[] getElements(Object parent) {
-            return new String[] { Messages.getString("One"), //$NON-NLS-1$
-                Messages.getString("Two"), //$NON-NLS-1$
-                Messages.getString("Three")}; //$NON-NLS-1$
-        }
-    }
-    class ViewLabelProvider
-        extends LabelProvider
-        implements ITableLabelProvider {
-        public String getColumnText(Object obj, int index) {
-            return getText(obj);
-        }
-        public Image getColumnImage(Object obj, int index) {
-            return getImage(obj);
-        }
-        public Image getImage(Object obj) {
-            return PlatformUI.getWorkbench().getSharedImages().getImage(
-                ISharedImages.IMG_OBJ_ELEMENT);
-        }
-    }
-
-    public SampleView() {
-    }
-
-    public void createPartControl(Composite parent) {
-        viewer =
-            new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-        viewer.setContentProvider(new ViewContentProvider());
-        viewer.setLabelProvider(new ViewLabelProvider());
-        viewer.setInput(this);
-    }
-
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/.classpath b/bundles/org.eclipse.ui.views/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.views/.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/bundles/org.eclipse.ui.views/.cvsignore b/bundles/org.eclipse.ui.views/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.views/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.views/.project b/bundles/org.eclipse.ui.views/.project
deleted file mode 100644
index 0d416b9..0000000
--- a/bundles/org.eclipse.ui.views/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.views</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.ui</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/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 6ae9b2f..0000000
--- a/bundles/org.eclipse.ui.views/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:12:15 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.views/about.html b/bundles/org.eclipse.ui.views/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.views/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/bundles/org.eclipse.ui.views/build.properties b/bundles/org.eclipse.ui.views/build.properties
deleted file mode 100644
index 9e050b6..0000000
--- a/bundles/org.eclipse.ui.views/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-src.includes = about.html
-source.views.jar = src/
diff --git a/bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif b/bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif
deleted file mode 100644
index 0dc862c..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/eview16/outline_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif b/bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif
deleted file mode 100644
index d11c996..0000000
--- a/bundles/org.eclipse.ui.views/icons/full/eview16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui.views/plugin.properties b/bundles/org.eclipse.ui.views/plugin.properties
deleted file mode 100644
index ca1ef4e..0000000
--- a/bundles/org.eclipse.ui.views/plugin.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
-###############################################################################
-pluginName= Views
-providerName= Eclipse.org
-
-Views.PropertySheet = Properties
-Views.ContentOutline = Outline
-
-ViewCommand.propertySheet.name= Properties
-ViewCommand.propertySheet.description= Show the Properties view
-ViewCommand.contentOutline.name= Outline
-ViewCommand.contentOutline.description= Show the Outline view
diff --git a/bundles/org.eclipse.ui.views/plugin.xml b/bundles/org.eclipse.ui.views/plugin.xml
deleted file mode 100644
index 561157e..0000000
--- a/bundles/org.eclipse.ui.views/plugin.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.views"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.internal.views.ViewsPlugin">
-
-   <runtime>
-      <library name="views.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%Views.PropertySheet"
-            icon="icons/full/eview16/prop_ps.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.properties.PropertySheet"
-            id="org.eclipse.ui.views.PropertySheet">
-      </view>
-      <view
-            name="%Views.ContentOutline"
-            icon="icons/full/eview16/outline_co.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.views.contentoutline.ContentOutline"
-            id="org.eclipse.ui.views.ContentOutline">
-      </view>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.propertySheet.name"
-            description="%ViewCommand.propertySheet.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.PropertySheet">
-      </command>
-      <command
-            name="%ViewCommand.contentOutline.name"
-            description="%ViewCommand.contentOutline.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.views.ContentOutline">
-      </command>
-      <keyBinding
-            keySequence="Alt+Shift+Q O"
-            contextId="org.eclipse.ui.contexts.window"
-            commandId="org.eclipse.ui.views.ContentOutline"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Alt+Shift+Q O"
-            contextId="org.eclipse.ui.contexts.window"
-            commandId=""
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Command+Alt+Q O"
-            contextId="org.eclipse.ui.contexts.window"
-            commandId="org.eclipse.ui.views.ContentOutline"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   
-</plugin>
diff --git a/bundles/org.eclipse.ui.views/scripts/exportplugin.xml b/bundles/org.eclipse.ui.views/scripts/exportplugin.xml
deleted file mode 100644
index 5e71e54..0000000
--- a/bundles/org.eclipse.ui.views/scripts/exportplugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<project name="Eclipse Views" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui.views" />
-		<property name="version"  value="_2.1.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}/views.jar"
-			basedir="bin"
-		/>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<zip zipfile="${dest}/viewssrc.zip">
-		    <fileset dir="src" />
-		    <fileset dir="extensions" />
-  		</zip>				
-	</target>
-</project>
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.java
deleted file mode 100644
index 0464d88..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/internal/views/ViewsPlugin.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.ui.internal.views;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plug-in runtime class for the views UI plug-in (id <code>"org.eclipse.ui.views"</code>).
- * <p>
- * This class provides static methods and fields only; it is not intended to be
- * instantiated or subclassed by clients.
- * </p>
- * 
- * @since 2.1
- */
-public final class ViewsPlugin extends AbstractUIPlugin {
-    /**
-     * Views UI plug-in id (value <code>"org.eclipse.ui.views"</code>).
-     */
-    public static final String PLUGIN_ID = "org.eclipse.ui.views"; //$NON-NLS-1$
-
-    private static ViewsPlugin instance;
-
-    /**
-     * Returns the singleton instance.
-     * 
-     * @return the singleton instance.
-     */
-    public static ViewsPlugin getDefault() {
-        return instance;
-    }
-
-    /**
-     * Creates a new instance of the receiver.
-     * 
-     * @see org.eclipse.core.runtime.Plugin#Plugin()
-     */
-    public ViewsPlugin() {
-        super();
-        instance = this;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.java
deleted file mode 100644
index 641db57..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutline.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.ui.views.contentoutline;
-
-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.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.IContributedContentsView;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-
-/**
- * Main class for the Content Outline View.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.ContentOutline"</code>.
- * </p>
- * When a <b>content outline view</b> notices an editor being activated, it 
- * asks the editor whether it has a <b>content outline page</b> to include
- * in the outline view. This is done using <code>getAdapter</code>:
- * <pre>
- * IEditorPart editor = ...;
- * IContentOutlinePage outlinePage = (IContentOutlinePage) editor.getAdapter(IContentOutlinePage.class);
- * if (outlinePage != null) {
- *    // editor wishes to contribute outlinePage to content outline view
- * }
- * </pre>
- * If the editor supports a content outline page, the editor instantiates
- * and configures the page, and returns it. This page is then added to the 
- * content outline view (a pagebook which presents one page at a time) and 
- * immediately made the current page (the content outline view need not be
- * visible). If the editor does not support a content outline page, the content
- * outline view shows a special default page which makes it clear to the user
- * that the content outline view is disengaged. A content outline page is free
- * to report selection events; the content outline view forwards these events 
- * along to interested parties. When the content outline view notices a
- * different editor being activated, it flips to the editor's corresponding
- * content outline page. When the content outline view notices an editor being
- * closed, it destroys the editor's corresponding content outline page.
- * </p>
- * <p>
- * The workbench will automatically instantiate this class when a Content
- * Outline view is needed for a workbench window. This class was not intended
- * to be instantiated or subclassed by clients.
- * </p>
- */
-public class ContentOutline extends PageBookView implements ISelectionProvider,
-        ISelectionChangedListener {
-
-    private static java.util.ResourceBundle resoutline_nls = java.util.ResourceBundle
-            .getBundle("org.eclipse.ui.views.contentoutline.messages"); //$NON-NLS-1$
-
-    /**
-     * The plugin prefix.
-     */
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    /**
-     * Help context id used for the content outline view
-     * (value <code>"org.eclipse.ui.content_outline_context"</code>).
-     */
-    public static final String CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID = PREFIX
-            + "content_outline_context";//$NON-NLS-1$
-
-    /**
-     * Message to show on the default page.
-     */
-    private String defaultText = resoutline_nls
-            .getString("ContentOutline.noOutline"); //$NON-NLS-1$
-
-    /**
-     * Creates a content outline view with no content outline pages.
-     */
-    public ContentOutline() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public void addSelectionChangedListener(ISelectionChangedListener listener) {
-        getSelectionProvider().addSelectionChangedListener(listener);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     */
-    protected IPage createDefaultPage(PageBook book) {
-        MessagePage page = new MessagePage();
-        initPage(page);
-        page.createControl(book);
-        page.setMessage(defaultText);
-        return page;
-    }
-
-    /**
-     * The <code>PageBookView</code> implementation of this <code>IWorkbenchPart</code>
-     * method creates a <code>PageBook</code> control with its default page showing.
-     */
-    public void createPartControl(Composite parent) {
-        super.createPartControl(parent);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(getPageBook(),
-                CONTENT_OUTLINE_VIEW_HELP_CONTEXT_ID);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     */
-    protected PageRec doCreatePage(IWorkbenchPart part) {
-        // Try to get an outline page.
-        Object obj = part.getAdapter(IContentOutlinePage.class);
-        if (obj instanceof IContentOutlinePage) {
-            IContentOutlinePage page = (IContentOutlinePage) obj;
-            if (page instanceof IPageBookViewPage)
-                initPage((IPageBookViewPage) page);
-            page.createControl(getPageBook());
-            return new PageRec(part, page);
-        }
-        // There is no content outline
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     */
-    protected void doDestroyPage(IWorkbenchPart part, PageRec rec) {
-        IContentOutlinePage page = (IContentOutlinePage) rec.page;
-        page.dispose();
-        rec.dispose();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable.
-     */
-    public Object getAdapter(Class key) {
-        if (key == IContributedContentsView.class)
-            return new IContributedContentsView() {
-                public IWorkbenchPart getContributingPart() {
-                    return getContributingEditor();
-                }
-            };
-        return super.getAdapter(key);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     */
-    protected IWorkbenchPart getBootstrapPart() {
-        IWorkbenchPage page = getSite().getPage();
-        if (page != null)
-            return page.getActiveEditor();
-
-        return null;
-    }
-
-    /**
-     * Returns the editor which contributed the current 
-     * page to this view.
-     *
-     * @return the editor which contributed the current page
-     * or <code>null</code> if no editor contributed the current page
-     */
-    private IWorkbenchPart getContributingEditor() {
-        return getCurrentContributingPart();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public ISelection getSelection() {
-        // get the selection from the selection provider
-        return getSelectionProvider().getSelection();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     * We only want to track editors.
-     */
-    protected boolean isImportant(IWorkbenchPart part) {
-        //We only care about editors
-        return (part instanceof IEditorPart);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     * Treat this the same as part activation.
-     */
-    public void partBroughtToTop(IWorkbenchPart part) {
-        partActivated(part);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public void removeSelectionChangedListener(
-            ISelectionChangedListener listener) {
-        getSelectionProvider().removeSelectionChangedListener(listener);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionChangedListener.
-     */
-    public void selectionChanged(SelectionChangedEvent event) {
-        getSelectionProvider().selectionChanged(event);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public void setSelection(ISelection selection) {
-        getSelectionProvider().setSelection(selection);
-    }
-
-    /**
-     * The <code>ContentOutline</code> implementation of this <code>PageBookView</code> method
-     * extends the behavior of its parent to use the current page as a selection provider.
-     * 
-     * @param pageRec the page record containing the page to show
-     */
-    protected void showPageRec(PageRec pageRec) {
-        IPageSite pageSite = getPageSite(pageRec.page);
-        ISelectionProvider provider = pageSite.getSelectionProvider();
-        if (provider == null && (pageRec.page instanceof IContentOutlinePage))
-            // This means that the page did not set a provider during its initialization 
-            // so for backward compatibility we will set the page itself as the provider.
-            pageSite.setSelectionProvider((IContentOutlinePage) pageRec.page);
-        super.showPageRec(pageRec);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.java
deleted file mode 100644
index a8697f5..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/ContentOutlinePage.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.ui.views.contentoutline;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.part.Page;
-
-/**
- * An abstract base class for content outline pages.
- * <p>
- * Clients who are defining an editor may elect to provide a corresponding
- * content outline page. This content outline page will be presented to the
- * user via the standard Content Outline View (the user decides whether their
- * workbench window contains this view) whenever that editor is active.
- * This class should be subclassed.
- * </p>
- * <p>
- * Internally, each content outline page consists of a standard tree viewer; 
- * selections made in the tree viewer are reported as selection change events 
- * by the page (which is a selection provider). The tree viewer is not created 
- * until <code>createPage</code> is called; consequently, subclasses must extend
- * <code>createControl</code> to configure the tree viewer with a proper content 
- * provider, label provider, and input element.
- * </p>
- * <p>
- * Note that those wanting to use a control other than internally created
- * <code>TreeViewer</code> will need to implement 
- * <code>IContentOutlinePage</code> directly rather than subclassing this class.
- * </p> 
- */
-public abstract class ContentOutlinePage extends Page implements
-        IContentOutlinePage, ISelectionChangedListener {
-    private ListenerList selectionChangedListeners = new ListenerList();
-
-    private TreeViewer treeViewer;
-
-    /**
-     * Create a new content outline page.
-     */
-    protected ContentOutlinePage() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public void addSelectionChangedListener(ISelectionChangedListener listener) {
-        selectionChangedListeners.add(listener);
-    }
-
-    /**
-     * The <code>ContentOutlinePage</code> implementation of this 
-     * <code>IContentOutlinePage</code> method creates a tree viewer. Subclasses
-     * must extend this method configure the tree viewer with a proper content 
-     * provider, label provider, and input element.
-     * @param parent
-     */
-    public void createControl(Composite parent) {
-        treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL
-                | SWT.V_SCROLL);
-        treeViewer.addSelectionChangedListener(this);
-    }
-
-    /**
-     * Fires a selection changed event.
-     *
-     * @param selection the new selection
-     */
-    protected void fireSelectionChanged(ISelection selection) {
-        // create an event
-        final SelectionChangedEvent event = new SelectionChangedEvent(this,
-                selection);
-
-        // fire the event
-        Object[] listeners = selectionChangedListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
-            Platform.run(new SafeRunnable() {
-                public void run() {
-                    l.selectionChanged(event);
-                }
-            });
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPage (and Page).
-     */
-    public Control getControl() {
-        if (treeViewer == null)
-            return null;
-        return treeViewer.getControl();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public ISelection getSelection() {
-        if (treeViewer == null)
-            return StructuredSelection.EMPTY;
-        return treeViewer.getSelection();
-    }
-
-    /**
-     * Returns this page's tree viewer.
-     *
-     * @return this page's tree viewer, or <code>null</code> if 
-     *   <code>createControl</code> has not been called yet
-     */
-    protected TreeViewer getTreeViewer() {
-        return treeViewer;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
-     */
-    public void init(IPageSite pageSite) {
-        super.init(pageSite);
-        pageSite.setSelectionProvider(this);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public void removeSelectionChangedListener(
-            ISelectionChangedListener listener) {
-        selectionChangedListeners.remove(listener);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionChangeListener.
-     * Gives notification that the tree selection has changed.
-     */
-    public void selectionChanged(SelectionChangedEvent event) {
-        fireSelectionChanged(event.getSelection());
-    }
-
-    /**
-     * Sets focus to a part in the page.
-     */
-    public void setFocus() {
-        treeViewer.getControl().setFocus();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionProvider.
-     */
-    public void setSelection(ISelection selection) {
-        if (treeViewer != null)
-            treeViewer.setSelection(selection);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.java
deleted file mode 100644
index c6b109d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/IContentOutlinePage.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.ui.views.contentoutline;
-
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.part.IPage;
-
-/**
- * Marker-style interface for a content outline page. This interface defines
- * the minimum requirement for pages within the content outline view, namely
- * they must be pages (implement <code>IPage</code>) and provide selections
- * (implement <code>ISelectionProvider</code>).
- * <p>
- * Access to a content outline page begins when an editor is activated. When
- * activation occurs, the content outline view will ask the editor for its
- * content outline page. This is done by invoking 
- * <code>getAdapter(IContentOutlinePage.class)</code> on the editor.  
- * If the editor returns a page, the view then creates the controls for that
- * page (using <code>createControl</code>) and makes the page visible.
- * </p>
- * <p>
- * Clients may implement this interface from scratch, or subclass the
- * abstract base class <code>ContentOutlinePage</code>.
- * </p>
- * <p> 
- * Note that this interface extends <code>ISelectionProvider</code>.
- * This is no longer required in the case of implementors who also 
- * implement <code>IPageBookViewPage</code> (or extend <code>Page</code>)
- * as they are now passed an <code>IPageSite</code> during their initialization 
- * and this site can be configured with a selection provider. 
- * However to avoid a breaking change 
- *  1) this interface will continue to extend ISelectionProvider 
- *  2) if an IContentOutlinePage does not set a selection provider for its 
- * site, the ContentOutline will continue to use the page itself for 
- * this purpose. 
- * </p> 
- *
- * @see ContentOutlinePage
- */
-public interface IContentOutlinePage extends IPage, ISelectionProvider {
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.properties
deleted file mode 100644
index bf8e69c..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/messages.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
-###############################################################################
-
-# package: org.eclipse.ui.views.contentoutline
-
-
-# ==============================================================================
-# Outline View
-# ==============================================================================
-ContentOutline.noOutline = An outline is not available.
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html
deleted file mode 100644
index 70d2165..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/contentoutline/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Content Outline view which can
-show the active editor's custom outline for the document being edited.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.java
deleted file mode 100644
index dc44830..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CategoriesAction.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.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action hides or shows categories in the <code>PropertySheetViewer</code>.
- */
-/*package*/class CategoriesAction extends PropertySheetAction {
-    /**
-     * Creates the Categories action. This action is used to show
-     * or hide categories properties.
-     * @param viewer the viewer
-     * @param name the name
-     */
-    public CategoriesAction(PropertySheetViewer viewer, String name) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem()
-                .setHelp(this, IPropertiesHelpContextIds.CATEGORIES_ACTION);
-    }
-
-    /**
-     * Toggles the display of categories for the properties.
-     */
-    public void run() {
-        PropertySheetViewer ps = getPropertySheet();
-        ps.deactivateCellEditor();
-        if (isChecked()) {
-            ps.showCategories();
-        } else {
-            ps.hideCategories();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.java
deleted file mode 100644
index cf53cc3..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ColorPropertyDescriptor.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.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ColorCellEditor;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Descriptor for a property that has a color value which should be edited
- * with a color cell editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IPropertyDescriptor pd = new ColorPropertyDescriptor("fg", "Foreground Color");
- * </pre>
- * </p>
- */
-public class ColorPropertyDescriptor extends PropertyDescriptor {
-    /**
-     * Creates an property descriptor with the given id and display name.
-     * 
-     * @param id the id of the property
-     * @param displayName the name to display for the property
-     */
-    public ColorPropertyDescriptor(Object id, String displayName) {
-        super(id, displayName);
-    }
-
-    /**
-     * The <code>ColorPropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method creates and returns a new
-     * <code>ColorCellEditor</code>.
-     * <p>
-     * The editor is configured with the current validator if there is one.
-     * </p>
-     */
-    public CellEditor createPropertyEditor(Composite parent) {
-        CellEditor editor = new ColorCellEditor(parent);
-        if (getValidator() != null)
-            editor.setValidator(getValidator());
-        return editor;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
deleted file mode 100644
index b3477a7..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxLabelProvider.java
+++ /dev/null
@@ -1,80 +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.ui.views.properties;
-
-import org.eclipse.jface.viewers.LabelProvider;
-
-/**
- * An <code>ILabelProvider</code> that assists in rendering labels for 
- * <code>ComboBoxPropertyDescriptors</code>.  The label for a given 
- * <code>Integer</code> value is the <code>String</code> at the value in 
- * the provided values array.  
- * 
- * @since 3.0
- */
-public class ComboBoxLabelProvider extends LabelProvider {
-
-    /**
-     * The array of String labels.
-     */
-    private String[] values;
-
-    /**
-     * @param values the possible label values that this 
-     * <code>ILabelProvider</code> may return.
-     */
-    public ComboBoxLabelProvider(String[] values) {
-        this.values = values;
-    }
-
-    /**
-     * @return the possible label values that this 
-     * <code>ILabelProvider</code> may return.
-     */
-    public String[] getValues() {
-        return values;
-    }
-
-    /**
-     * @param values the possible label values that this 
-     * <code>ILabelProvider</code> may return.
-     */
-    public void setValues(String[] values) {
-        this.values = values;
-    }
-
-    /**
-     * Returns the <code>String</code> that maps to the given 
-     * <code>Integer</code> offset in the values array.
-     * 
-     * @param element an <code>Integer</code> object whose value is a valid 
-     * location within the values array of the receiver
-     * @return a <code>String</code> from the provided values array, or the 
-     * empty <code>String</code> 
-     * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-     */
-    public String getText(Object element) {
-        if (element == null) {
-            return ""; //$NON-NLS-1$
-        }
-
-        if (element instanceof Integer) {
-            int index = ((Integer) element).intValue();
-            if (index >= 0 && index < values.length) {
-                return values[index];
-            } else {
-                return ""; //$NON-NLS-1$
-            }
-        }
-
-        return ""; //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.java
deleted file mode 100644
index 2890773..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ComboBoxPropertyDescriptor.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.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Descriptor for a property that has a value which should be edited
- * with a combo box cell editor.  This class provides a default 
- * <code>ILabelProvider</code> that will render the label of the given 
- * descriptor as the <code>String</code> found in the value array at the 
- * currently selected index.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * String[] values = {"Top left", "Top right", "Bottom left", "Bottom right"};
- * IPropertyDescriptor pd = new ComboBoxPropertyDescriptor("origin", "Origin", values);
- * </pre>
- * </p>
- */
-public class ComboBoxPropertyDescriptor extends PropertyDescriptor {
-
-    /**
-     * The list of possible values to display in the combo box
-     */
-    private String[] values;
-
-    /**
-     * Creates an property descriptor with the given id, display name, and list
-     * of value labels to display in the combo box cell editor.
-     * 
-     * @param id the id of the property
-     * @param displayName the name to display for the property
-     * @param valuesArray the list of possible values to display in the combo box
-     */
-    public ComboBoxPropertyDescriptor(Object id, String displayName,
-            String[] valuesArray) {
-        super(id, displayName);
-        values = valuesArray;
-    }
-
-    /**
-     * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method creates and returns a new
-     * <code>ComboBoxCellEditor</code>.
-     * <p>
-     * The editor is configured with the current validator if there is one.
-     * </p>
-     */
-    public CellEditor createPropertyEditor(Composite parent) {
-        CellEditor editor = new ComboBoxCellEditor(parent, values,
-                SWT.READ_ONLY);
-        if (getValidator() != null)
-            editor.setValidator(getValidator());
-        return editor;
-    }
-
-    /**
-     * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setProvider</code> method or, if no value has been set
-     * it returns a <code>ComboBoxLabelProvider</code> created from the 
-     * valuesArray of this <code>ComboBoxPropertyDescriptor</code>.
-     *
-     * @see #setLabelProvider
-     */
-    public ILabelProvider getLabelProvider() {
-        if (isLabelProviderSet())
-            return super.getLabelProvider();
-        else
-            return new ComboBoxLabelProvider(values);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
deleted file mode 100644
index 1f19335..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/CopyPropertyAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-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.PlatformUI;
-
-/**
- * Copies a property to the clipboard.
- */
-/*package*/class CopyPropertyAction extends PropertySheetAction {
-    /**
-     * System clipboard
-     */
-    private Clipboard clipboard;
-
-    /**
-     * Creates the action.
-     * 
-     * @param viewer the viewer
-     * @param name the name
-     * @param clipboard the clipboard
-     */
-    public CopyPropertyAction(PropertySheetViewer viewer, String name,
-            Clipboard clipboard) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-                IPropertiesHelpContextIds.COPY_PROPERTY_ACTION);
-        this.clipboard = clipboard;
-    }
-
-    /**
-     * Performs this action.
-     */
-    public void run() {
-        // Get the selected property
-        IStructuredSelection selection = (IStructuredSelection) getPropertySheet()
-                .getSelection();
-        if (selection.isEmpty())
-            return;
-        // Assume single selection
-        IPropertySheetEntry entry = (IPropertySheetEntry) selection
-                .getFirstElement();
-
-        // Place text on the clipboard
-        StringBuffer buffer = new StringBuffer();
-        buffer.append(entry.getDisplayName());
-        buffer.append("\t"); //$NON-NLS-1$
-        buffer.append(entry.getValueAsString());
-
-        setClipboard(buffer.toString());
-    }
-
-    /** 
-     * Updates enablement based on the current selection.
-     * 
-     * @param sel the selection
-     */
-    public void selectionChanged(IStructuredSelection sel) {
-        setEnabled(!sel.isEmpty());
-    }
-
-    private void setClipboard(String text) {
-        try {
-            Object[] data = new Object[] { text };
-            Transfer[] transferTypes = new Transfer[] { TextTransfer
-                    .getInstance() };
-            clipboard.setContents(data, transferTypes);
-        } catch (SWTError e) {
-            if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD)
-                throw e;
-            if (MessageDialog.openQuestion(getPropertySheet().getControl()
-                    .getShell(), PropertiesMessages
-                    .getString("CopyToClipboardProblemDialog.title"), //$NON-NLS-1$
-                    PropertiesMessages
-                            .getString("CopyToClipboardProblemDialog.message"))) //$NON-NLS-1$
-                setClipboard(text);
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.java
deleted file mode 100644
index 97986e4..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/DefaultsAction.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.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action resets the <code>PropertySheetViewer</code> values back
- * to the default values.
- *
- * [Issue: should listen for selection changes in the viewer and set enablement]
- */
-/*package*/class DefaultsAction extends PropertySheetAction {
-    /**
-     * Create the Defaults action. This action is used to set
-     * the properties back to their default values.
-     * 
-     * @param viewer the viewer
-     * @param name the name
-     */
-    public DefaultsAction(PropertySheetViewer viewer, String name) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IPropertiesHelpContextIds.DEFAULTS_ACTION);
-    }
-
-    /**
-     * Reset the properties to their default values.
-     */
-    public void run() {
-        getPropertySheet().deactivateCellEditor();
-        getPropertySheet().resetProperties();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
deleted file mode 100644
index 83ba688..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/FilterAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action hides or shows expert properties in the <code>PropertySheetViewer</code>.
- */
-/*package*/class FilterAction extends PropertySheetAction {
-    /**
-     * Create the Filter action. This action is used to show
-     * or hide expert properties.
-     * 
-     * @param viewer the viewer
-     * @param name the name
-     */
-    public FilterAction(PropertySheetViewer viewer, String name) {
-        super(viewer, name);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
-				IPropertiesHelpContextIds.FILTER_ACTION);
-    }
-
-    /**
-     * Toggle the display of expert properties.
-     */
-
-    public void run() {
-        PropertySheetViewer ps = getPropertySheet();
-        ps.deactivateCellEditor();
-        if (isChecked()) {
-            ps.showExpert();
-        } else {
-            ps.hideExpert();
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
deleted file mode 100644
index ca92cc2..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/ICellEditorActivationListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-
-/**
- * A listener which is notified when a cell editor is 
- * activated/deactivated
- */
-/*package*/interface ICellEditorActivationListener {
-    /**
-     * Notifies that the cell editor has been activated
-     *
-     * @param cellEditor the cell editor which has been activated
-     */
-    public void cellEditorActivated(CellEditor cellEditor);
-
-    /**
-     * Notifies that the cell editor has been deactivated
-     *
-     * @param cellEditor the cell editor which has been deactivated
-     */
-    public void cellEditorDeactivated(CellEditor cellEditor);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
deleted file mode 100644
index 5cd4f45..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertiesHelpContextIds.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Help context ids for the properties view.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-/*package*/interface IPropertiesHelpContextIds {
-    public static final String PREFIX = PlatformUI.PLUGIN_ID + "."; //$NON-NLS-1$
-
-    // Actions
-    public static final String CATEGORIES_ACTION = PREFIX
-            + "properties_categories_action_context"; //$NON-NLS-1$
-
-    public static final String DEFAULTS_ACTION = PREFIX
-            + "properties_defaults_action_context"; //$NON-NLS-1$
-
-    public static final String FILTER_ACTION = PREFIX
-            + "properties_filter_action_context"; //$NON-NLS-1$
-
-    public static final String COPY_PROPERTY_ACTION = PREFIX
-            + "properties_copy_action_context"; //$NON-NLS-1$
-
-    // Views
-    public static final String PROPERTY_SHEET_VIEW = PREFIX
-            + "property_sheet_view_context"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
deleted file mode 100644
index 330961d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertyDescriptor.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A descriptor for a property to be presented by a standard property sheet page
- * (<code>PropertySheetPage</code>). These descriptors originate with property 
- * sources (<code>IPropertySource</code>).
- * <p>
- * A property descriptor carries the following information:
- * <ul>
- *   <li>property id (required)</li>
- *   <li>display name (required)</li>
- *   <li>brief description of the property (optional)</li>
- *   <li>category for grouping related properties (optional)</li>
- *   <li>label provider used to display the property value (optional)</li>
- *   <li>cell editor for changing the property value (optional)</li>
- *   <li>help context id (optional)</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface to provide specialized property 
- * descriptors; however, there are standard implementations declared in
- * this package that take care of the most common cases:
- * <ul>
- *   <li><code>PropertyDescriptor - read-only property</li>
- *   <li><code>TextPropertyDescriptor</code> - edits with a 
- *      <code>TextCellEditor</code></li>
- *   <li><code>CheckboxPropertyDescriptor - edits with a 
- *      <code>CheckboxCellEditor</code></code></li>
- *   <li><code>ComboBoxPropertyDescriptor - edits with a
- *      <code>ComboBoxCellEditor</code></code></li>
- *   <li><code>ColorPropertyDescriptor - edits with a 
- *      <code>ColorCellEditor</code></code></li>
- * </ul>
- * </p>
- *
- * @see IPropertySource#getPropertyDescriptors
- */
-public interface IPropertyDescriptor {
-    /**
-     * Creates and returns a new cell editor for editing this property. Returns 
-     * <code>null</code> if the property is not editable.
-     *
-     * @param parent the parent widget for the cell editor
-     * @return the cell editor for this property, or <code>null</code> if this
-     *  property cannot be edited
-     */
-    public CellEditor createPropertyEditor(Composite parent);
-
-    /**
-     * Returns the name of the category to which this property belongs. Properties
-     * belonging to the same category are grouped together visually. This localized 
-     * string is shown to the user
-     * 
-     * @return the category name, or <code>null</code> if the default category is to
-     *   be used
-     */
-    public String getCategory();
-
-    /**
-     * Returns a brief description of this property. This localized string is shown 
-     * to the user when this property is selected.
-     * 
-     * @return a brief description, or <code>null</code> if none
-     */
-    public String getDescription();
-
-    /**
-     * Returns the display name for this property. This localized string is shown to
-     * the user as the name of this property.
-     * 
-     * @return a displayable name
-     */
-    public String getDisplayName();
-
-    /**
-     * Returns a list of filter types to which this property belongs.
-     * The user is able to toggle the filters to show/hide properties belonging to
-     * a filter type.
-     * <p>
-     * Valid values for these flags are declared as constants on 
-     *  <code>IPropertySheetEntry</code>
-     * </p> 
-     * @return a list of filter types to which this property belongs, or
-     *   <code>null</code> if none
-     */
-    public String[] getFilterFlags();
-
-    /**
-     * Returns the help context id for this property or 
-     * <code>null</code> if this property has no help context id.
-     * <p>
-     * NOTE: Help support system API's changed since 2.0 and arrays
-     * of contexts are no longer supported.
-     * </p>
-     * <p>
-     * Thus the only valid non-<code>null</code> return type for this method
-     * is a <code>String</code> representing a context id. The previously
-     * valid return types are deprecated. The plural name for this method
-     * is unfortunate.
-     * </p>
-     * 
-     * @return the help context id for this entry
-     */
-    public Object getHelpContextIds();
-
-    /**
-     * Returns the id for this property. This object is
-     * used internally to distinguish one property descriptor 
-     * from another.
-     *
-     * @return the property id
-     */
-    public Object getId();
-
-    /**
-     * Returns the label provider for this property. The label provider is used
-     * to obtain the text (and possible image) for displaying the <it>value</it>
-     * of this property.
-     *
-     * @return the label provider used to display this property
-     */
-    public ILabelProvider getLabelProvider();
-
-    /**
-     * Returns whether this property descriptor and the given one are compatible.
-     * <p>
-     * The property sheet uses this method during multiple selection to determine
-     * whether two property descriptors with the same id are in fact the same 
-     * property and can be displayed as a single entry in the property sheet.
-     * </p>
-     *
-     * @param anotherProperty the other property descriptor 
-     * @return <code>true</code> if the property descriptors are compatible, and 
-     *   <code>false</code> otherwise
-     */
-    public boolean isCompatibleWith(IPropertyDescriptor anotherProperty);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
deleted file mode 100644
index ed34850..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntry.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * <code>IPropertySheetEntry</code> describes the model interface for the
- * property sheet.
- * <p>
- * May be implemented when supplying a custom root entry to a property page.
- * </p>
- */
-public interface IPropertySheetEntry {
-
-    /**
-     * The filter id for expert properties
-     */
-    public String FILTER_ID_EXPERT = "org.eclipse.ui.views.properties.expert"; //$NON-NLS-1$
-
-    /**
-     * Adds the given listener to this entry's collection of listeners.
-     * 
-     * @param listener
-     *            the listener to add
-     */
-    public void addPropertySheetEntryListener(
-            IPropertySheetEntryListener listener);
-
-    /**
-     * Apply the current cell editor value.
-     */
-    public void applyEditorValue();
-
-    /**
-     * Called when the entry is no longer needed
-     */
-    public void dispose();
-
-    /**
-     * Returns the entry's category.
-     * 
-     * @return the entry's category
-     */
-    public String getCategory();
-
-    /**
-     * Returns the child entries for this entry.
-     * 
-     * @return the child entries for this entry
-     */
-    public IPropertySheetEntry[] getChildEntries();
-
-    /**
-     * Return a short description of the property sheet entry. Typically this
-     * description is shown in a status line when the entry is selected.
-     * 
-     * @return the entry's description
-     */
-    public String getDescription();
-
-    /**
-     * Returns the name used to display the property.
-     * 
-     * @return the name used to display the property
-     */
-    public String getDisplayName();
-
-    /**
-     * Return the <code>CellEditor</code> used to edit the property.
-     * 
-     * @param parent
-     *            the parent widget for the editor
-     * @return the <code>CellEditor</code> used to edit the property
-     */
-    CellEditor getEditor(Composite parent);
-
-    /**
-     * Returns the error text to display if the value is invalid.
-     * 
-     * @return the error text to display when the value is invalid or
-     *         <code>null</code>
-     */
-    public String getErrorText();
-
-    /**
-     * Return the filter ids used to group entries into levels such as Expert.
-     * Valid values are defined as constants on this interface.
-     * 
-     * @return the filter ids used to group entries into levels such as Expert.
-     */
-    public String[] getFilters();
-
-    /**
-     * Returns the help context id for this entry, or <code>null</code> if
-     * this entry has no help context id.
-     * <p>
-     * NOTE: Help support system API's changed since 2.0 and arrays of contexts
-     * are no longer supported.
-     * </p>
-     * <p>
-     * Thus the only valid non- <code>null</code> return type for this method
-     * is a <code>String</code> representing a context id. The previously
-     * valid return types are deprecated. The plural name for this method is
-     * unfortunate.
-     * </p>
-     * 
-     * @return the help context id for this entry
-     */
-    public Object getHelpContextIds();
-
-    /**
-     * Returns the image for the property value, if there is one. This image is
-     * managed by the entry it came from. Callers of this method must never
-     * dispose the returned image.
-     * 
-     * @return the image for this property value or <code>null</code>
-     */
-    public Image getImage();
-
-    /**
-     * Returns the value of the objects expressed as a String.
-     * 
-     * @return the value of the objects expressed as a String
-     */
-    public String getValueAsString();
-
-    /**
-     * Returns <code>true</code> if the entry has children.
-     * 
-     * @return <code>true</code> if the entry has children
-     */
-    public boolean hasChildEntries();
-
-    /**
-     * Removes the given listener from this entry's collection of listeners.
-     * 
-     * @param listener
-     *            the listener to remove
-     */
-    public void removePropertySheetEntryListener(
-            IPropertySheetEntryListener listener);
-
-    /**
-     * Resets the property value to its default value if it has been changed.
-     * <p>
-     * Does nothing if the notion of a default value is not meaningful for 
-     * the property.
-     * </p>
-     */
-    void resetPropertyValue();
-
-    /**
-     * Sets the objects which represent the property values for this entry. In
-     * the case of the root entry these objects are the input to the viewer.
-     * 
-     * @param values the values for this entry
-     */
-    public void setValues(Object[] values);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.java
deleted file mode 100644
index 06d65e1..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetEntryListener.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.ui.views.properties;
-
-/**
- * Listener for changes in objects of type 
- * <code>IPropertySheetEntry</code>.
- * <p>
- * This interface is public since it appears in the api
- * of <code>IPropertySheetEntry</code>. It in not intended
- * to be implemented outside of this package
- * <p>
- */
-public interface IPropertySheetEntryListener {
-    /**
-     * A node's children have changed (children added or removed) 
-     *
-     * @param node the node whose's children have changed
-     */
-    void childEntriesChanged(IPropertySheetEntry node);
-
-    /**
-     * A entry's error message has changed
-     *
-     * @param entry the entry whose's error message has changed
-     */
-    void errorMessageChanged(IPropertySheetEntry entry);
-
-    /**
-     * A entry's value has changed 
-     *
-     * @param entry the entry whose's value has changed
-     */
-    void valueChanged(IPropertySheetEntry entry);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
deleted file mode 100644
index 7349075..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySheetPage.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.part.IPage;
-
-/**
- * Interface for a property sheet page that appears in a property sheet view.
- * This interface defines the minimum requirement for pages within the
- * property sheet view, namely they must be pages (implement <code>IPage</code>)
- * be prepared to contribute actions to the property sheet view's tool bar
- * and status line, and listen for selection changes in the active part.
- * <p>
- * Clients may implement this interface from scratch if the property sheet
- * viewer's default page is unsuitable for displaying a part's properties.
- * </p>
- *
- * @see PropertySheetPage
- */
-public interface IPropertySheetPage extends IPage, ISelectionListener {
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
deleted file mode 100644
index c5c28a6..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756)
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Interface to an object which is capable of supplying properties for display by
- * the standard property sheet page implementation (<code>PropertySheetPage</code>).
- * <p>
- * This interface should be implemented by clients.
- * <code>PropertySheetPage</code> discovers the properties to display from 
- * currently selected elements. Elements that implement <code>IPropertySource</code>
- * directly are included, as are elements that implement <code>IAdaptable</code>
- * and have an <code>IPropertySource</code> adapter. Clients should implement
- * this interface for any newly-defined elements that are to have properties
- * displayable by <code>PropertySheetPage</code>. Note that in the latter case,
- * the client will also need to register a suitable adapter factory with the 
- * platform's adapter manager (<code>Platform.getAdapterManager</code>).
- * </p>
- *
- * @see org.eclipse.core.runtime.IAdaptable
- * @see org.eclipse.core.runtime.Platform#getAdapterManager()
- * @see org.eclipse.ui.views.properties.PropertySheetPage
- * @see org.eclipse.ui.views.properties.IPropertySource2
- */
-public interface IPropertySource {
-
-    /**
-     * Returns a value for this property source that can be edited in a 
-     * property sheet.
-     * <p>
-     * This value is used when this <code>IPropertySource</code> is appearing
-     * in the property sheet as the value of a property of some other
-     * <code>IPropertySource</code>
-     * </p>
-     * <p>
-     * This value is passed as the input to a cell editor opening on an 
-     * <code>IPropertySource</code>.
-     * </p>
-     * <p>
-     * This value is also used when an <code>IPropertySource</code> is being
-     * used as the value in a <code>setPropertyValue</code> message. The reciever
-     * of the message would then typically use the editable value to update the 
-     * original property source or construct a new instance.
-     * </p>
-     * <p>
-     * For example an email address which is a property source may have an
-     * editable value which is a string so that it can be edited in a text
-     * cell editor. The email address would also have a constructor or setter
-     * that takes the edited string so that an appropriate instance can be created
-     * or the original instance modified when the edited value is set.
-     * </p>
-     * <p>
-     * This behavior is important for another reason. When the property sheet is
-     * showing properties for more than one object (multiple selection), a property 
-     * sheet entry will display and edit a single value (typically coming from
-     * the first selected object). After a property has been edited in a cell editor,
-     * the same value is set as the property value for all of the objects. This is 
-     * fine for primitive types but otherwise all of the objects end up with a
-     * reference to the same value. Thus by creating an editable value and using it
-     * to update the state of the original property source object, one is able to
-     * edit several property source objects at once (multiple selection).
-     
-     * @return a value that can be edited
-     */
-    public Object getEditableValue();
-
-    /**
-     * Returns the list of property descriptors for this property source.
-     * The <code>getPropertyValue</code> and <code>setPropertyValue</code> methods
-     * are used to read and write the actual property values by specifying
-     * the property ids from these property descriptors.
-     * <p>
-     * Implementors should cache the descriptors as they will be asked for 
-     * the descriptors with any edit/update. Since descriptors provide
-     * cell editors, returning the same descriptors if possible allows 
-     * for efficient updating.
-     * </p>
-     * 
-     * @return the property descriptors 
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors();
-
-    /**
-     * Returns the value of the property with the given id if it has one.
-     * Returns <code>null</code> if the property's value is <code>null</code> 
-     * value or if this source does not have the specified property.
-     *
-     * @see #setPropertyValue
-     *
-     * @param id the id of the property being set
-     * @return the value of the property, or <code>null</code>
-     */
-    public Object getPropertyValue(Object id);
-
-    /**
-     * Returns whether the value of the property with the given id has changed from
-     * its default value. Returns <code>false</code> if this source does not have
-     * the specified property.
-     * <p>
-     * If the notion of default value is not meaningful for the specified property
-     * than <code>true</code> is returned.
-     * </p>
-     * 
-     * @param id the id of the property 
-     * @return <code>true</code> if the value of the specified property has changed
-     *   from its original default value or if the specified property does not have 
-     *   a meaningful default value, and <code>false</code> otherwise
-     * @see IPropertySource2#isPropertyResettable(Object)
-     * @see #resetPropertyValue(Object)
-     */
-    public boolean isPropertySet(Object id);
-
-    /**
-     * Resets the property with the given id to its default value if possible.
-     * <p>
-     * Does nothing if the notion of a default value is not meaningful for 
-     * the specified property, or if the property's value cannot be changed,
-     * or if this source does not have the specified property.
-     * </p>
-     * <p>
-     * Callers will check if this <code>IPropertySource</code> 
-     * implements <code>IPropertySource2</code> and this method will
-     * only be called if <code>IPropertySource2#isPropertyResettable(Object)</code>
-     * returns <code>true</code> for the property with the given id.
-     * </p>
-     * 
-     * @param id the id of the property being reset
-     * @see #isPropertySet(Object)
-     * @see IPropertySource2#isPropertyResettable(Object)
-     */
-    public void resetPropertyValue(Object id);
-
-    /**
-     * Sets the property with the given id if possible. Does nothing if the 
-     * property's value cannot be changed or if this source does not have the
-     * specified property.
-     * <p>
-     * In general, a property source should not directly reference the value
-     * parameter unless it is an atomic object that can be shared, such as a 
-     * string.
-     * </p>
-     * <p>
-     * An important reason for this is that several property sources with 
-     * compatible descriptors could be appearing in the property sheet at 
-     * the same time. An editor produces a single edited value which is passed
-     * as the value parameter of this message to all the property sources.
-     * Thus to avoid a situation where all of the property sources reference
-     * the same value they should use the value parameter to create a
-     * new instance of the real value for the given property.
-     * </p>
-     * <p>
-     * There is another reason why a level of indirection is useful. The real
-     * value of property may be a type that cannot be edited with a standard cell
-     * editor. However instead of returning the real value in <code>getPropertyValue</code>,
-     * the value could be converted to a <code>String</code> which could be edited
-     * with a standard cell editor. The edited value will be passed to this method
-     * which can then turn it back into the real property value.
-     * </p>
-     * <p>Another variation on returning a value other than the real property value in 
-     * <code>getPropertyValue</code> is to return a value which is an
-     * <code>IPropertySource</code> (or for which the property sheet can obtain an
-     * <code>IPropertySource</code>). In this case the value to edit is obtained from the
-     * child property source using <code>getEditableValue</code>. It is this editable value
-     * that will be passed back via this method when it has been editted
-     * </p>
-     *
-     * @see #getPropertyValue
-     * @see #getEditableValue
-     * 
-     * @param id the id of the property being set
-     * @param value the new value for the property; <code>null</code> is allowed
-     */
-    public void setPropertyValue(Object id, Object value);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.java
deleted file mode 100644
index 057deec..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySource2.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:
- *     Gunnar Wagenknecht - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Extension to the standard <code>IPropertySource</code> interface.
- * <p>
- * This interface provides extended API to <code>IPropertySource</code> to
- * allow an easier indication of properties that have a default value and can be
- * resetted.
- * </p>
- * 
- * @since 3.0
- * @see org.eclipse.ui.views.properties.IPropertySource
- */
-public interface IPropertySource2 extends IPropertySource {
-
-    /**
-     * Returns whether the value of the property with the specified id is
-     * resettable to a default value.
-     * 
-     * @param id
-     *            the id of the property
-     * @return <code>true</code> if the property with the specified id has a
-     *         meaningful default value to which it can be resetted to, and
-     *         <code>false</code> otherwise
-     * @see IPropertySource#resetPropertyValue(Object)
-     * @see IPropertySource#isPropertySet(Object)
-     */
-    boolean isPropertyResettable(Object id);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
deleted file mode 100644
index a857f69..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/IPropertySourceProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-/**
- * Interface used by <code>PropertySheetRoot</code> to obtain an 
- * <code>IPropertySource</code> for a given object.
- * <p>
- * This interface may be implemented by clients.
- * </p>
- */
-public interface IPropertySourceProvider {
-    /**
-     * Returns a property source for the given object.
-     *
-     * @param object the object
-     */
-    public IPropertySource getPropertySource(Object object);
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.java
deleted file mode 100644
index 4357e8f..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertiesMessages.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.ui.views.properties;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps manage messages.
- */
-class PropertiesMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.views.properties.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private PropertiesMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
deleted file mode 100644
index 132f46d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertyDescriptor.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Standard implementation for property descriptors.
- * <p>
- * The required attributes of property descriptors (id and display name) are
- * passed to the constructor; the optional attributes can be configured using
- * the various set methods (all have reasonable default values):
- * <ul>
- *   <li><code>setDescription</code></li>
- *   <li><code>setCategory</code></li>
- *   <li><code>setLabelProvider</code></li>
- *   <li><code>setHelpContexts</code></li>
- * </ul>
- * Subclasses should reimplement <code>getPropertyEditor</code> to provide a
- * cell editor for changing the value; otherwise the property will be 
- * effectively read only.
- * </p>
- * <p>
- * There are several concrete subclasses provided in this package that cover
- * the most common cases:
- * <ul>
- *   <li><code>TextPropertyDescriptor</code> - edits with a 
- *      <code>TextCellEditor</code></li>
- *   <li><code>ComboBoxPropertyDescriptor - edits with a
- *      <code>ComboBoxCellEditor</code></code></li>
- *   <li><code>ColorPropertyDescriptor - edits with a 
- *      <code>ColorCellEditor</code></code></li>
- * </ul>
- * </p>
- */
-public class PropertyDescriptor implements IPropertyDescriptor {
-
-    /**
-     * The property id.
-     */
-    private Object id;
-
-    /**
-     * The name to display for the property.
-     */
-    private String display;
-
-    /**
-     * Category name, or <code>null</code> if none (the default).
-     */
-    private String category = null;
-
-    /**
-     * Description of the property, or <code>null</code> if none (the default). 
-     */
-    private String description = null;
-
-    /**
-     * The help context ids, or <code>null</code> if none (the default). 
-     */
-    private Object helpIds;
-
-    /**
-     * The flags used to filter the property.
-     */
-    private String[] filterFlags;
-
-    /**
-     * The object that provides the property value's text and image, or 
-     * <code>null</code> if the default label provider is used (the default).
-     */
-    private ILabelProvider labelProvider = null;
-
-    /**
-     * The object to validate the values in the cell editor, or <code>null</code>
-     * if none (the default).
-     */
-    private ICellEditorValidator validator;
-
-    /**
-     * Indicates if the descriptor is compatible with other descriptors of this
-     * type. <code>false</code> by default.
-     */
-    private boolean incompatible = false;
-
-    /**
-     * Creates a new property descriptor with the given id and display name
-     */
-    public PropertyDescriptor(Object id, String displayName) {
-        Assert.isNotNull(id);
-        Assert.isNotNull(displayName);
-        this.id = id;
-        this.display = displayName;
-    }
-
-    /**
-     * The <code>PropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns <code>null</code>.
-     * <p>
-     * Since no cell editor is returned, the property is read only.
-     * </p>
-     */
-    public CellEditor createPropertyEditor(Composite parent) {
-        return null;
-    }
-
-    /**
-     * Returns <code>true</code> if this property descriptor is to be always 
-     * considered incompatible with any other property descriptor.
-     * This prevents a property from displaying during multiple 
-     * selection.
-     *
-     * @return <code>true</code> to indicate always incompatible
-     */
-    protected boolean getAlwaysIncompatible() {
-        return incompatible;
-    }
-
-    /**
-     * The <code>PropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setCategory</code> method. If unset, this method returns
-     * <code>null</code> indicating the default category.
-     *
-     * @see #setCategory
-     */
-    public String getCategory() {
-        return category;
-    }
-
-    /**
-     * The <code>PropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setDescription</code> method. If unset, this method returns
-     * <code>null</code> indicating no description.
-     *
-     * @see #setDescription
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /**
-     * The <code>SimplePropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value supplied
-     * on the constructor.
-     */
-    public String getDisplayName() {
-        return display;
-    }
-
-    /**
-     * The <code>SimplePropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setFilterFlags</code> method. If unset, this method returns
-     * <code>null</code>.
-     * <p>
-     * Valid values for these flags are declared as constants on 
-     *  <code>IPropertySheetEntry</code>
-     */
-    public String[] getFilterFlags() {
-        return filterFlags;
-    }
-
-    /**
-     * The <code>SimplePropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setHelpContextId</code> method. If unset, this method returns
-     * <code>null</code>.
-     *
-     * @see #setHelpContextIds
-     */
-    public Object getHelpContextIds() {
-        return helpIds;
-    }
-
-    /**
-     * The <code>PropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value supplied
-     * on the constructor.
-     */
-    public Object getId() {
-        return id;
-    }
-
-    /**
-     * The <code>PropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns the value set by
-     * the <code>setProvider</code> method or, if no value has been set
-     * it returns a <code>LabelProvider</code>
-     *
-     * @see #setLabelProvider
-     */
-    public ILabelProvider getLabelProvider() {
-        if (labelProvider != null)
-            return labelProvider;
-        else
-            return new LabelProvider();
-    }
-
-    /**
-     * Returns the input validator for editing the property.
-     *
-     * @return the validator used to verify correct values for this property,
-     *   or <code>null</code>
-     */
-    protected ICellEditorValidator getValidator() {
-        return validator;
-    }
-
-    /** 
-     * Returns whether a label provider has been set on the receiver.
-     * @return whether a label provider has been set on the receiver.
-     * @see #setLabelProvider
-     * @since 3.0
-     */
-    public boolean isLabelProviderSet() {
-        return labelProvider != null;
-    }
-
-    /**
-     * The <code>SimplePropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method returns true if the other
-     * property has the same id and category and <code>getAlwaysIncompatible()</code>
-     * returns false
-     */
-    public boolean isCompatibleWith(IPropertyDescriptor anotherProperty) {
-        if (getAlwaysIncompatible())
-            return false;
-
-        // Compare id		
-        Object id1 = getId();
-        Object id2 = anotherProperty.getId();
-        if (!id1.equals(id2))
-            return false;
-
-        // Compare Category (may be null)
-        if (getCategory() == null) {
-            if (anotherProperty.getCategory() != null)
-                return false;
-        } else {
-            if (!getCategory().equals(anotherProperty.getCategory()))
-                return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Sets a flag indicating whether this property descriptor is to be always 
-     * considered incompatible with any other property descriptor.
-     * Setting this flag prevents a property from displaying during multiple 
-     * selection.
-     *
-     * @param flag <code>true</code> to indicate always incompatible
-     */
-    public void setAlwaysIncompatible(boolean flag) {
-        incompatible = flag;
-    }
-
-    /**
-     * Sets the category for this property descriptor.
-     * 
-     * @param category the category for the descriptor, or <code>null</code> if none
-     * @see #getCategory
-     */
-    public void setCategory(String category) {
-        this.category = category;
-    }
-
-    /**
-     * Sets the description for this property descriptor.
-     * The description should be limited to a single line so that it can be
-     * displayed in the status line.
-     * 
-     * @param description the description, or <code>null</code> if none
-     * @see #getDescription
-     */
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    /**
-     * Sets the the filter flags for this property descriptor.
-     * The description should be limited to a single line so that it can be
-     * displayed in the status line.
-     * <p>
-     * Valid values for these flags are declared as constants on 
-     *  <code>IPropertySheetEntry</code>
-     * </p>
-     * 
-     * @param value the filter flags
-     * @see #getFilterFlags
-     */
-    public void setFilterFlags(String value[]) {
-        filterFlags = value;
-    }
-
-    /**
-     * Sets the help context id for this property descriptor.
-     *
-     * NOTE: Help support system API's changed since 2.0 and arrays
-     * of contexts are no longer supported.
-     * </p>
-     * <p>
-     * Thus the only valid parameter type for this method
-     * is a <code>String</code> representing a context id. 
-     * The previously valid parameter types are deprecated. 
-     * The plural name for this method is unfortunate.
-     * </p>
-     * 
-     * @param contextIds the help context ids, or <code>null</code> if none
-     * @see #getHelpContextIds
-     */
-    public void setHelpContextIds(Object contextIds) {
-        helpIds = contextIds;
-    }
-
-    /**
-     * Sets the label provider for this property descriptor.
-     * <p>
-     * If no label provider is set an instance of <code>LabelProvider</code>
-     * will be created as the default when needed.
-     * </p>
-     * 
-     * @param provider the label provider for the descriptor, or 
-     *   <code>null</code> if the default label provider should be used
-     * @see #getLabelProvider
-     */
-    public void setLabelProvider(ILabelProvider provider) {
-        labelProvider = provider;
-    }
-
-    /**
-     * Sets the input validator for the cell editor for this property descriptor.
-     * <p>
-     * [Issue: This method should be unnecessary is the cell editor's own
-     *  validator is used.
-     * ]
-     * </p>
-     * 
-     * @param validator the cell input validator, or <code>null</code> if none
-     */
-    public void setValidator(ICellEditorValidator validator) {
-        this.validator = validator;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
deleted file mode 100644
index 2496d82..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheet.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.views.properties;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.IContributedContentsView;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-
-/**
- * Main class for the Property Sheet View.
- * <p>
- * This standard view has id <code>"org.eclipse.ui.views.PropertySheet"</code>.
- * </p>
- * <p>
- * Note that property <it>sheets</it> and property sheet pages are not the
- * same thing as property <it>dialogs</it> and their property pages (the property
- * pages extension point is for contributing property pages to property dialogs).
- * Within the property sheet view, all pages are <code>IPropertySheetPage</code>s.
- * </p>
- * <p>
- * Property sheet pages are discovered by the property sheet view automatically
- * when a part is first activated. The property sheet view asks the active part
- * for its property sheet page; this is done by invoking 
- * <code>getAdapter(IPropertySheetPage.class)</code> on the part. If the part 
- * returns a page, the property sheet view then creates the controls for that
- * property sheet page (using <code>createControl</code>), and adds the page to 
- * the property sheet view. Whenever this part becomes active, its corresponding
- * property sheet page is shown in the property sheet view (which may or may not
- * be visible at the time). A part's property sheet page is discarded when the
- * part closes. The property sheet view has a default page (an instance of 
- * <code>PropertySheetPage</code>) which services all parts without a property
- * sheet page of their own.
- * </p>
- * <p>
- * The workbench will automatically instantiates this class when a Property
- * Sheet view is needed for a workbench window. This class is not intended
- * to be instantiated or subclassed by clients.
- * </p>
- *
- * @see IPropertySheetPage
- * @see PropertySheetPage
- */
-public class PropertySheet extends PageBookView implements ISelectionListener {
-    /**
-     * No longer used but preserved to avoid api change
-     */
-    public static final String HELP_CONTEXT_PROPERTY_SHEET_VIEW = IPropertiesHelpContextIds.PROPERTY_SHEET_VIEW;
-
-    /**
-     * The initial selection when the property sheet opens
-     */
-    private ISelection bootstrapSelection;
-
-    /**
-     * Creates a property sheet view.
-     */
-    public PropertySheet() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     * Returns the default property sheet page.
-     */
-    protected IPage createDefaultPage(PageBook book) {
-        PropertySheetPage page = new PropertySheetPage();
-        initPage(page);
-        page.createControl(book);
-        return page;
-    }
-
-    /**
-     * The <code>PropertySheet</code> implementation of this <code>IWorkbenchPart</code>
-     * method creates a <code>PageBook</code> control with its default page showing.
-     */
-    public void createPartControl(Composite parent) {
-        super.createPartControl(parent);
-        getSite().getPage().getWorkbenchWindow().getWorkbench().getHelpSystem()
-				.setHelp(getPageBook(),
-						IPropertiesHelpContextIds.PROPERTY_SHEET_VIEW);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart.
-     */
-    public void dispose() {
-        // run super.
-        super.dispose();
-
-        // remove ourselves as a selection listener
-        getSite().getPage().removeSelectionListener(this);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     */
-    protected PageRec doCreatePage(IWorkbenchPart part) {
-        // Try to get a custom property sheet page.
-        IPropertySheetPage page = (IPropertySheetPage) part
-                .getAdapter(IPropertySheetPage.class);
-        if (page != null) {
-            if (page instanceof IPageBookViewPage)
-                initPage((IPageBookViewPage) page);
-            page.createControl(getPageBook());
-            return new PageRec(part, page);
-        }
-
-        // Use the default page		
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     */
-    protected void doDestroyPage(IWorkbenchPart part, PageRec rec) {
-        IPropertySheetPage page = (IPropertySheetPage) rec.page;
-        page.dispose();
-        rec.dispose();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     * Returns the active part on the same workbench page as this property 
-     * sheet view.
-     */
-    protected IWorkbenchPart getBootstrapPart() {
-        IWorkbenchPage page = getSite().getPage();
-        if (page != null) {
-            bootstrapSelection = page.getSelection();
-            return page.getActivePart();
-        } 
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewPart.
-     */
-    public void init(IViewSite site) throws PartInitException {
-        site.getPage().addSelectionListener(this);
-        super.init(site);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PageBookView.
-     * The property sheet may show properties for any view other than this view.
-     */
-    protected boolean isImportant(IWorkbenchPart part) {
-        return part != this;
-    }
-
-    /**
-     * The <code>PropertySheet</code> implementation of this <code>IPartListener</code>
-     * method first sees if the active part is an <code>IContributedContentsView</code>
-     * adapter and if so, asks it for its contributing part.
-     */
-    public void partActivated(IWorkbenchPart part) {
-        IContributedContentsView view = (IContributedContentsView) part
-                .getAdapter(IContributedContentsView.class);
-        IWorkbenchPart source = null;
-        if (view != null)
-            source = view.getContributingPart();
-        if (source != null)
-            super.partActivated(source);
-        else
-            super.partActivated(part);
-
-        // When the view is first opened, pass the selection to the page		
-        if (bootstrapSelection != null) {
-            IPropertySheetPage page = (IPropertySheetPage) getCurrentPage();
-            if (page != null)
-                page.selectionChanged(part, bootstrapSelection);
-            bootstrapSelection = null;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionListener.
-     * Notify the current page that the selection has changed.
-     */
-    public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-        // we ignore our own selection or null selection
-        if (part == this || sel == null)
-            return;
-
-        // pass the selection to the page		
-        IPropertySheetPage page = (IPropertySheetPage) getCurrentPage();
-        if (page != null)
-            page.selectionChanged(part, sel);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.java
deleted file mode 100644
index bf7a8db..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetAction.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.ui.views.properties;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * This is the base class of all the local actions used
- * in the PropertySheet.
- */
-/*package*/abstract class PropertySheetAction extends Action {
-    protected PropertySheetViewer viewer;
-
-    private String id;
-
-    /**
-     * Create a PropertySheetViewer action.
-     */
-    protected PropertySheetAction(PropertySheetViewer viewer, String name) {
-        super(name);
-        this.id = name;
-        this.viewer = viewer;
-    }
-
-    /**
-     * Return the unique action ID that will be
-     * used in contribution managers.
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * Return the PropertySheetViewer
-     */
-    public PropertySheetViewer getPropertySheet() {
-        return viewer;
-    }
-
-    /**
-     * Set the unique ID that should be used
-     * in the contribution managers.
-     */
-    public void setId(String newId) {
-        id = newId;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.java
deleted file mode 100644
index 20af940..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetCategory.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.ui.views.properties;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A category in a PropertySheet used to group <code>IPropertySheetEntry</code>
- * entries so they are displayed together.
- */
-/*package*/class PropertySheetCategory {
-    private String categoryName;
-
-    private List entries = new ArrayList();
-
-    private boolean shouldAutoExpand = true;
-
-    /**
-     * Create a PropertySheet category with name.
-     */
-    public PropertySheetCategory(String name) {
-        categoryName = name;
-    }
-
-    /**
-     * Add an <code>IPropertySheetEntry</code> to the list
-     * of entries in this category. 
-     */
-    public void addEntry(IPropertySheetEntry entry) {
-        entries.add(entry);
-    }
-
-    /**
-     * Return the category name.
-     */
-    public String getCategoryName() {
-        return categoryName;
-    }
-
-    /**
-     * Returns <code>true</code> if this category should be automatically 
-     * expanded. The default value is <code>true</code>.
-     * 
-     * @return <code>true</code> if this category should be automatically 
-     * expanded, <code>false</code> otherwise
-     */
-    public boolean getAutoExpand() {
-        return shouldAutoExpand;
-    }
-
-    /**
-     * Sets if this category should be automatically 
-     * expanded.
-     */
-    public void setAutoExpand(boolean autoExpand) {
-        shouldAutoExpand = autoExpand;
-    }
-
-    /**
-     * Returns the entries in this category.
-     *
-     * @return the entries in this category
-     */
-    public IPropertySheetEntry[] getChildEntries() {
-        return (IPropertySheetEntry[]) entries
-                .toArray(new IPropertySheetEntry[entries.size()]);
-    }
-
-    /**
-     * Removes all of the entries in this category.
-     * Doing so allows us to reuse this category entry.
-     */
-    public void removeAllEntries() {
-        entries = new ArrayList();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
deleted file mode 100644
index 76cc0d5..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetEntry.java
+++ /dev/null
@@ -1,723 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Gunnar Wagenknecht - fix for bug 21756 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756)
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-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.List;
-import java.util.Locale;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * <code>PropertySheetEntry</code> is an implementation of
- * <code>IPropertySheetEntry</code> which uses <code>IPropertySource</code>
- * and <code>IPropertyDescriptor</code> to interact with domain model objects.
- * <p>
- * Every property sheet entry has a single descriptor (except the root entry
- * which has none). This descriptor determines what property
- * of its objects it will display/edit.
- * </p>
- * <p>
- * Entries do not listen for changes in their objects. Since there is no
- * restriction on properties being independent, a change in one property
- * may affect other properties. The value of a parent's property may also
- * change. As a result we are forced to refresh the entire entry tree
- * when a property changes value.
- * </p>
- * 
- * @since 3.0 (was previously internal)
- */
-public class PropertySheetEntry implements IPropertySheetEntry {
-
-    /**
-     * The values we are displaying/editing.
-     * These objects repesent the value of one of the
-     * properties of the values of our parent entry.
-     * Except for the root entry where they represent the
-     * input (selected) objects.
-     */
-    private Object[] values = new Object[0];
-
-    /**
-     * The property sources for the values we are displaying/editing.
-     */
-    private Map sources = new HashMap(0);
-
-    /**
-     * The value of this entry is defined as the the first object
-     * in its value array or, if that object is an 
-     * <code>IPropertySource</code>, the value it returns when sent
-     * <code>getEditableValue</code>
-     */
-    private Object editValue;
-
-    private PropertySheetEntry parent;
-
-    private IPropertySourceProvider propertySourceProvider;
-
-    private IPropertyDescriptor descriptor;
-
-    private CellEditor editor;
-
-    private String errorText;
-
-    private PropertySheetEntry[] childEntries = null;
-
-    private ListenerList listeners = new ListenerList();
-
-    /**
-     * Create the CellEditorListener for this entry. It listens for
-     * value changes in the CellEditor, and cancel and finish requests.
-     */
-    private ICellEditorListener cellEditorListener = new ICellEditorListener() {
-        public void editorValueChanged(boolean oldValidState,
-                boolean newValidState) {
-            if (!newValidState)
-                // currently not valid so show an error message
-                setErrorText(editor.getErrorMessage());
-            else
-                // currently valid 
-                setErrorText(null);
-        }
-
-        public void cancelEditor() {
-            setErrorText(null);
-        }
-
-        public void applyEditorValue() {
-            PropertySheetEntry.this.applyEditorValue();
-        }
-    };
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public void addPropertySheetEntryListener(
-            IPropertySheetEntryListener listener) {
-        listeners.add(listener);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public void applyEditorValue() {
-        if (editor == null)
-            return;
-
-        // Check if editor has a valid value
-        if (!editor.isValueValid()) {
-            setErrorText(editor.getErrorMessage());
-            return;
-        }
-
-        setErrorText(null);
-
-        // See if the value changed and if so update
-        Object newValue = editor.getValue();
-        boolean changed = false;
-        if (values.length > 1) {
-            changed = true;
-        } else if (editValue == null) {
-            if (newValue != null)
-                changed = true;
-        } else if (!editValue.equals(newValue))
-            changed = true;
-
-        // Set the editor value
-        if (changed)
-            setValue(newValue);
-    }
-
-    /**
-     * Return the sorted intersection of all the <code>IPropertyDescriptor</code>s 
-     * for the objects.
-     * @return List
-     */
-    private List computeMergedPropertyDescriptors() {
-        if (values.length == 0)
-            return new ArrayList(0);
-
-        // get all descriptors from each object
-        Map[] propertyDescriptorMaps = new Map[values.length];
-        for (int i = 0; i < values.length; i++) {
-            Object object = values[i];
-            IPropertySource source = getPropertySource(object);
-            if (source == null) {
-                // if one of the selected items is not a property source
-                // then we show no properties
-                return new ArrayList(0);
-            }
-            // get the property descriptors keyed by id
-            propertyDescriptorMaps[i] = computePropertyDescriptorsFor(source);
-        }
-
-        // intersect
-        Map intersection = propertyDescriptorMaps[0];
-        for (int i = 1; i < propertyDescriptorMaps.length; i++) {
-            // get the current ids
-            Object[] ids = intersection.keySet().toArray();
-            for (int j = 0; j < ids.length; j++) {
-                Object object = propertyDescriptorMaps[i].get(ids[j]);
-                if (object == null
-                        ||
-                        // see if the descriptors (which have the same id) are compatible
-                        !((IPropertyDescriptor) intersection.get(ids[j]))
-                                .isCompatibleWith((IPropertyDescriptor) object))
-                    intersection.remove(ids[j]);
-            }
-        }
-
-        // Sort the descriptors	
-        List descriptors = new ArrayList(intersection.values());
-        Collections.sort(descriptors, new Comparator() {
-            Collator coll = Collator.getInstance(Locale.getDefault());
-
-            public int compare(Object a, Object b) {
-                IPropertyDescriptor d1, d2;
-                String dname1, dname2;
-                d1 = (IPropertyDescriptor) a;
-                dname1 = d1.getDisplayName();
-                d2 = (IPropertyDescriptor) b;
-                dname2 = d2.getDisplayName();
-                return coll.compare(dname1, dname2);
-            }
-        });
-
-        return descriptors;
-    }
-
-    /**
-     * Returns an map of property descritptors (keyed on id) for the 
-     * given property source.
-     *
-     * @param source a property source for which to obtain descriptors
-     * @return a table of decriptors keyed on their id
-     */
-    private Map computePropertyDescriptorsFor(IPropertySource source) {
-        IPropertyDescriptor[] descriptors = source.getPropertyDescriptors();
-        Map result = new HashMap(descriptors.length * 2 + 1);
-        for (int i = 0; i < descriptors.length; i++) {
-            result.put(descriptors[i].getId(), descriptors[i]);
-        }
-        return result;
-    }
-
-    /**
-     * Create our child entries.
-     */
-    private void createChildEntries() {
-        // get the current descriptors
-        List descriptors = computeMergedPropertyDescriptors();
-
-        // rebuild child entries using old when possible
-        childEntries = new PropertySheetEntry[descriptors.size()];
-        for (int i = 0; i < descriptors.size(); i++) {
-            IPropertyDescriptor d = (IPropertyDescriptor) descriptors.get(i);
-            // create new entry
-            PropertySheetEntry entry = new PropertySheetEntry();
-            entry.setDescriptor(d);
-            entry.setParent(this);
-            entry.setPropertySourceProvider(propertySourceProvider);
-            entry.refreshValues();
-            childEntries[i] = entry;
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public void dispose() {
-        if (editor != null) {
-            editor.dispose();
-            editor = null;
-        }
-        // recursive call to dispose children
-        if (childEntries != null)
-            for (int i = 0; i < childEntries.length; i++) {
-                // an error in a property source may cause refreshChildEntries
-                // to fail. Since the Workbench handles such errors we
-                // can be left in a state where a child entry is null.
-                if (childEntries[i] != null)
-                    childEntries[i].dispose();
-            }
-    }
-
-    /**
-     * The child entries of this entry have changed 
-     * (children added or removed).
-     * Notify all listeners of the change.
-     */
-    private void fireChildEntriesChanged() {
-        if (listeners == null)
-            return;
-        Object[] array = listeners.getListeners();
-        for (int i = 0; i < array.length; i++) {
-            IPropertySheetEntryListener listener = (IPropertySheetEntryListener) array[i];
-            listener.childEntriesChanged(this);
-        }
-    }
-
-    /**
-     * The error message of this entry has changed.
-     * Notify all listeners of the change.
-     */
-    private void fireErrorMessageChanged() {
-        if (listeners == null)
-            return;
-        Object[] array = listeners.getListeners();
-        for (int i = 0; i < array.length; i++) {
-            IPropertySheetEntryListener listener = (IPropertySheetEntryListener) array[i];
-            listener.errorMessageChanged(this);
-        }
-    }
-
-    /**
-     * The values of this entry have changed.
-     * Notify all listeners of the change.
-     */
-    private void fireValueChanged() {
-        if (listeners == null)
-            return;
-        Object[] array = listeners.getListeners();
-        for (int i = 0; i < array.length; i++) {
-            IPropertySheetEntryListener listener = (IPropertySheetEntryListener) array[i];
-            listener.valueChanged(this);
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public String getCategory() {
-        return descriptor.getCategory();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public IPropertySheetEntry[] getChildEntries() {
-        if (childEntries == null)
-            createChildEntries();
-        return childEntries;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public String getDescription() {
-        return descriptor.getDescription();
-    }
-
-    /**
-     *  Returns the descriptor for this entry.
-     * @return IPropertyDescriptor
-     */
-    private IPropertyDescriptor getDescriptor() {
-        return descriptor;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public String getDisplayName() {
-        return descriptor.getDisplayName();
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySheetEntry#getEditor(org.eclipse.swt.widgets.Composite)
-     */
-    public CellEditor getEditor(Composite parent) {
-
-        if (editor == null) {
-            editor = descriptor.createPropertyEditor(parent);
-            if (editor != null) {
-                editor.addListener(cellEditorListener);
-            }
-        }
-        if (editor != null) {
-            editor.setValue(editValue);
-            setErrorText(editor.getErrorMessage());
-        }
-        return editor;
-    }
-
-    /**
-     * Returns the edit value for the object at the given index.
-     *
-     * @param index the value object index
-     * @return the edit value for the object at the given index
-     */
-    protected Object getEditValue(int index) {
-        Object value = values[index];
-        IPropertySource source = getPropertySource(value);
-        if (source != null) {
-            value = source.getEditableValue();
-        }
-        return value;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public String getErrorText() {
-        return errorText;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public String getFilters()[] {
-        return descriptor.getFilterFlags();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public Object getHelpContextIds() {
-        return descriptor.getHelpContextIds();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public Image getImage() {
-        ILabelProvider provider = descriptor.getLabelProvider();
-        if (provider == null)
-            return null;
-        return provider.getImage(editValue);
-    }
-
-    /**
-     * Returns an property source for the given object.
-     *
-     * @param object an object for which to obtain a property source or
-     *  <code>null</code> if a property source is not available
-     * @return an property source for the given object
-     */
-    private IPropertySource getPropertySource(Object object) {
-        if (sources.containsKey(object))
-            return (IPropertySource) sources.get(object);
-
-        IPropertySource result = null;
-        if (propertySourceProvider != null)
-            result = propertySourceProvider.getPropertySource(object);
-        else if (object instanceof IPropertySource)
-            result = (IPropertySource) object;
-        else if (object instanceof IAdaptable)
-            result = (IPropertySource) ((IAdaptable) object)
-                    .getAdapter(IPropertySource.class);
-
-        sources.put(object, result);
-        return result;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public String getValueAsString() {
-        if (editValue == null)
-            return "";//$NON-NLS-1$
-        ILabelProvider provider = descriptor.getLabelProvider();
-        if (provider == null)
-            return editValue.toString();
-        String text = provider.getText(editValue);
-        if(text == null)
-        	return "";//$NON-NLS-1$
-        return text;
-    }
-
-    /**
-     * Returns the value objects of this entry.
-     * @return Object[]
-     */
-    private Object[] getValues() {
-        return values;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public boolean hasChildEntries() {
-        if (childEntries != null && childEntries.length > 0)
-            return true;
-        // see if we could have entires if we were asked
-        return computeMergedPropertyDescriptors().size() > 0;
-    }
-
-    /**
-     * Update our child entries.
-     * This implementation tries to reuse child entries if possible 
-     * (if the id of the new descriptor matches the descriptor id of the
-     * old entry).
-     */
-    private void refreshChildEntries() {
-        if (childEntries == null)
-            // no children to refresh
-            return;
-
-        // get the current descriptors
-        List descriptors = computeMergedPropertyDescriptors();
-
-        // cache old entries by their descriptor id
-        Map entryCache = new HashMap(childEntries.length * 2 + 1);
-        for (int i = 0; i < childEntries.length; i++) {
-            entryCache.put(childEntries[i].getDescriptor().getId(),
-                    childEntries[i]);
-        }
-
-        // create a list of entries to dispose
-        List entriesToDispose = new ArrayList(Arrays.asList(childEntries));
-
-        // rebuild child entries using old when possible
-        childEntries = new PropertySheetEntry[descriptors.size()];
-        boolean entriesChanged = descriptors.size() != entryCache.size();
-        for (int i = 0; i < descriptors.size(); i++) {
-            IPropertyDescriptor d = (IPropertyDescriptor) descriptors.get(i);
-            // see if we have an entry matching this descriptor
-            PropertySheetEntry entry = (PropertySheetEntry) entryCache.get(d
-                    .getId());
-            if (entry != null) {
-                // reuse old entry
-                entry.setDescriptor(d);
-                entriesToDispose.remove(entry);
-            } else {
-                // create new entry
-                entry = new PropertySheetEntry();
-                entry.setDescriptor(d);
-                entry.setParent(this);
-                entry.setPropertySourceProvider(propertySourceProvider);
-                entriesChanged = true;
-            }
-            entry.refreshValues();
-            childEntries[i] = entry;
-        }
-
-        if (entriesChanged)
-            fireChildEntriesChanged();
-
-        //Dispose of entries which are no longer needed		
-        for (int i = 0; i < entriesToDispose.size(); i++) {
-            ((IPropertySheetEntry) entriesToDispose.get(i)).dispose();
-        }
-    }
-
-    /**
-     * Refresh the entry tree from the root down
-     */
-    private void refreshFromRoot() {
-        if (parent == null)
-            refreshChildEntries();
-        else
-            parent.refreshFromRoot();
-    }
-
-    /**
-     * Update our value objects.
-     * We ask our parent for the property values based on
-     * our descriptor.
-     */
-    private void refreshValues() {
-        // get our parent's value objects
-        Object[] currentSources = parent.getValues();
-
-        // loop through the objects getting our property value from each
-        Object[] newValues = new Object[currentSources.length];
-        for (int i = 0; i < currentSources.length; i++) {
-            IPropertySource source = parent
-                    .getPropertySource(currentSources[i]);
-            newValues[i] = source.getPropertyValue(descriptor.getId());
-        }
-
-        // set our new values
-        setValues(newValues);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public void removePropertySheetEntryListener(
-            IPropertySheetEntryListener listener) {
-        listeners.remove(listener);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySheetEntry.
-     */
-    public void resetPropertyValue() {
-        if (parent == null)
-            // root does not have a default value
-            return;
-
-        //	Use our parent's values to reset our values.
-        boolean change = false;
-        Object[] objects = parent.getValues();
-        for (int i = 0; i < objects.length; i++) {
-            IPropertySource source = getPropertySource(objects[i]);
-            if (source.isPropertySet(descriptor.getId())) {
-                // fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=21756
-                if (source instanceof IPropertySource2) {
-                    IPropertySource2 extendedSource = (IPropertySource2) source;
-                    // continue with next if property is not resettable
-                    if (!extendedSource
-                            .isPropertyResettable(descriptor.getId()))
-                        continue;
-                }
-                source.resetPropertyValue(descriptor.getId());
-                change = true;
-            }
-        }
-        if (change)
-            refreshFromRoot();
-    }
-
-    /**
-     * Set the descriptor.
-     * @param newDescriptor
-     */
-    private void setDescriptor(IPropertyDescriptor newDescriptor) {
-        // if our descriptor is changing, we have to get rid
-        // of our current editor if there is one
-        if (descriptor != newDescriptor && editor != null) {
-            editor.dispose();
-            editor = null;
-        }
-        descriptor = newDescriptor;
-    }
-
-    /*
-     * Set the error text.  This should be set to null when
-     * the current value is valid, otherwise it should be
-     * set to a error string
-     */
-    private void setErrorText(String newErrorText) {
-        errorText = newErrorText;
-        // inform listeners
-        fireErrorMessageChanged();
-    }
-
-    /**
-     * Sets the parent of the entry to be propertySheetEntry.
-     * @param propertySheetEntry
-     */
-    private void setParent(PropertySheetEntry propertySheetEntry) {
-        parent = propertySheetEntry;
-    }
-
-    /**
-     * Sets a property source provider for this entry. 
-     * This provider is used to obtain an <code>IPropertySource</code>
-     * for each of this entries objects. If no provider is
-     * set then a default provider is used.
-     * @param provider IPropertySourceProvider
-     */
-    public void setPropertySourceProvider(IPropertySourceProvider provider) {
-        propertySourceProvider = provider;
-    }
-
-    /**
-     * Set the value for this entry.
-     * <p>
-     * We set the given value as the value for all our value objects.
-     * We then call our parent to update the property we represent
-     * with the given value.
-     * We then trigger a model refresh.
-     * <p>
-     *
-     * @param newValue the new value
-     */
-    private void setValue(Object newValue) {
-        // Set the value
-        for (int i = 0; i < values.length; i++) {
-            values[i] = newValue;
-        }
-
-        // Inform our parent
-        parent.valueChanged(this);
-
-        // Refresh the model
-        refreshFromRoot();
-    }
-
-    /** 
-     * The <code>PropertySheetEntry</code> implmentation of this
-     * method declared on<code>IPropertySheetEntry</code> will
-     * obtain an editable value for the given objects and update
-     * the child entries.
-     * <p>
-     * Updating the child entries will typically call this method
-     * on the child entries and thus the entire entry tree is updated
-     * </p>
-     * @param objects the new values for this entry
-     */
-    public void setValues(Object[] objects) {
-        values = objects;
-        sources = new HashMap(values.length * 2 + 1);
-
-        if (values.length == 0)
-            editValue = null;
-        else {
-            // set the first value object as the entry's value
-            Object newValue = values[0];
-
-            // see if we should convert the value to an editable value
-            IPropertySource source = getPropertySource(newValue);
-            if (source != null)
-                newValue = source.getEditableValue();
-            editValue = newValue;
-        }
-
-        // update our child entries
-        refreshChildEntries();
-
-        // inform listeners that our value changed
-        fireValueChanged();
-    }
-
-    /**
-     * The value of the given child entry has changed.
-     * Therefore we must set this change into our value objects.
-     * <p>
-     * We must inform our parent so that it can update its value objects
-     * </p>
-     * <p>
-     * Subclasses may override to set the property value in some
-     * custom way.
-     * </p>
-     *
-     * @param child the child entry that changed its value
-     */
-    protected void valueChanged(PropertySheetEntry child) {
-        for (int i = 0; i < values.length; i++) {
-            IPropertySource source = getPropertySource(values[i]);
-            source.setPropertyValue(child.getDescriptor().getId(), child
-                    .getEditValue(i));
-        }
-
-        // inform our parent
-        if (parent != null)
-            parent.valueChanged(this);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
deleted file mode 100644
index e966e36..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetPage.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.help.IContext;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CellEditor;
-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.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.DragSourceListener;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.IContextComputer;
-import org.eclipse.ui.help.IWorkbenchHelpSystem;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.Page;
-import org.osgi.framework.Bundle;
-
-/**
- * The standard implementation of property sheet page which presents
- * a table of property names and values obtained from the current selection
- * in the active workbench part.
- * <p>
- * This page obtains the information about what to properties display from 
- * the current selection (which it tracks). 
- * </p>
- * <p>
- * The model for this page is a hierarchy of <code>IPropertySheetEntry</code>.
- * The page may be configured with a custom model by setting the root entry.
- * <p>
- * If no root entry is set then a default model is created which uses the
- * <code>IPropertySource</code> interface to obtain the properties of
- * the current slection. This requires that the selected objects provide an
- * <code>IPropertySource</code> adapter (or implement 
- * <code>IPropertySource</code> directly). This restiction can be overcome
- * by providing this page with an <code>IPropertySourceProvider</code>. If
- * supplied, this provider will be used by the default model to obtain a
- * property source for the current selection 
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- *
- * @see IPropertySource
- */
-public class PropertySheetPage extends Page implements IPropertySheetPage {
-    /**
-     * Help context id 
-     * (value <code>"org.eclipse.ui.property_sheet_page_help_context"</code>).
-     */
-    public static final String HELP_CONTEXT_PROPERTY_SHEET_PAGE = "org.eclipse.ui.property_sheet_page_help_context"; //$NON-NLS-1$
-
-    private PropertySheetViewer viewer;
-
-    private IPropertySheetEntry rootEntry;
-
-    private IPropertySourceProvider provider;
-
-    private DefaultsAction defaultsAction;
-
-    private FilterAction filterAction;
-
-    private CategoriesAction categoriesAction;
-
-    private CopyPropertyAction copyAction;
-
-    private ICellEditorActivationListener cellEditorActivationListener;
-
-    private CellEditorActionHandler cellEditorActionHandler;
-
-    private Clipboard clipboard;
-
-    /**
-     * Creates a new property sheet page.
-     */
-    public PropertySheetPage() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on <code>IPage</code>.
-     */
-    public void createControl(Composite parent) {
-        // create a new viewer
-        viewer = new PropertySheetViewer(parent);
-
-        // set the model for the viewer
-        if (rootEntry == null) {
-            // create a new root
-            PropertySheetEntry root = new PropertySheetEntry();
-            if (provider != null)
-                // set the property source provider
-                root.setPropertySourceProvider(provider);
-            rootEntry = root;
-        }
-        viewer.setRootEntry(rootEntry);
-        viewer.addActivationListener(getCellEditorActivationListener());
-        // add a listener to track when the entry selection changes
-        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-            public void selectionChanged(SelectionChangedEvent event) {
-                handleEntrySelection(event.getSelection());
-            }
-        });
-        initDragAndDrop();
-        makeActions();
-
-        // Create the popup menu for the page.
-        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-        menuMgr.add(copyAction);
-        menuMgr.add(new Separator());
-        menuMgr.add(defaultsAction);
-        Menu menu = menuMgr.createContextMenu(viewer.getControl());
-        viewer.getControl().setMenu(menu);
-
-        // Set help on the viewer 
-        viewer.getControl().addHelpListener(new HelpListener() {
-            /*
-             * @see HelpListener#helpRequested(HelpEvent)
-             */
-            public void helpRequested(HelpEvent e) {
-                // Get the context for the selected item
-                IStructuredSelection selection = (IStructuredSelection) viewer
-                        .getSelection();
-                if (!selection.isEmpty()) {
-                    IPropertySheetEntry entry = (IPropertySheetEntry) selection
-                            .getFirstElement();
-                    Object helpContextId = entry.getHelpContextIds();
-                    if (helpContextId != null) {
-                        if (helpContextId instanceof String) {
-                            getSite().getWorkbenchWindow().getWorkbench()
-									.getHelpSystem().displayHelp(
-											(String) helpContextId);
-                            return;
-                        }
-
-                        // Since 2.0 the only valid type for helpContextIds
-                        // is a String (a single id).
-                        // However for backward compatibility we have to handle
-                        // and array of contexts (Strings and/or IContexts) 
-                        // or a context computer.
-                        Object[] contexts = null;
-                        if (helpContextId instanceof IContextComputer) {
-                            // get local contexts
-                            contexts = ((IContextComputer) helpContextId)
-                                    .getLocalContexts(e);
-                        } else {
-                            contexts = (Object[]) helpContextId;
-                        }
-                        IWorkbenchHelpSystem help = getSite().getWorkbenchWindow().getWorkbench().getHelpSystem();
-                        // Ignore all but the first element in the array
-                        if (contexts[0] instanceof IContext)
-                        	help.displayHelp((IContext) contexts[0]);
-                        else
-                        	help.displayHelp((String) contexts[0]);
-                        return;
-                    }
-                }
-
-                // No help for the selection so show page help
-                getSite().getWorkbenchWindow().getWorkbench().getHelpSystem().displayHelp(HELP_CONTEXT_PROPERTY_SHEET_PAGE);
-            }
-        });
-    }
-
-    /**
-     * The <code>PropertySheetPage</code> implementation of this <code>IPage</code> method 
-     * disposes of this page's entries.
-     */
-    public void dispose() {
-        super.dispose();
-        if (rootEntry != null) {
-            rootEntry.dispose();
-            rootEntry = null;
-        }
-        if (clipboard != null) {
-            clipboard.dispose();
-            clipboard = null;
-        }
-    }
-
-    /**
-     * Returns the cell editor activation listener for this page
-     * @return ICellEditorActivationListener the cell editor activation listener for this page
-     */
-    private ICellEditorActivationListener getCellEditorActivationListener() {
-        if (cellEditorActivationListener == null) {
-            cellEditorActivationListener = new ICellEditorActivationListener() {
-                public void cellEditorActivated(CellEditor cellEditor) {
-                    if (cellEditorActionHandler != null)
-                        cellEditorActionHandler.addCellEditor(cellEditor);
-                }
-
-                public void cellEditorDeactivated(CellEditor cellEditor) {
-                    if (cellEditorActionHandler != null)
-                        cellEditorActionHandler.removeCellEditor(cellEditor);
-                }
-            };
-        }
-        return cellEditorActivationListener;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPage (and Page).
-     */
-    public Control getControl() {
-        if (viewer == null)
-            return null;
-        return viewer.getControl();
-    }
-
-    /**
-     * Returns the image descriptor with the given relative path.
-     * @param relativePath The path relative to the workspace root
-     * @return ImageDescriptor the descriptor for the receiver
-     */
-    private ImageDescriptor getImageDescriptor(String relativePath) {
-        String iconPath = "icons/full/"; //$NON-NLS-1$
-
-        Bundle bundle = Platform.getBundle(PlatformUI.PLUGIN_ID);
-        URL url = bundle.getEntry(iconPath + relativePath);
-        return ImageDescriptor.createFromURL(url);
-
-    }
-
-    /**
-     * Handles a selection change in the entry table.
-     *
-     * @param selection the new selection
-     */
-    public void handleEntrySelection(ISelection selection) {
-        if (defaultsAction != null) {
-            if (selection.isEmpty()) {
-                defaultsAction.setEnabled(false);
-                return;
-            }
-            // see if item is editable
-            boolean editable = viewer.getActiveCellEditor() != null;
-            defaultsAction.setEnabled(editable);
-        }
-    }
-
-    /**
-     * Adds drag and drop support.
-     */
-    protected void initDragAndDrop() {
-        int operations = DND.DROP_COPY;
-        Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
-        DragSourceListener listener = new DragSourceAdapter() {
-            public void dragSetData(DragSourceEvent event) {
-                performDragSetData(event);
-            }
-
-            public void dragFinished(DragSourceEvent event) {
-                //Nothing to do here
-            }
-        };
-        DragSource dragSource = new DragSource(
-                viewer.getControl(), operations);
-        dragSource.setTransfer(transferTypes);
-        dragSource.addDragListener(listener);
-    }
-
-    /**
-     * The user is attempting to drag.  Add the appropriate
-     * data to the event.
-     * @param event The event sent from the drag and drop support.
-     */
-    void performDragSetData(DragSourceEvent event) {
-        // Get the selected property
-        IStructuredSelection selection = (IStructuredSelection) viewer
-                .getSelection();
-        if (selection.isEmpty())
-            return;
-        // Assume single selection
-        IPropertySheetEntry entry = (IPropertySheetEntry) selection
-                .getFirstElement();
-
-        // Place text as the data
-        StringBuffer buffer = new StringBuffer();
-        buffer.append(entry.getDisplayName());
-        buffer.append("\t"); //$NON-NLS-1$
-        buffer.append(entry.getValueAsString());
-
-        event.data = buffer.toString();
-    }
-
-    /**
-     * Make action objects.
-     */
-    private void makeActions() {
-        ISharedImages sharedImages = PlatformUI.getWorkbench()
-                .getSharedImages();
-
-        // Restore Default Value
-        defaultsAction = new DefaultsAction(viewer, "defaults"); //$NON-NLS-1$
-        defaultsAction.setText(PropertiesMessages.getString("Defaults.text")); //$NON-NLS-1$
-        defaultsAction.setToolTipText(PropertiesMessages
-                .getString("Defaults.toolTip")); //$NON-NLS-1$
-        defaultsAction
-                .setImageDescriptor(getImageDescriptor("elcl16/defaults_ps.gif")); //$NON-NLS-1$
-        defaultsAction
-                .setDisabledImageDescriptor(getImageDescriptor("dlcl16/defaults_ps.gif")); //$NON-NLS-1$
-        defaultsAction.setEnabled(false);
-
-        // Show Advanced Properties
-        filterAction = new FilterAction(viewer, "filter"); //$NON-NLS-1$
-        filterAction.setText(PropertiesMessages.getString("Filter.text")); //$NON-NLS-1$
-        filterAction.setToolTipText(PropertiesMessages
-                .getString("Filter.toolTip")); //$NON-NLS-1$
-        filterAction
-                .setImageDescriptor(getImageDescriptor("elcl16/filter_ps.gif")); //$NON-NLS-1$
-        filterAction.setChecked(false);
-
-        // Show Categories
-        categoriesAction = new CategoriesAction(viewer, "categories"); //$NON-NLS-1$
-        categoriesAction.setText(PropertiesMessages
-                .getString("Categories.text")); //$NON-NLS-1$
-        categoriesAction.setToolTipText(PropertiesMessages
-                .getString("Categories.toolTip")); //$NON-NLS-1$
-        categoriesAction
-                .setImageDescriptor(getImageDescriptor("elcl16/tree_mode.gif")); //$NON-NLS-1$
-        categoriesAction.setChecked(true);
-
-        // Copy	
-        Shell shell = viewer.getControl().getShell();
-        clipboard = new Clipboard(shell.getDisplay());
-        copyAction = new CopyPropertyAction(viewer, "copy", clipboard); //$NON-NLS-1$
-        copyAction.setText(PropertiesMessages.getString("CopyProperty.text")); //$NON-NLS-1$
-        copyAction.setImageDescriptor(sharedImages
-                .getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPage (and Page).
-     */
-    public void makeContributions(IMenuManager menuManager,
-            IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
-
-        // add actions to the tool bar
-        toolBarManager.add(categoriesAction);
-        toolBarManager.add(filterAction);
-        toolBarManager.add(defaultsAction);
-
-        // add actions to the menu
-        menuManager.add(categoriesAction);
-        menuManager.add(filterAction);
-
-        // set status line manager into the viewer
-        viewer.setStatusLineManager(statusLineManager);
-    }
-
-    /**
-     * Updates the model for the viewer.
-     * <p>
-     * Note that this means ensuring that the model reflects the state
-     * of the current viewer input. 
-     * </p>
-     */
-    public void refresh() {
-        if (viewer == null)
-            return;
-        // calling setInput on the viewer will cause the model to refresh
-        viewer.setInput(viewer.getInput());
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionListener.
-     */
-    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        if (viewer == null)
-            return;
-
-        // change the viewer input since the workbench selection has changed.
-        if (selection instanceof IStructuredSelection) {
-            viewer.setInput(((IStructuredSelection) selection).toArray());
-        }
-    }
-
-    /**
-     * The <code>PropertySheetPage</code> implementation of this <code>IPage</code> method
-     * calls <code>makeContributions</code> for backwards compatibility with
-     * previous versions of <code>IPage</code>. 
-     * <p>
-     * Subclasses may reimplement.
-     * </p>
-     */
-    public void setActionBars(IActionBars actionBars) {
-        super.setActionBars(actionBars);
-        cellEditorActionHandler = new CellEditorActionHandler(actionBars);
-        cellEditorActionHandler.setCopyAction(copyAction);
-    }
-
-    /**
-     * Sets focus to a part in the page.
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-
-    /**
-     * Sets the given property source provider as
-     * the property source provider.
-     * <p>
-     * Calling this method is only valid if you are using
-     * this page's default root entry.
-     * </p>
-     * @param newProvider the property source provider
-     */
-    public void setPropertySourceProvider(IPropertySourceProvider newProvider) {
-        provider = newProvider;
-        if (rootEntry instanceof PropertySheetEntry) {
-            ((PropertySheetEntry) rootEntry)
-                    .setPropertySourceProvider(provider);
-            // the following will trigger an update
-            viewer.setRootEntry(rootEntry);
-        }
-    }
-
-    /**
-     * Sets the given entry as the model for the page.
-     *
-     * @param entry the root entry
-     */
-    public void setRootEntry(IPropertySheetEntry entry) {
-        rootEntry = entry;
-        if (viewer != null)
-            // the following will trigger an update
-            viewer.setRootEntry(rootEntry);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
deleted file mode 100644
index 7bb3d2a..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/PropertySheetViewer.java
+++ /dev/null
@@ -1,1227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.views.properties;
-
-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.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeColumn;
-import org.eclipse.swt.custom.TreeEditor;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TreeEvent;
-import org.eclipse.swt.events.TreeListener;
-import org.eclipse.swt.graphics.Image;
-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.Widget;
-
-/**
- * The PropertySheetViewer displays the properties of objects. The model for the
- * viewer consists of a hierarchy of <code>IPropertySheetEntry</code>.
- * <p>
- * This viewer also supports the optional catogorization of the first level
- * <code>IPropertySheetEntry</code> s by using instances of
- * <code>PropertySheetCategory</code>.
- *  
- */
-/* package */
-class PropertySheetViewer extends Viewer {
-    // The input objects for the viewer
-    private Object[] input;
-
-    // The root entry of the viewer
-    private IPropertySheetEntry rootEntry;
-
-    // The current categories
-    private PropertySheetCategory[] categories;
-
-    // SWT widgets
-    private Tree tree;
-
-    private TreeEditor treeEditor;
-
-    private static String[] columnLabels = {
-            PropertiesMessages.getString("PropertyViewer.property"), PropertiesMessages.getString("PropertyViewer.value") }; //$NON-NLS-2$ //$NON-NLS-1$
-
-    private static String MISCELLANEOUS_CATEGORY_NAME = PropertiesMessages
-            .getString("PropertyViewer.misc"); //$NON-NLS-1$
-
-    // Cell editor support.
-    private int columnToEdit = 1;
-
-    private CellEditor cellEditor;
-
-    private IPropertySheetEntryListener entryListener;
-
-    private ICellEditorListener editorListener;
-
-    // Flag to indicate if categories (if any) should be shown
-    private boolean isShowingCategories = true;
-
-    // Flag to indicate expert properties should be shown
-    private boolean isShowingExpertProperties = false;
-
-    // The status line manager for showing messages
-    private IStatusLineManager statusLineManager;
-
-    // Cell editor activation listeners
-    private ListenerList activationListeners = new ListenerList(3);
-
-    /**
-     * Creates a property sheet viewer on a newly-created tree control
-     * under the given parent. The viewer has no input, and no root entry.
-     * 
-     * @param parent
-     *            the parent control
-     */
-    public PropertySheetViewer(Composite parent) {
-        tree = new Tree(parent, SWT.FULL_SELECTION | SWT.SINGLE
-                | SWT.HIDE_SELECTION);
-
-        // configure the widget
-        tree.setLinesVisible(true);
-        tree.setHeaderVisible(true);
-
-        // configure the columns
-        addColumns();
-
-        // add our listeners to the widget
-        hookControl();
-
-        // create a new tree editor
-        treeEditor = new TreeEditor(tree);
-
-        // create the entry and editor listener
-        createEntryListener();
-        createEditorListener();
-    }
-
-    /**
-     * Activate a cell editor for the given selected tree item.
-     * 
-     * @param item
-     *            the selected tree item
-     */
-    private void activateCellEditor(TreeItem item) {
-        // ensure the cell editor is visible
-        tree.showSelection();
-
-        // Get the entry for this item
-        IPropertySheetEntry activeEntry = (IPropertySheetEntry) item.getData();
-
-        // Get the cell editor for the entry.
-        // Note that the editor parent must be the Tree control
-        cellEditor = activeEntry.getEditor(tree);
-
-        if (cellEditor == null)
-            // unable to create the editor
-            return;
-
-        // activate the cell editor
-        cellEditor.activate();
-
-        // if the cell editor has no control we can stop now
-        Control control = cellEditor.getControl();
-        if (control == null) {
-            cellEditor.deactivate();
-            cellEditor = null;
-            return;
-        }
-
-        // add our editor listener
-        cellEditor.addListener(editorListener);
-
-        // set the layout of the tree editor to match the cell editor
-        CellEditor.LayoutData layout = cellEditor.getLayoutData();
-        treeEditor.horizontalAlignment = layout.horizontalAlignment;
-        treeEditor.grabHorizontal = layout.grabHorizontal;
-        treeEditor.minimumWidth = layout.minimumWidth;
-        treeEditor.setEditor(control, item, columnToEdit);
-
-        // set the error text from the cel editor
-        setErrorMessage(cellEditor.getErrorMessage());
-
-        // give focus to the cell editor
-        cellEditor.setFocus();
-
-        // notify of activation
-        fireCellEditorActivated(cellEditor);
-    }
-
-    /**
-     * Adds a cell editor activation listener. Has no effect if an identical
-     * activation listener is already registered.
-     * 
-     * @param listener
-     *            a cell editor activation listener
-     */
-    /* package */
-    void addActivationListener(ICellEditorActivationListener listener) {
-        activationListeners.add(listener);
-    }
-
-    /**
-     * Add columns to the tree and set up the layout manager accordingly.
-     */
-    private void addColumns() {
-
-        // create the columns
-        TreeColumn[] columns = tree.getColumns();
-        for (int i = 0; i < columnLabels.length; i++) {
-            String string = columnLabels[i];
-            if (string != null) {
-                TreeColumn column;
-                if (i < columns.length)
-                    column = columns[i];
-                else
-                    column = new TreeColumn(tree, 0);
-                column.setText(string);
-            }
-        }
-
-        tree.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				Rectangle area = tree.getClientArea();
-				TreeColumn[] columns = tree.getColumns();
-				columns[0].setWidth(area.width * 40 / 100);
-				columns[1].setWidth(area.width - columns[0].getWidth() - 4);
-			}
-		});
-
-    }
-
-    /**
-     * Asks the entry currently being edited to apply its current cell editor
-     * value.
-     */
-    private void applyEditorValue() {
-        TreeItem treeItem = treeEditor.getItem();
-        // treeItem can be null when view is opened
-        if (treeItem == null || treeItem.isDisposed())
-            return;
-        IPropertySheetEntry entry = (IPropertySheetEntry) treeItem.getData();
-        entry.applyEditorValue();
-    }
-
-    /**
-     * Creates the child items for the given widget (item or tree). This
-     * method is called when the item is expanded for the first time or when an
-     * item is assigned as the root of the tree.
-     * @param widget TreeItem or Tree to create the children in.
-     */
-    private void createChildren(Widget widget) {
-        // get the current child items
-        TreeItem[] childItems;
-        if (widget == tree)
-            childItems = tree.getItems();
-        else {
-            childItems = ((TreeItem) widget).getItems();
-        }
-
-        if (childItems.length > 0) {
-            Object data = childItems[0].getData();
-            if (data != null)
-                // children already there!
-                return;
-            // remove the dummy
-            childItems[0].dispose();
-        }
-
-        // get the children and create their tree items
-        Object node = widget.getData();
-        List children = getChildren(node);
-        if (children.isEmpty())
-            // this item does't actually have any children
-            return;
-        for (int i = 0; i < children.size(); i++) {
-            // create a new tree item
-            createItem(children.get(i), widget, i);
-        }
-    }
-
-    /**
-     * Creates a new cell editor listener.
-     */
-    private void createEditorListener() {
-        editorListener = new ICellEditorListener() {
-            public void cancelEditor() {
-                deactivateCellEditor();
-            }
-
-            public void editorValueChanged(boolean oldValidState,
-                    boolean newValidState) {
-                //Do nothing
-            }
-
-            public void applyEditorValue() {
-                //Do nothing
-            }
-        };
-    }
-
-    /**
-     * Creates a new property sheet entry listener.
-     */
-    private void createEntryListener() {
-        entryListener = new IPropertySheetEntryListener() {
-            public void childEntriesChanged(IPropertySheetEntry entry) {
-                // update the children of the given entry
-                if (entry == rootEntry)
-                    updateChildrenOf(entry, tree);
-                else {
-                    TreeItem item = findItem(entry);
-                    if (item != null)
-                        updateChildrenOf(entry, item);
-                }
-            }
-
-            public void valueChanged(IPropertySheetEntry entry) {
-                // update the given entry
-                TreeItem item = findItem(entry);
-                if (item != null)
-                    updateEntry(entry, item);
-            }
-
-            public void errorMessageChanged(IPropertySheetEntry entry) {
-                // update the error message
-                setErrorMessage(entry.getErrorText());
-            }
-        };
-    }
-
-    /**
-     * Creates a new tree item, sets the given entry or category (node)in
-     * its user data field, and adds a listener to the node if it is an entry.
-     * 
-     * @param node
-     *            the entry or category associated with this item
-     * @param parent
-     *            the parent widget
-     * @param index
-     *            indicates the position to insert the item into its parent
-     */
-    private void createItem(Object node, Widget parent, int index) {
-        // create the item
-        TreeItem item;
-        if (parent instanceof TreeItem)
-            item = new TreeItem((TreeItem) parent, SWT.NONE, index);
-        else
-            item = new TreeItem((Tree) parent, SWT.NONE, index);
-
-        // set the user data field
-        item.setData(node);
-
-        // add our listener
-        if (node instanceof IPropertySheetEntry)
-            ((IPropertySheetEntry) node)
-                    .addPropertySheetEntryListener(entryListener);
-
-        // update the visual presentation
-        if (node instanceof IPropertySheetEntry)
-            updateEntry((IPropertySheetEntry) node, item);
-        else
-            updateCategory((PropertySheetCategory) node, item);
-    }
-
-    /**
-     * Deactivate the currently active cell editor.
-     */
-    /* package */
-    void deactivateCellEditor() {
-        treeEditor.setEditor(null, null, columnToEdit);
-        if (cellEditor != null) {
-            cellEditor.deactivate();
-            fireCellEditorDeactivated(cellEditor);
-            cellEditor.removeListener(editorListener);
-            cellEditor = null;
-        }
-        // clear any error message from the editor
-        setErrorMessage(null);
-    }
-
-    /**
-     * Sends out a selection changed event for the entry tree to all registered
-     * listeners.
-     */
-    private void entrySelectionChanged() {
-        SelectionChangedEvent changeEvent = new SelectionChangedEvent(this,
-                getSelection());
-        fireSelectionChanged(changeEvent);
-    }
-
-    /**
-     * Return a tree item in the property sheet that has the same entry in
-     * its user data field as the supplied entry. Return <code>null</code> if
-     * there is no such item.
-     * 
-     * @param entry
-     *            the entry to serach for
-     * @return the TreeItem for the entry or <code>null</code> if
-     * there isn't one.
-     */
-    private TreeItem findItem(IPropertySheetEntry entry) {
-        // Iterate through treeItems to find item
-        TreeItem[] items = tree.getItems();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem item = items[i];
-            TreeItem findItem = findItem(entry, item);
-            if (findItem != null)
-                return findItem;
-        }
-        return null;
-    }
-
-    /**
-     * Return a tree item in the property sheet that has the same entry in
-     * its user data field as the supplied entry. Return <code>null</code> if
-     * there is no such item.
-     * 
-     * @param entry
-     *            the entry to search for
-     * @param item
-     *            the item look in
-     * @return the TreeItem for the entry or <code>null</code> if
-     * there isn't one.
-     */
-    private TreeItem findItem(IPropertySheetEntry entry, TreeItem item) {
-        // compare with current item
-        if (entry == item.getData())
-            return item;
-
-        // recurse over children
-        TreeItem[] items = item.getItems();
-        for (int i = 0; i < items.length; i++) {
-            TreeItem childItem = items[i];
-            TreeItem findItem = findItem(entry, childItem);
-            if (findItem != null)
-                return findItem;
-        }
-        return null;
-    }
-
-    /**
-     * Notifies all registered cell editor activation listeners of a cell editor
-     * activation.
-     * 
-     * @param activatedCellEditor
-     *            the activated cell editor
-     */
-    private void fireCellEditorActivated(CellEditor activatedCellEditor) {
-        Object[] listeners = activationListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            ((ICellEditorActivationListener) listeners[i])
-                    .cellEditorActivated(activatedCellEditor);
-        }
-    }
-
-    /**
-     * Notifies all registered cell editor activation listeners of a cell editor
-     * deactivation.
-     * 
-     * @param activatedCellEditor
-     *            the deactivated cell editor
-     */
-    private void fireCellEditorDeactivated(CellEditor activatedCellEditor) {
-        Object[] listeners = activationListeners.getListeners();
-        for (int i = 0; i < listeners.length; ++i) {
-            ((ICellEditorActivationListener) listeners[i])
-                    .cellEditorDeactivated(activatedCellEditor);
-        }
-    }
-
-    /**
-     * Returns the active cell editor of this property sheet viewer or
-     * <code>null</code> if no cell editor is active.
-     * 
-     * @return the active cell editor
-     */
-    public CellEditor getActiveCellEditor() {
-        return cellEditor;
-    }
-
-    /**
-     * Returns the children of the given category or entry
-     *
-     * @param node a category or entry
-     * @return the children of the given category or entry
-     *  (element type <code>IPropertySheetEntry</code> or 
-     *  <code>PropertySheetCategory</code>)
-     */
-    private List getChildren(Object node) {
-        // cast the entry or category
-        IPropertySheetEntry entry = null;
-        PropertySheetCategory category = null;
-        if (node instanceof IPropertySheetEntry)
-            entry = (IPropertySheetEntry) node;
-        else
-            category = (PropertySheetCategory) node;
-
-        // get the child entries or categories
-        List children;
-        if (category == null)
-            children = getChildren(entry);
-        else
-            children = getChildren(category);
-
-        return children;
-    }
-
-    /**
-     * Returns the child entries of the given entry
-     * @param entry The entry to search
-     * 
-     * @return the children of the given entry (element type
-     *         <code>IPropertySheetEntry</code>)
-     */
-    private List getChildren(IPropertySheetEntry entry) {
-        // if the entry is the root and we are showing categories, and we have
-        // more than the
-        // defualt category, return the categories
-        if (entry == rootEntry && isShowingCategories) {
-            if (categories.length > 1
-                    || (categories.length == 1 && !categories[0]
-                            .getCategoryName().equals(
-                                    MISCELLANEOUS_CATEGORY_NAME)))
-                return Arrays.asList(categories);
-        }
-
-        // return the filtered child entries
-        return getFilteredEntries(entry.getChildEntries());
-    }
-
-    /**
-     * Returns the child entries of the given category
-     * 
-     * @param category The category to search
-     * 
-     * @return the children of the given category (element type
-     *         <code>IPropertySheetEntry</code>)
-     */
-    private List getChildren(PropertySheetCategory category) {
-        return getFilteredEntries(category.getChildEntries());
-    }
-
-    /*
-     * (non-Javadoc) Method declared on Viewer.
-     */
-    public Control getControl() {
-        return tree;
-    }
-
-    /**
-     * Returns the entries which match the current filter.
-     *
-     * @param entries the entries to filter
-     * @return the entries which match the current filter
-     *  (element type <code>IPropertySheetEntry</code>)
-     */
-    private List getFilteredEntries(IPropertySheetEntry[] entries) {
-        // if no filter just return all entries
-        if (isShowingExpertProperties)
-            return Arrays.asList(entries);
-
-        // check each entry for the filter
-        List filteredEntries = new ArrayList(entries.length);
-        for (int i = 0; i < entries.length; i++) {
-            String[] filters = entries[i].getFilters();
-            boolean expert = false;
-            if (filters != null) {
-                for (int j = 0; j < filters.length; j++) {
-                    if (filters[j].equals(IPropertySheetEntry.FILTER_ID_EXPERT)) {
-                        expert = true;
-                        break;
-                    }
-                }
-            }
-            if (!expert)
-                filteredEntries.add(entries[i]);
-        }
-        return filteredEntries;
-    }
-
-    /**
-     * The <code>PropertySheetViewer</code> implementation of this method
-     * declared on <code>IInputProvider</code> returns the objects for which
-     * the viewer is currently showing properties. It returns an
-     * <code>Object[]</code> or <code>null</code>.
-     */
-    public Object getInput() {
-        return input;
-    }
-
-    /**
-     * Returns the root entry for this property sheet viewer. The root entry is
-     * not visible in the viewer.
-     * 
-     * @return the root entry or <code>null</code>.
-     */
-    public IPropertySheetEntry getRootEntry() {
-        return rootEntry;
-    }
-
-    /**
-     * The <code>PropertySheetViewer</code> implementation of this
-     * <code>ISelectionProvider</code> method returns the result as a
-     * <code>StructuredSelection</code>.
-     * <p>
-     * Note that this method only includes <code>IPropertySheetEntry</code> in
-     * the selection (no categories).
-     * </p>
-     */
-    public ISelection getSelection() {
-        if (tree.getSelectionCount() == 0)
-            return StructuredSelection.EMPTY;
-        TreeItem[] sel = tree.getSelection();
-        List entries = new ArrayList(sel.length);
-        for (int i = 0; i < sel.length; i++) {
-            TreeItem ti = sel[i];
-            Object data = ti.getData();
-            if (data instanceof IPropertySheetEntry)
-                entries.add(data);
-        }
-        return new StructuredSelection(entries);
-    }
-
-    /**
-     * Selection in the viewer occurred. Check if there is an active cell
-     * editor. If yes, deactivate it and check if a new cell editor must be
-     * activated.
-     * 
-     * @param selection
-     *            the TreeItem that is selected
-     */
-    private void handleSelect(TreeItem selection) {
-        // deactivate the current cell editor
-        if (cellEditor != null) {
-            applyEditorValue();
-            deactivateCellEditor();
-        }
-
-        // get the new selection
-        TreeItem[] sel = new TreeItem[] { selection };
-        if (sel.length == 0) {
-            setMessage(null);
-            setErrorMessage(null);
-        } else {
-            Object object = sel[0].getData(); // assume single selection
-            if (object instanceof IPropertySheetEntry) {
-                // get the entry for this item
-                IPropertySheetEntry activeEntry = (IPropertySheetEntry) object;
-
-                // display the description for the item
-                setMessage(activeEntry.getDescription());
-
-                // activate a cell editor on the selection
-                activateCellEditor(sel[0]);
-            }
-        }
-        entrySelectionChanged();
-    }
-
-    /**
-     * The expand icon for a node in this viewer has been selected to collapse a
-     * subtree. Deactivate the cell editor
-     * 
-     * @param event
-     *            the SWT tree event
-     */
-    private void handleTreeCollapse(TreeEvent event) {
-        if (cellEditor != null) {
-            applyEditorValue();
-            deactivateCellEditor();
-        }
-    }
-
-    /**
-     * The expand icon for a node in this viewer has been selected to expand the
-     * subtree. Create the children 1 level deep.
-     * <p>
-     * Note that we use a "dummy" item (no user data) to show a "+" icon beside
-     * an item which has children before the item is expanded now that it is
-     * being expanded we have to create the real child items
-     * </p>
-     * 
-     * @param event
-     *            the SWT tree event
-     */
-    private void handleTreeExpand(TreeEvent event) {
-        createChildren(event.item);
-    }
-
-    /**
-     * Hides the categories.
-     */
-    /* package */
-    void hideCategories() {
-        isShowingCategories = false;
-        categories = null;
-        refresh();
-    }
-
-    /**
-     * Hides the expert properties.
-     */
-    /* package */
-    void hideExpert() {
-        isShowingExpertProperties = false;
-        refresh();
-    }
-
-    /**
-     * Establish this viewer as a listener on the control
-     */
-    private void hookControl() {
-        // Handle selections in the Tree
-        // Part1: Double click only (allow traversal via keyboard without
-        // activation
-        tree.addSelectionListener(new SelectionAdapter() {
-            public void widgetDefaultSelected(SelectionEvent e) {
-                handleSelect((TreeItem) e.item);
-            }
-        });
-        // Part2: handle single click activation of cell editor
-        tree.addMouseListener(new MouseAdapter() {
-            public void mouseDown(MouseEvent event) {
-                // only activate if there is a cell editor
-                Point pt = new Point(event.x, event.y);
-                TreeItem item = tree.getItem(pt);
-                if (item != null) {
-                    handleSelect(item);
-                }
-            }
-        });
-
-        // Add a tree listener to expand and collapse which
-        // allows for lazy creation of children
-        tree.addTreeListener(new TreeListener() {
-            public void treeExpanded(final TreeEvent event) {
-                handleTreeExpand(event);
-            }
-
-            public void treeCollapsed(final TreeEvent event) {
-                handleTreeCollapse(event);
-            }
-        });
-
-        // Refresh the tree when F5 pressed
-        tree.addKeyListener(new KeyAdapter() {
-            public void keyReleased(KeyEvent e) {
-                if (e.character == SWT.ESC)
-                    deactivateCellEditor();
-                else if (e.keyCode == SWT.F5)
-                    // The following will simulate a reselect
-                    setInput(getInput());
-            }
-        });
-    }
-
-    /**
-     * Updates all of the items in the tree.
-     * <p>
-     * Note that this means ensuring that the tree items reflect the state of
-     * the model (entry tree) it does not mean telling the model to update
-     * itself.
-     * </p>
-     */
-    public void refresh() {
-        if (rootEntry != null) {
-            updateChildrenOf(rootEntry, tree);
-        }
-    }
-
-    /**
-     * Removes the given cell editor activation listener from this viewer. Has
-     * no effect if an identical activation listener is not registered.
-     * 
-     * @param listener
-     *            a cell editor activation listener
-     */
-    /* package */
-    void removeActivationListener(ICellEditorActivationListener listener) {
-        activationListeners.remove(listener);
-    }
-
-    /**
-     * Remove the given item from the tree. Remove our listener if the
-     * item's user data is a an entry then set the user data to null
-     * 
-     * @param item
-     *            the item to remove
-     */
-    private void removeItem(TreeItem item) {
-        Object data = item.getData();
-        if (data instanceof IPropertySheetEntry)
-            ((IPropertySheetEntry) data)
-                    .removePropertySheetEntryListener(entryListener);
-        item.setData(null);
-        item.dispose();
-    }
-
-    /**
-     * Reset the selected properties to their default values.
-     */
-    public void resetProperties() {
-        // Determine the selection
-        IStructuredSelection selection = (IStructuredSelection) getSelection();
-
-        // Iterate over entries and reset them
-        Iterator itr = selection.iterator();
-        while (itr.hasNext())
-            ((IPropertySheetEntry) itr.next()).resetPropertyValue();
-    }
-
-    /**
-     * Sets the error message to be displayed in the status line.
-     * 
-     * @param errorMessage
-     *            the message to be displayed, or <code>null</code>
-     */
-    private void setErrorMessage(String errorMessage) {
-        // show the error message
-        if (statusLineManager != null)
-            statusLineManager.setErrorMessage(errorMessage);
-    }
-
-    /**
-     * The <code>PropertySheetViewer</code> implementation of this method
-     * declared on <code>Viewer</code> method sets the objects for which the
-     * viewer is currently showing properties.
-     * <p>
-     * The input must be an <code>Object[]</code> or <code>null</code>.
-     * </p>
-     * 
-     * @param newInput
-     *            the input of this viewer, or <code>null</code> if none
-     */
-    public void setInput(Object newInput) {
-        // need to save any changed value when user clicks elsewhere
-        applyEditorValue();
-        // deactivate our cell editor
-        deactivateCellEditor();
-
-        // set the new input to the root entry
-        input = (Object[]) newInput;
-        if (input == null)
-            input = new Object[0];
-
-        if (rootEntry != null) {
-            rootEntry.setValues(input);
-            // ensure first level children are visible
-            updateChildrenOf(rootEntry, tree);
-        }
-    }
-
-    /**
-     * Sets the message to be displayed in the status line. This message is
-     * displayed when there is no error message.
-     * 
-     * @param message
-     *            the message to be displayed, or <code>null</code>
-     */
-    private void setMessage(String message) {
-        // show the message
-        if (statusLineManager != null)
-            statusLineManager.setMessage(message);
-    }
-
-    /**
-     * Sets the root entry for this property sheet viewer. The root entry is not
-     * visible in the viewer.
-     * 
-     * @param root
-     *            the root entry
-     */
-    public void setRootEntry(IPropertySheetEntry root) {
-        // If we have a root entry, remove our entry listener
-        if (rootEntry != null)
-            rootEntry.removePropertySheetEntryListener(entryListener);
-
-        rootEntry = root;
-
-        // Set the root as user data on the tree
-        tree.setData(rootEntry);
-
-        // Add an IPropertySheetEntryListener to listen for entry change
-        // notifications
-        rootEntry.addPropertySheetEntryListener(entryListener);
-
-        // Pass our input to the root, this will trigger entry change
-        // callbacks to update this viewer
-        setInput(input);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
-     */
-    public void setSelection(ISelection selection, boolean reveal) {
-        //Do nothing by default
-    }
-
-    /**
-     * Sets the status line manager this view will use to show messages.
-     * 
-     * @param manager
-     *            the status line manager
-     */
-    public void setStatusLineManager(IStatusLineManager manager) {
-        statusLineManager = manager;
-    }
-
-    /**
-     * Shows the categories.
-     */
-    /* package */
-    void showCategories() {
-        isShowingCategories = true;
-        refresh();
-    }
-
-    /**
-     * Shows the expert properties.
-     */
-    /* package */
-    void showExpert() {
-        isShowingExpertProperties = true;
-        refresh();
-    }
-
-    /**
-     * Updates the categories. Reuses old categories if possible.
-     */
-    private void updateCategories() {
-        // lazy initialize
-        if (categories == null)
-            categories = new PropertySheetCategory[0];
-
-        // get all the filtered child entries of the root
-        List childEntries = getFilteredEntries(rootEntry.getChildEntries());
-
-        // if the list is empty, just set an empty categories array
-        if (childEntries.size() == 0) {
-            categories = new PropertySheetCategory[0];
-            return;
-        }
-
-        // cache old categories by their descriptor name
-        Map categoryCache = new HashMap(categories.length * 2 + 1);
-        for (int i = 0; i < categories.length; i++) {
-            categories[i].removeAllEntries();
-            categoryCache.put(categories[i].getCategoryName(), categories[i]);
-        }
-
-        // create a list of categories to get rid of
-        List categoriesToRemove = new ArrayList(Arrays.asList(categories));
-
-        // Determine the categories
-        PropertySheetCategory misc = (PropertySheetCategory) categoryCache
-                .get(MISCELLANEOUS_CATEGORY_NAME);
-        if (misc == null)
-            misc = new PropertySheetCategory(MISCELLANEOUS_CATEGORY_NAME);
-        boolean addMisc = false;
-
-        for (int i = 0; i < childEntries.size(); i++) {
-            IPropertySheetEntry childEntry = (IPropertySheetEntry) childEntries
-                    .get(i);
-            String categoryName = childEntry.getCategory();
-            if (categoryName == null) {
-                misc.addEntry(childEntry);
-                addMisc = true;
-                categoriesToRemove.remove(misc);
-            } else {
-                PropertySheetCategory category = (PropertySheetCategory) categoryCache
-                        .get(categoryName);
-                if (category == null) {
-                    category = new PropertySheetCategory(categoryName);
-                    categoryCache.put(categoryName, category);
-                } else {
-                    categoriesToRemove.remove(category);
-                }
-                category.addEntry(childEntry);
-            }
-        }
-
-        // Add the PSE_MISC category if it has entries
-        if (addMisc)
-            categoryCache.put(MISCELLANEOUS_CATEGORY_NAME, misc);
-
-        // Sort the categories
-        List list = new ArrayList(categoryCache.values());
-        for (int i = 0; i < categoriesToRemove.size(); i++)
-            list.remove(categoriesToRemove.get(i));
-        Collections.sort(list, new Comparator() {
-            Collator coll = Collator.getInstance(Locale.getDefault());
-
-            public int compare(Object a, Object b) {
-                PropertySheetCategory c1, c2;
-                String dname1, dname2;
-                c1 = (PropertySheetCategory) a;
-                dname1 = c1.getCategoryName();
-                c2 = (PropertySheetCategory) b;
-                dname2 = c2.getCategoryName();
-                return coll.compare(dname1, dname2);
-            }
-        });
-
-        categories = (PropertySheetCategory[]) list
-                .toArray(new PropertySheetCategory[list.size()]);
-    }
-
-    /**
-     * Update the category (but not its parent or children).
-     * 
-     * @param category
-     *            the category to update
-     * @param item
-     *            the tree item for the given entry
-     */
-    private void updateCategory(PropertySheetCategory category,
-            TreeItem item) {
-        // ensure that backpointer is correct
-        item.setData(category);
-
-        // Update the name and value columns
-        item.setText(0, category.getCategoryName());
-        item.setText(1, ""); //$NON-NLS-1$
-
-        // update the "+" icon
-        if (category.getAutoExpand()) {
-            // we auto expand categories when they first appear
-            createChildren(item);
-            item.setExpanded(true);
-            category.setAutoExpand(false);
-        } else {
-            // we do not want to auto expand categories if the user has
-            // collpased them
-            updatePlus(category, item);
-        }
-    }
-
-    /**
-     * Update the child entries or categories of the given entry or category. If
-     * the given node is the root entry and we are showing categories then the
-     * child entries are categories, otherwise they are entries.
-     * 
-     * @param node
-     *            the entry or category whose children we will update
-     * @param widget
-     *            the widget for the given entry, either a
-     *            <code>TableTree</code> if the node is the root node or a
-     *            <code>TreeItem</code> otherwise.
-     */
-    private void updateChildrenOf(Object node, Widget widget) {
-        // cast the entry or category
-        IPropertySheetEntry entry = null;
-        PropertySheetCategory category = null;
-        if (node instanceof IPropertySheetEntry)
-            entry = (IPropertySheetEntry) node;
-        else
-            category = (PropertySheetCategory) node;
-
-        // get the current child tree items
-        TreeItem item = null;
-        TreeItem[] childItems;
-        if (node == rootEntry) {
-            childItems = tree.getItems();
-        } else {
-            item = (TreeItem) widget;
-            childItems = item.getItems();
-        }
-
-        // optimization! prune collapsed subtrees
-        if (item != null && !item.getExpanded()) {
-            // remove all children
-            for (int i = 0; i < childItems.length; i++) {
-                if (childItems[i].getData() != null) {
-                    removeItem(childItems[i]);
-                }
-            }
-
-            // append a dummy if necessary
-            if (category != null || entry.hasChildEntries()) {
-                //may already have a dummy
-                // its is either a category (which always has at least one
-                // child)
-                // or an entry with chidren.
-                // Note that this test is not perfect, if we have filtering on
-                // then there in fact may be no entires to show when the user
-                // presses the "+" expand icon. But this is an acceptable
-                // compromise.
-                if (childItems.length != 1 || childItems[0].getData() != null)
-                    //if already a dummy - do nothing
-                    new TreeItem(item, SWT.NULL);
-            }
-            return;
-        }
-
-        // get the child entries or categories
-        if (node == rootEntry && isShowingCategories)
-            // update the categories
-            updateCategories();
-        List children = getChildren(node);
-
-        // remove items
-        Set set = new HashSet(childItems.length * 2 + 1);
-
-        for (int i = 0; i < childItems.length; i++) {
-            Object data = childItems[i].getData();
-            if (data != null) {
-                Object e = data;
-                int ix = children.indexOf(e);
-                if (ix < 0) { // not found
-                    removeItem(childItems[i]);
-                } else { // found
-                    set.add(e);
-                }
-            } else if (data == null) { // the dummy
-                item.dispose();
-            }
-        }
-
-        // WORKAROUND
-        int oldCnt = -1;
-        if (widget == tree)
-            oldCnt = tree.getItemCount();
-
-        // add new items
-        int newSize = children.size();
-        for (int i = 0; i < newSize; i++) {
-            Object el = children.get(i);
-            if (!set.contains(el))
-                createItem(el, widget, i);
-        }
-
-        // WORKAROUND
-        if (widget == tree && oldCnt == 0 && tree.getItemCount() == 1) {
-            tree.setRedraw(false);
-            tree.setRedraw(true);
-        }
-
-        // get the child tree items after our changes
-        if (entry == rootEntry)
-            childItems = tree.getItems();
-        else
-            childItems = item.getItems();
-
-        // update the child items
-        // This ensures that the children are in the correct order
-        // are showing the correct values.
-        for (int i = 0; i < newSize; i++) {
-            Object el = children.get(i);
-            if (el instanceof IPropertySheetEntry)
-                updateEntry((IPropertySheetEntry) el, childItems[i]);
-            else {
-                updateCategory((PropertySheetCategory) el, childItems[i]);
-                updateChildrenOf(el, childItems[i]);
-            }
-        }
-        // The tree's original selection may no longer apply after the update,
-        // so fire the selection changed event.
-        entrySelectionChanged();
-    }
-
-    /**
-     * Update the given entry (but not its children or parent)
-     * 
-     * @param entry
-     *            the entry we will update
-     * @param item
-     *            the tree item for the given entry
-     */
-    private void updateEntry(IPropertySheetEntry entry, TreeItem item) {
-        // ensure that backpointer is correct
-        item.setData(entry);
-
-        // update the name and value columns
-        item.setText(0, entry.getDisplayName());
-        item.setText(1, entry.getValueAsString());
-        Image image = entry.getImage();
-        if (item.getImage(1) != image)
-            item.setImage(1, image);
-
-        // update the "+" icon
-        updatePlus(entry, item);
-    }
-
-    /**
-     * Updates the "+"/"-" icon of the tree item from the given entry
-     * or category.
-     *
-     * @param node the entry or category
-     * @param item the tree item being updated
-     */
-    private void updatePlus(Object node, TreeItem item) {
-        // cast the entry or category
-        IPropertySheetEntry entry = null;
-        PropertySheetCategory category = null;
-        if (node instanceof IPropertySheetEntry)
-            entry = (IPropertySheetEntry) node;
-        else
-            category = (PropertySheetCategory) node;
-
-        boolean hasPlus = item.getItemCount() > 0;
-        boolean needsPlus = category != null || entry.hasChildEntries();
-        boolean removeAll = false;
-        boolean addDummy = false;
-
-        if (hasPlus != needsPlus) {
-            if (needsPlus) {
-                addDummy = true;
-            } else {
-                removeAll = true;
-            }
-        }
-        if (removeAll) {
-            // remove all children
-            TreeItem[] items = item.getItems();
-            for (int i = 0; i < items.length; i++) {
-                removeItem(items[i]);
-            }
-        }
-
-        if (addDummy) {
-            new TreeItem(item, SWT.NULL); // append a dummy to create the
-            // plus sign
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.java
deleted file mode 100644
index f9f3d64..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/TextPropertyDescriptor.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.ui.views.properties;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Descriptor for a property that has a value which should be edited with a 
- * text cell editor.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * <p>
- * Example:
- * <pre>
- * IPropertyDescriptor pd = new TextPropertyDescriptor("surname", "Last Name");
- * </pre>
- * </p>
- */
-public class TextPropertyDescriptor extends PropertyDescriptor {
-    /**
-     * Creates an property descriptor with the given id and display name.
-     * 
-     * @param id the id of the property
-     * @param displayName the name to display for the property
-     */
-    public TextPropertyDescriptor(Object id, String displayName) {
-        super(id, displayName);
-    }
-
-    /**
-     * The <code>TextPropertyDescriptor</code> implementation of this 
-     * <code>IPropertyDescriptor</code> method creates and returns a new
-     * <code>TextCellEditor</code>.
-     * <p>
-     * The editor is configured with the current validator if there is one.
-     * </p>
-     */
-    public CellEditor createPropertyEditor(Composite parent) {
-        CellEditor editor = new TextCellEditor(parent);
-        if (getValidator() != null)
-            editor.setValidator(getValidator());
-        return editor;
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.properties
deleted file mode 100644
index ed0424d..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/messages.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
-###############################################################################
-
-# package: org.eclipse.ui.views.properties
-
-# ==============================================================================
-# Properties View
-# ==============================================================================
-
-Categories.text = Show &Categories 
-Categories.toolTip = Show Categories
-
-CopyProperty.text = &Copy
-
-Defaults.text = &Restore Default Value
-Defaults.toolTip = Restore Default Value
-
-Filter.text = Show &Advanced Properties
-Filter.toolTip = Show Advanced Properties
-
-PropertyViewer.property = Property
-PropertyViewer.value = Value
-PropertyViewer.misc = Misc
-
-CopyToClipboardProblemDialog.title=Problem Copying to Clipboard
-CopyToClipboardProblemDialog.message=There was a problem when accessing the system clipboard. Retry?
diff --git a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html b/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html
deleted file mode 100644
index 1a6a1b5..0000000
--- a/bundles/org.eclipse.ui.views/src/org/eclipse/ui/views/properties/package.html
+++ /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="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.5 [en] (Win98; I) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides the standard Property Sheet view which displays
-custom properties of the active workbench part's current selection.
-<br>&nbsp;
-</body>
-</html>
diff --git a/bundles/org.eclipse.ui.win32/.classpath b/bundles/org.eclipse.ui.win32/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/bundles/org.eclipse.ui.win32/.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/bundles/org.eclipse.ui.win32/.cvsignore b/bundles/org.eclipse.ui.win32/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.win32/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.win32/.project b/bundles/org.eclipse.ui.win32/.project
deleted file mode 100644
index 9be4cd1..0000000
--- a/bundles/org.eclipse.ui.win32/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.ui.win32</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.help</project>

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

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

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

-		<project>org.eclipse.update.core</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/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.ui.win32/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui.win32/about.html b/bundles/org.eclipse.ui.win32/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.win32/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/bundles/org.eclipse.ui.win32/build.properties b/bundles/org.eclipse.ui.win32/build.properties
deleted file mode 100644
index ed5519f..0000000
--- a/bundles/org.eclipse.ui.win32/build.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
-###############################################################################
-source.workbenchwin32.jar=src/
-src.includes=about.html
-bin.includes=fragment.xml,fragment.properties,*.jar
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.win32/fragment.xml b/bundles/org.eclipse.ui.win32/fragment.xml
deleted file mode 100644
index d3c84bc..0000000
--- a/bundles/org.eclipse.ui.win32/fragment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.ui.win32"
-   name="%Win32Fragment.fragmentName"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   plugin-id="org.eclipse.ui.ide"
-   plugin-version="3.0.0">
-
-   <runtime>
-      <library name="workbenchwin32.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-
-</fragment>
diff --git a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java b/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.java
deleted file mode 100644
index a6dc5db..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleEditor.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
- *******************************************************************************/
-package org.eclipse.ui.internal.editorsupport.win32;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.ole.win32.OLE;
-import org.eclipse.swt.ole.win32.OleAutomation;
-import org.eclipse.swt.ole.win32.OleClientSite;
-import org.eclipse.swt.ole.win32.OleFrame;
-import org.eclipse.swt.ole.win32.Variant;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.SaveAsDialog;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- */
-public class OleEditor extends EditorPart {
-
-    /**
-     * The resource listener updates the receiver when
-     * a change has occured.
-     */
-    private IResourceChangeListener resourceListener = new IResourceChangeListener() {
-
-        /*
-         * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-         */
-        public void resourceChanged(IResourceChangeEvent event) {
-            IResourceDelta mainDelta = event.getDelta();
-            if (mainDelta == null)
-                return;
-            IResourceDelta affectedElement = mainDelta.findMember(resource
-                    .getFullPath());
-            if (affectedElement != null)
-                processDelta(affectedElement);
-        }
-
-        /*
-         * Process the delta for the receiver
-         */
-        private boolean processDelta(final IResourceDelta delta) {
-
-            Runnable changeRunnable = null;
-
-            switch (delta.getKind()) {
-            case IResourceDelta.REMOVED:
-                if ((IResourceDelta.MOVED_TO & delta.getFlags()) != 0) {
-                    changeRunnable = new Runnable() {
-                        public void run() {
-                            IPath path = delta.getMovedToPath();
-                            IFile newFile = delta.getResource().getWorkspace()
-                                    .getRoot().getFile(path);
-                            if (newFile != null) {
-                                sourceChanged(newFile);
-                            }
-                        }
-                    };
-                } else {
-                    changeRunnable = new Runnable() {
-                        public void run() {
-                            sourceDeleted = true;
-                            getSite().getPage().closeEditor(OleEditor.this,
-                                    true);
-                        }
-                    };
-
-                }
-
-                break;
-            }
-
-            if (changeRunnable != null)
-                update(changeRunnable);
-
-            return true; // because we are sitting on files anyway
-        }
-
-    };
-
-    private OleFrame clientFrame;
-
-    private OleClientSite clientSite;
-
-    private File source;
-
-    private IFile resource;
-
-    private Image oleTitleImage;
-
-    //The sourceDeleted flag makes sure that the receiver is not
-    //dirty when shutting down
-    boolean sourceDeleted = false;
-
-    //The sourceChanged flag indicates whether or not the save from the ole component
-    //can be used or if the input changed
-    boolean sourceChanged = false;
-
-    /**
-     * Keep track of whether we have an active client so we do not
-     * deactivate multiple times
-     */
-    private boolean clientActive = false;
-
-    /**
-     * Keep track of whether we have activated OLE or not as some applications
-     * will only allow single activations.
-     */
-    private boolean oleActivated = false;
-
-    private IPartListener partListener = new IPartListener() {
-        public void partActivated(IWorkbenchPart part) {
-            activateClient(part);
-        }
-
-        public void partBroughtToTop(IWorkbenchPart part) {
-        }
-
-        public void partClosed(IWorkbenchPart part) {
-        }
-
-        public void partOpened(IWorkbenchPart part) {
-        }
-
-        public void partDeactivated(IWorkbenchPart part) {
-            deactivateClient(part);
-        }
-    };
-
-    private static final String RENAME_ERROR_TITLE = OleMessages
-            .getString("OleEditor.errorSaving"); //$NON-NLS-1$
-
-    private static final String OLE_EXCEPTION_TITLE = OleMessages
-            .getString("OleEditor.oleExceptionTitle"); //$NON-NLS-1$
-
-    private static final String OLE_EXCEPTION_MESSAGE = OleMessages
-            .getString("OleEditor.oleExceptionMessage"); //$NON-NLS-1$
-
-    private static final String OLE_CREATE_EXCEPTION_MESSAGE = OleMessages
-            .getString("OleEditor.oleCreationExceptionMessage"); //$NON-NLS-1$
-
-    private static final String SAVE_ERROR_TITLE = OleMessages
-            .getString("OleEditor.savingTitle"); //$NON-NLS-1$
-
-    private static final String SAVE_ERROR_MESSAGE = OleMessages
-            .getString("OleEditor.savingMessage"); //$NON-NLS-1$
-
-    /**
-     * Return a new ole editor.
-     */
-    public OleEditor() {
-        //Do nothing
-    }
-
-    private void activateClient(IWorkbenchPart part) {
-        if (part == this) {
-            oleActivate();
-            this.clientActive = true;
-        }
-    }
-
-    /**
-     * createPartControl method comment.
-     */
-    public void createPartControl(Composite parent) {
-
-        // Create a frame.
-        clientFrame = new OleFrame(parent, SWT.CLIP_CHILDREN);
-        clientFrame.setBackground(JFaceColors.getBannerBackground(clientFrame
-                .getDisplay()));
-
-        initializeWorkbenchMenus();
-
-        // Set the input file.
-        IEditorInput input = getEditorInput();
-        if (input instanceof IFileEditorInput) {
-            setResource(((IFileEditorInput) input).getFile());
-            resource.getWorkspace().addResourceChangeListener(resourceListener);
-        }
-
-        createClientSite();
-    }
-
-    /**
-     * Create the client site for the reciever
-     */
-
-    private void createClientSite() {
-        //If there was an OLE Error or nothing has been created yet
-        if (clientFrame == null || clientFrame.isDisposed())
-            return;
-        // Create a OLE client site.
-        try {
-            clientSite = new OleClientSite(clientFrame, SWT.NONE, source);
-        } catch (SWTException exception) {
-
-            IStatus errorStatus = new Status(IStatus.ERROR,
-                    WorkbenchPlugin.PI_WORKBENCH, IStatus.ERROR,
-                    OLE_CREATE_EXCEPTION_MESSAGE, exception);
-            ErrorDialog.openError(null, OLE_EXCEPTION_TITLE, errorStatus
-                    .getMessage(), errorStatus);
-            return;
-        }
-        clientSite.setBackground(JFaceColors.getBannerBackground(clientFrame
-                .getDisplay()));
-
-    }
-
-    private void deactivateClient(IWorkbenchPart part) {
-        //Check the client active flag. Set it to false when we have deactivated
-        //to prevent multiple deactivations.
-        if (part == this && clientActive) {
-            if (clientSite != null)
-                clientSite.deactivateInPlaceClient();
-            this.clientActive = false;
-            this.oleActivated = false;
-        }
-    }
-
-    /**
-     * Display an error dialog with the supplied title and message.
-     * @param title
-     * @param message
-     */
-    private void displayErrorDialog(String title, String message) {
-        Shell parent = null;
-        if (getClientSite() != null)
-            parent = getClientSite().getShell();
-        MessageDialog.openError(parent, title, message);
-    }
-
-    /**
-     * @see IWorkbenchPart#dispose
-     */
-    public void dispose() {
-        if (resource != null)
-            resource.getWorkspace().removeResourceChangeListener(
-                    resourceListener);
-
-        //can dispose the title image because it was created in init
-        if (oleTitleImage != null) {
-            oleTitleImage.dispose();
-            oleTitleImage = null;
-        }
-
-        if (getSite() != null && getSite().getPage() != null)
-            getSite().getPage().removePartListener(partListener);
-
-    }
-
-    /**
-     *	Print this object's contents
-     */
-    public void doPrint() {
-        if (clientSite == null)
-            return;
-        BusyIndicator.showWhile(clientSite.getDisplay(), new Runnable() {
-            public void run() {
-                clientSite.exec(OLE.OLECMDID_PRINT,
-                        OLE.OLECMDEXECOPT_PROMPTUSER, null, null);
-                // note: to check for success: above == SWTOLE.S_OK
-            }
-        });
-    }
-
-    /**
-     *	Save the viewer's contents to the source file system file
-     */
-    public void doSave(final IProgressMonitor monitor) {
-        if (clientSite == null)
-            return;
-        BusyIndicator.showWhile(clientSite.getDisplay(), new Runnable() {
-
-            /*
-             *  (non-Javadoc)
-             * @see java.lang.Runnable#run()
-             */
-            public void run() {
-
-                //Do not try and use the component provided save if the source has
-                //changed in Eclipse
-                if (!sourceChanged) {
-                    int result = clientSite.queryStatus(OLE.OLECMDID_SAVE);
-                    if ((result & OLE.OLECMDF_ENABLED) != 0) {
-                        result = clientSite.exec(OLE.OLECMDID_SAVE,
-                                OLE.OLECMDEXECOPT_PROMPTUSER, null, null);
-                        if (result == OLE.S_OK) {
-                            try {
-                                resource.refreshLocal(IResource.DEPTH_ZERO,
-                                        monitor);
-                            } catch (CoreException ex) {
-                                //Do nothing on a failed refresh
-                            }
-                            return;
-                        }
-                        displayErrorDialog(OLE_EXCEPTION_TITLE,
-                                OLE_EXCEPTION_MESSAGE + String.valueOf(result));
-                        return;
-                    }
-                }
-                if (saveFile(source)) {
-                    try {
-                        resource.refreshLocal(IResource.DEPTH_ZERO, monitor);
-                    } catch (CoreException ex) {
-                        //Do nothing on a failed refresh
-                    }
-                } else
-                    displayErrorDialog(SAVE_ERROR_TITLE, SAVE_ERROR_MESSAGE
-                            + source.getName());
-            }
-        });
-    }
-
-    /**
-     *	Save the viewer's contents into the provided resource.
-     */
-    public void doSaveAs() {
-        if (clientSite == null)
-            return;
-        WorkspaceModifyOperation op = saveNewFileOperation();
-        Shell shell = clientSite.getShell();
-        try {
-            new ProgressMonitorDialog(shell).run(false, true, op);
-        } catch (InterruptedException interrupt) {
-            //Nothing to reset so do nothing
-        } catch (InvocationTargetException invocationException) {
-            MessageDialog.openError(shell, RENAME_ERROR_TITLE,
-                    invocationException.getTargetException().getMessage());
-        }
-
-    }
-
-    /**
-     *	Answer self's client site
-     *
-     *	@return org.eclipse.swt.ole.win32.OleClientSite
-     */
-    public OleClientSite getClientSite() {
-        return clientSite;
-    }
-
-    /**
-     *	Answer the file system representation of self's input element
-     *
-     *	@return java.io.File
-     */
-    public File getSourceFile() {
-        return source;
-    }
-
-    private void handleWord() {
-        OleAutomation dispInterface = new OleAutomation(clientSite);
-        // Get Application
-        int[] appId = dispInterface
-                .getIDsOfNames(new String[] { "Application" }); //$NON-NLS-1$
-        if (appId != null) {
-            Variant pVarResult = dispInterface.getProperty(appId[0]);
-            if (pVarResult != null) {
-                OleAutomation application = pVarResult.getAutomation();
-                int[] dispid = application
-                        .getIDsOfNames(new String[] { "DisplayScrollBars" }); //$NON-NLS-1$
-                if (dispid != null) {
-                    Variant rgvarg = new Variant(true);
-                    application.setProperty(dispid[0], rgvarg);
-                }
-                application.dispose();
-            }
-        }
-        dispInterface.dispose();
-    }
-
-    /* (non-Javadoc)
-     * Initializes the editor when created from scratch.
-     * 
-     * This method is called soon after part construction and marks 
-     * the start of the extension lifecycle.  At the end of the
-     * extension lifecycle <code>shutdown</code> will be invoked
-     * to terminate the lifecycle.
-     *
-     * @param container an interface for communication with the part container
-     * @param input The initial input element for the editor.  In most cases
-     *    it is an <code>IFile</code> but other types are acceptable.
-     * @see IWorkbenchPart#shutdown
-     */
-    public void init(IEditorSite site, IEditorInput input)
-            throws PartInitException {
-        // Check input.
-        if (!(input instanceof IFileEditorInput))
-            throw new PartInitException(OleMessages.format(
-                    "OleEditor.invalidInput", new Object[] { input })); //$NON-NLS-1$
-
-        IFile file = (((IFileEditorInput) input).getFile());
-
-        //Cannot create this with a file and no physical location
-        if (file.getLocation() == null
-                || !(new File(file.getLocation().toOSString()).exists()))
-            throw new PartInitException(
-                    OleMessages
-                            .format(
-                                    "OleEditor.noFileInput", new Object[] { file.getLocation() })); //$NON-NLS-1$
-
-        // Save input.
-        setSite(site);
-        setInput(input);
-
-        // Update titles.
-        setTitle(input.getName());
-        setTitleToolTip(input.getToolTipText());
-        ImageDescriptor desc = input.getImageDescriptor();
-        if (desc != null) {
-            oleTitleImage = desc.createImage();
-            setTitleImage(oleTitleImage);
-        }
-
-        // Listen for part activation.
-        site.getPage().addPartListener(partListener);
-
-    }
-
-    /**
-     *	Initialize the workbench menus for proper merging
-     */
-    protected void initializeWorkbenchMenus() {
-        //If there was an OLE Error or nothing has been created yet
-        if (clientFrame == null || clientFrame.isDisposed())
-            return;
-        // Get the browser menubar.  If one does not exist then
-        // create it.
-        Shell shell = clientFrame.getShell();
-        Menu menuBar = shell.getMenuBar();
-        if (menuBar == null) {
-            menuBar = new Menu(shell, SWT.BAR);
-            shell.setMenuBar(menuBar);
-        }
-
-        // Swap the file and window menus.
-        MenuItem[] windowMenu = new MenuItem[1];
-        MenuItem[] fileMenu = new MenuItem[1];
-        Vector containerItems = new Vector();
-
-        IWorkbenchWindow window = getSite().getWorkbenchWindow();
-
-        for (int i = 0; i < menuBar.getItemCount(); i++) {
-            MenuItem item = menuBar.getItem(i);
-            String id = ""; //$NON-NLS-1$
-            if (item.getData() instanceof IMenuManager)
-                id = ((IMenuManager) item.getData()).getId();
-            if (id.equals(IWorkbenchActionConstants.M_FILE))
-                fileMenu[0] = item;
-            else if (id.equals(IWorkbenchActionConstants.M_WINDOW))
-                windowMenu[0] = item;
-            else {
-                if (window.isApplicationMenu(id)) {
-                    containerItems.addElement(item);
-                }
-            }
-        }
-        MenuItem[] containerMenu = new MenuItem[containerItems.size()];
-        containerItems.copyInto(containerMenu);
-        clientFrame.setFileMenus(fileMenu);
-        clientFrame.setContainerMenus(containerMenu);
-        clientFrame.setWindowMenus(windowMenu);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.ISaveablePart#isDirty()
-     */
-    public boolean isDirty() {
-        /*Return only if we have a clientSite which is dirty 
-         as this can be asked before anything is opened*/
-        return this.clientSite != null;
-    }
-
-    /* 
-     * (non-Javadoc)
-     * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-     */
-    public boolean isSaveAsAllowed() {
-        return true;
-    }
-
-    /**
-     *Since we don't know when a change has been made, always answer true
-     * @return <code>false</code> if it was not opened and <code>true</code> 
-     * only if it is dirty
-     */
-    public boolean isSaveNeeded() {
-        return getClientSite() != null && isDirty();
-    }
-
-    /**
-     * Save the supplied file using the SWT API.
-     * @param file java.io.File
-     * @return <code>true</code> if the save was successful
-     */
-    private boolean saveFile(File file) {
-
-        File tempFile = new File(file.getAbsolutePath() + ".tmp"); //$NON-NLS-1$
-        file.renameTo(tempFile);
-        boolean saved = false;
-        if (OLE.isOleFile(file) || usesStorageFiles(clientSite.getProgramID())) {
-            saved = clientSite.save(file, true);
-        } else {
-            saved = clientSite.save(file, false);
-        }
-
-        if (saved) {
-            // save was successful so discard the backup
-            tempFile.delete();
-            return true;
-        }
-        // save failed so restore the backup
-        tempFile.renameTo(file);
-        return false;
-    }
-
-    /**
-     * Save the new File using the client site.
-     * @return WorkspaceModifyOperation
-     */
-    private WorkspaceModifyOperation saveNewFileOperation() {
-
-        return new WorkspaceModifyOperation() {
-            public void execute(final IProgressMonitor monitor)
-                    throws CoreException {
-                SaveAsDialog dialog = new SaveAsDialog(clientFrame.getShell());
-                IFileEditorInput input = (IFileEditorInput) getEditorInput();
-                IFile sFile = input.getFile();
-                dialog.setOriginalFile(sFile);
-                dialog.open();
-
-                IPath newPath = dialog.getResult();
-                if (newPath == null)
-                    return;
-
-                if (dialog.getReturnCode() == Window.OK) {
-                    String projectName = newPath.segment(0);
-                    newPath = newPath.removeFirstSegments(1);
-                    IProject project = resource.getWorkspace().getRoot()
-                            .getProject(projectName);
-                    newPath = project.getLocation().append(newPath);
-                    File newFile = newPath.toFile();
-                    if (saveFile(newFile)) {
-                        IFile newResource = resource.getWorkspace().getRoot()
-                                .getFileForLocation(newPath);
-                        if (newResource != null) {
-                            sourceChanged(newResource);
-                            newResource.refreshLocal(IResource.DEPTH_ZERO,
-                                    monitor);
-                        }
-                    } else {
-                        displayErrorDialog(SAVE_ERROR_TITLE, SAVE_ERROR_MESSAGE
-                                + newFile.getName());
-                        return;
-                    }
-                }
-            }
-        };
-
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-     */
-    public void setFocus() {
-        //Do not take focus
-    }
-
-    /**
-     * Make ole active so that the controls are rendered.
-     */
-    private void oleActivate() {
-        //If there was an OLE Error or nothing has been created yet
-        if (clientSite == null || clientFrame == null
-                || clientFrame.isDisposed())
-            return;
-
-        if (!oleActivated) {
-            clientSite.doVerb(OLE.OLEIVERB_SHOW);
-            oleActivated = true;
-            String progId = clientSite.getProgramID();
-            if (progId != null && progId.startsWith("Word.Document")) { //$NON-NLS-1$
-                handleWord();
-            }
-        }
-    }
-
-    /**
-     * Set the file resource that this object is displaying
-     * @param file
-     */
-    protected void setResource(IFile file) {
-        resource = file;
-        source = new File(file.getLocation().toOSString());
-    }
-
-    /**
-     * See if it is one of the known types that use OLE Storage.
-     * @param progID the type to test
-     * @return <code>true</code> if it is one of the known types
-     */
-    private static boolean usesStorageFiles(String progID) {
-        return (progID != null && (progID.startsWith("Word.", 0) //$NON-NLS-1$
-                || progID.startsWith("MSGraph", 0) //$NON-NLS-1$
-                || progID.startsWith("PowerPoint", 0) //$NON-NLS-1$
-        || progID.startsWith("Excel", 0))); //$NON-NLS-1$
-    }
-
-    /**
-     * The source has changed to the newFile. Update
-     * editors and set any required flags
-     * @param newFile The file to get the new contents from.
-     */
-    private void sourceChanged(IFile newFile) {
-
-        FileEditorInput newInput = new FileEditorInput(newFile);
-        setInput(newInput);
-        setResource(newFile);
-        sourceChanged = true;
-        setTitle(newInput.getName());
-
-    }
-
-    /* 
-     * See IEditorPart.isSaveOnCloseNeeded() 
-     */
-    public boolean isSaveOnCloseNeeded() {
-        return !sourceDeleted && super.isSaveOnCloseNeeded();
-    }
-
-    /**
-     * Posts the update code "behind" the running operation.
-     *
-     * @param runnable the update code
-     */
-    private void update(Runnable runnable) {
-        IWorkbench workbench = PlatformUI.getWorkbench();
-        IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-        if (windows != null && windows.length > 0) {
-            Display display = windows[0].getShell().getDisplay();
-            display.asyncExec(runnable);
-        } else
-            runnable.run();
-    }
-
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java b/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java
deleted file mode 100644
index fa9dcb5..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/OleMessages.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.editorsupport.win32;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps managing messages
- */
-public class OleMessages {
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.internal.editorsupport.win32.messages";//$NON-NLS-1$
-
-    private static ResourceBundle bundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private OleMessages() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in the resource bundle.
-     * 
-     * @param key
-     *            the resource name
-     * @param args
-     *            the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the key is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return key;
-        }
-    }
-
-    /**
-     * Returns the resource object with the given key in the resource bundle. If
-     * there isn't any value under the given key, the default value is returned.
-     * 
-     * @param key
-     *            the resource name
-     * @param def
-     *            the default value
-     * @return the string
-     */
-    public static String getString(String key, String def) {
-        try {
-            return bundle.getString(key);
-        } catch (MissingResourceException e) {
-            return def;
-        }
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties b/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties
deleted file mode 100644
index d2d8c87..0000000
--- a/bundles/org.eclipse.ui.win32/src/org/eclipse/ui/internal/editorsupport/win32/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-OleEditor.renameTitle = Rename File
-OleEditor.renameMessage = Enter new file name:
-OleEditor.errorSaving = Exception saving file
-OleEditor.oleExceptionTitle = OLE Exception
-OleEditor.oleExceptionMessage = OLE Error Saving 
-OleEditor.oleCreationExceptionMessage = OLE Error Opening 
-OleEditor.savingTitle = Error Saving
-OleEditor.savingMessage = Could not save 
-OleEditor.invalidInput = Invalid Input: {0}.  Input must implement IPathEditorInput
-OleEditor.noFileInput = Invalid Input: {0}.  Input must also exist in the filesystem
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.classpath b/bundles/org.eclipse.ui.workbench.compatibility/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.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/bundles/org.eclipse.ui.workbench.compatibility/.cvsignore b/bundles/org.eclipse.ui.workbench.compatibility/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.project b/bundles/org.eclipse.ui.workbench.compatibility/.project
deleted file mode 100644
index 6695da6..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.workbench.compatibility</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui.workbench</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/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 7f9ef27..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 23 11:21:27 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/about.html b/bundles/org.eclipse.ui.workbench.compatibility/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/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/bundles/org.eclipse.ui.workbench.compatibility/build.properties b/bundles/org.eclipse.ui.workbench.compatibility/build.properties
deleted file mode 100644
index d865273..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/build.properties
+++ /dev/null
@@ -1,14 +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
-###############################################################################
-
-source.compatibility.jar=src/
-src.includes=about.html
-bin.includes=fragment.xml,about.html,compatibility.jar
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml b/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
deleted file mode 100644
index 6b92f9a..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/fragment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.ui.workbench.compatibility"
-   name="%CompatibilityFragment.fragmentName"
-   version="3.1.0"
-   provider-name="%providerName"
-   plugin-id="org.eclipse.ui.workbench"
-   plugin-version="3.0.0">
-
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-   </requires>
-   
-   <!-- N.B. This plug-in fragment contributes compatibility.jar
-     which is declared as a library in the plug-in manifest. -->
-
-</fragment>
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java b/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
deleted file mode 100644
index 669bb20..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/CompatibleWorkbenchPage.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Internal class used in providing increased binary compatibility for pre-3.0
- * plug-ins. This declaration masks the empty class of the same name declared in
- * the Workbench proper. This class implements IWorkbenchPage that existed in
- * 2.1 but were removed in 3.0 because they referenced resource API.
- * <p>
- * Plug-ins should not refer to this type or its containing fragment from their
- * class path. It is intended only to provide binary compatibility for pre-3.0
- * plug-ins, and should not be referenced at development time.
- * </p>
- * 
- * @since 3.0
- */
-public class CompatibleWorkbenchPage implements ICompatibleWorkbenchPage {
-
-    /**
-     * openEditor(IFile) is declared on IWorkbenchPage in 2.1. This method was
-     * removed in 3.0 because it references resource API.
-     */
-    public IEditorPart openEditor(IFile input) throws PartInitException {
-        // invoke org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage, IFile,
-        // boolean);
-        return openEditor(new Class[] { IWorkbenchPage.class, IFile.class,
-                boolean.class },
-                new Object[] { this, input, new Boolean(true) });
-    }
-
-    /**
-     * openEditor(IFile,String) is declared on IWorkbenchPage in 2.1. This
-     * method was removed in 3.0 because it references resource API.
-     */
-    public IEditorPart openEditor(IFile input, String editorID)
-            throws PartInitException {
-        return openEditor(input, editorID, true);
-    }
-
-    /**
-     * openEditor(IFile,String,boolean) is declared on IWorkbenchPage in 2.1.
-     * This method was removed in 3.0 because it references resource API.
-     */
-    public IEditorPart openEditor(IFile input, String editorID, boolean activate)
-            throws PartInitException {
-        return ((IWorkbenchPage) this).openEditor(getFileEditorInput(input),
-                editorID);
-    }
-
-    /**
-     * openEditor(IMarker) is declared on IWorkbenchPage in 2.1. This method was
-     * removed in 3.0 because it references resource API.
-     */
-    public IEditorPart openEditor(IMarker marker) throws PartInitException {
-        return openEditor(marker, true);
-    }
-
-    /**
-     * openEditor(IMarker,boolean) is declared on IWorkbenchPage in 2.1. This
-     * method was removed in 3.0 because it references resource API.
-     */
-    public IEditorPart openEditor(IMarker marker, boolean activate)
-            throws PartInitException {
-        // invoke org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage, IMarker,
-        // boolean);
-        return openEditor(new Class[] { IWorkbenchPage.class, IMarker.class,
-                boolean.class }, new Object[] { this, marker,
-                new Boolean(activate) });
-    }
-
-    /**
-     * openSystemEditor(IFile) is declared on IWorkbenchPage in 2.1. This method
-     * was removed in 3.0 because it references resource API.
-     */
-    public void openSystemEditor(IFile file) throws PartInitException {
-        ((IWorkbenchPage) this).openEditor(getFileEditorInput(file),
-                IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-
-    }
-
-    /*
-     * Implementation support: Use reflection for the following code pattern:
-     * new org.eclipse.ui.part.FileEditorInput(file) The class FileEditorInput
-     * is found in the org.eclipse.ui.ide plug-in.
-     */
-    private IEditorInput getFileEditorInput(IFile file)
-            throws PartInitException {
-        IPluginDescriptor desc = Platform.getPluginRegistry()
-                .getPluginDescriptor("org.eclipse.ui.ide"); //$NON-NLS-1$		
-        Exception problem;
-        try {
-            Class clazz = desc.getPluginClassLoader().loadClass(
-                    "org.eclipse.ui.part.FileEditorInput"); //$NON-NLS-1$
-            Constructor constructor = clazz
-                    .getConstructor(new Class[] { IFile.class });
-            return (IEditorInput) constructor
-                    .newInstance(new Object[] { file });
-        } catch (NullPointerException e) {
-            problem = e;
-        } catch (ClassNotFoundException e) {
-            problem = e;
-        } catch (NoSuchMethodException e) {
-            problem = e;
-        } catch (IllegalArgumentException e) {
-            problem = e;
-        } catch (IllegalAccessException e) {
-            problem = e;
-        } catch (InvocationTargetException e) {
-            problem = e;
-        } catch (InstantiationException e) {
-            problem = e;
-        }
-        IStatus status = new Status(
-                IStatus.ERROR,
-                WorkbenchPlugin.PI_WORKBENCH,
-                0,
-                "openEditor() compatibility support failed - new FileEditorInput(file)", problem); //$NON-NLS-1$
-        WorkbenchPlugin.log(status.getMessage(), status);
-        throw new PartInitException(status);
-    }
-
-    /*
-     * Implementation support: Use reflection to invoke the appropriate static
-     * openEditor(...) method on IDE The IDE class is found in the
-     * org.eclipse.ui.ide plug-in.
-     */
-    private IEditorPart openEditor(Class[] argTypes, Object[] args)
-            throws PartInitException {
-        IPluginDescriptor desc = Platform.getPluginRegistry()
-                .getPluginDescriptor("org.eclipse.ui.ide"); //$NON-NLS-1$
-        Throwable problem;
-        try {
-            Class clazz = desc.getPluginClassLoader().loadClass(
-                    "org.eclipse.ui.ide.IDE"); //$NON-NLS-1$
-            Method method = clazz.getMethod("openEditor", argTypes); //$NON-NLS-1$
-            return (IEditorPart) method.invoke(null, args);
-        } catch (NullPointerException e) {
-            problem = e;
-        } catch (ClassNotFoundException e) {
-            problem = e;
-        } catch (NoSuchMethodException e) {
-            problem = e;
-        } catch (IllegalArgumentException e) {
-            problem = e;
-        } catch (IllegalAccessException e) {
-            problem = e;
-        } catch (InvocationTargetException e) {
-            problem = e;
-        }
-        IStatus status = new Status(
-                IStatus.ERROR,
-                WorkbenchPlugin.PI_WORKBENCH,
-                0,
-                "openEditor() compatibility support failed - IDE.openEditor()", problem); //$NON-NLS-1$
-        WorkbenchPlugin.log(status.getMessage(), status);
-        throw new PartInitException(status);
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java b/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
deleted file mode 100644
index 253dc21..0000000
--- a/bundles/org.eclipse.ui.workbench.compatibility/src/org/eclipse/ui/internal/ICompatibleWorkbenchPage.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Internal interface used in providing increased binary compatibility for
- * pre-3.0 plug-ins. This declaration masks the empty interface of the same name
- * declared in the Workbench proper. This interface declares IWorkbenchPage that
- * existed in 2.1 but were removed in 3.0 because they referenced resource API.
- * <p>
- * Plug-ins should not refer to this type or its containing fragment from their
- * class path. It is intended only to provide binary compatibility for pre-3.0
- * plug-ins, and should not be referenced at development time.
- * </p>
- * 
- * @since 3.0
- */
-public interface ICompatibleWorkbenchPage {
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If this page already has an editor open on the target object that editor
-     * is activated; otherwise, a new editor is opened.
-     * <p>
-     * <p>
-     * An appropriate editor for the input is determined using a multistep
-     * process.
-     * </p>
-     * <ol>
-     * <li>The workbench editor registry is consulted to determine if an editor
-     * extension has been registered for the file type. If so, an instance of
-     * the editor extension is opened on the file. See
-     * <code>IEditorRegistry.getDefaultEditor(IFile)</code>.
-     * <li>Next, the native operating system will be consulted to determine if
-     * a native editor exists for the file type. If so, a new process is started
-     * and the native editor is opened on the file.
-     * <li>If all else fails the file will be opened in a default text editor.
-     * </li>
-     * </ol>
-     * </p>
-     * 
-     * @param input
-     *            the file to edit
-     * @return an open and active editor, or <code>null</code> if a system
-     *         editor was opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IFile)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    public IEditorPart openEditor(IFile input) throws PartInitException;
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If this page already has an editor open on the target object that editor
-     * is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated.
-     * <p>
-     * <p>
-     * The editor type is determined by mapping <code>editorId</code> to an
-     * editor extension registered with the workbench. An editor id is passed
-     * rather than an editor object to prevent the accidental creation of more
-     * than one editor for the same input. It also guarantees a consistent
-     * lifecycle for editors, regardless of whether they are created by the user
-     * or restored from saved data.
-     * </p>
-     * 
-     * @param input
-     *            the file to edit
-     * @param editorId
-     *            the id of the editor extension to use or null
-     * @param activate
-     *            if <code>true</code> the editor will be activated
-     * @return an open and active editor
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IFile,String,boolean)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    public IEditorPart openEditor(IFile input, String editorId, boolean activate)
-            throws PartInitException;
-
-    /**
-     * Opens an editor on the given file resource.
-     * <p>
-     * If this page already has an editor open on the target object that editor
-     * is activated; otherwise, a new editor is opened.
-     * <p>
-     * <p>
-     * The editor type is determined by mapping <code>editorId</code> to an
-     * editor extension registered with the workbench. An editor id is passed
-     * rather than an editor object to prevent the accidental creation of more
-     * than one editor for the same input. It also guarantees a consistent
-     * lifecycle for editors, regardless of whether they are created by the user
-     * or restored from saved data.
-     * </p>
-     * 
-     * @param editorId
-     *            the id of the editor extension to use
-     * @param input
-     *            the file to edit
-     * @return an open and active editor
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IFile,String)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    public IEditorPart openEditor(IFile input, String editorId)
-            throws PartInitException;
-
-    /**
-     * Opens an editor on the file resource of the given marker.
-     * <p>
-     * If this page already has an editor open on the target object that editor
-     * is activated; otherwise, a new editor is opened. The cursor and selection
-     * state of the editor is then updated from information recorded in the
-     * marker.
-     * <p>
-     * <p>
-     * If the marker contains an <code>EDITOR_ID_ATTR</code> attribute the
-     * attribute value will be used to determine the editor type to be opened.
-     * If not, the registered editor for the marker resource will be used.
-     * </p>
-     * 
-     * @param marker
-     *            the marker to open
-     * @return an open and active editor, or null if a system editor was opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see IEditorPart#gotoMarker
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IMarker)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    public IEditorPart openEditor(IMarker marker) throws PartInitException;
-
-    /**
-     * Opens an editor on the file resource of the given marker.
-     * <p>
-     * If this page already has an editor open on the target object that editor
-     * is brought to front; otherwise, a new editor is opened. If
-     * <code>activate == true</code> the editor will be activated. The cursor
-     * and selection state of the editor are then updated from information
-     * recorded in the marker.
-     * <p>
-     * <p>
-     * If the marker contains an <code>EDITOR_ID_ATTR</code> attribute the
-     * attribute value will be used to determine the editor type to be opened.
-     * If not, the registered editor for the marker resource will be used.
-     * </p>
-     * 
-     * @param marker
-     *            the marker to open
-     * @param activate
-     *            if <code>true</code> the editor will be activated
-     * @return an open editor, or null if a system editor was opened
-     * @exception PartInitException
-     *                if the editor could not be initialized
-     * @see IEditorPart#gotoMarker
-     * @deprecated In 3.0 this resource-specific method moved from this
-     *             interface to
-     *             <code>org.eclipse.ui.ide.IDE.openEditor(IWorkbenchPage,IMarker,boolean)</code>.
-     *             This method should not be referenced at development time. See
-     *             the class comment for more details.
-     */
-    public IEditorPart openEditor(IMarker marker, boolean activate)
-            throws PartInitException;
-
-    /**
-     * Opens an operating system editor on a given file. Once open, the
-     * workbench has no knowledge of the editor or the state of the file being
-     * edited. Users are expected to perform a "Local Refresh" from the
-     * workbench user interface.
-     * 
-     * @param input
-     *            the file to edit
-     * @exception PartInitException
-     *                if the editor could not be opened.
-     * @deprecated In 3.0 this resource-specific method was removed. Use
-     *             <code>openEditor(new FileEditorInput(file), IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID)</code>
-     *             instead. This method should not be referenced at development
-     *             time. See the class comment for more details.
-     */
-    public void openSystemEditor(IFile input) throws PartInitException;
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
index 39416e6..83f3da4 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/Workbench.java
@@ -874,10 +874,8 @@
 		workbenchContextSupport.initialize(); // deferred key binding support
 		workbenchCommandSupport.getCommandManager().addCommandManagerListener(
 				commandManagerListener);
-		
-//      TODO: Possible fix for 84700 (Kim)
-//		workbenchContextSupport.getContextManager().addContextManagerListener(
-//				contextManagerListener);
+		workbenchContextSupport.getContextManager().addContextManagerListener(
+				contextManagerListener);
 		initializeCommandResolver();
         
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/CommandManagerWrapper.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/CommandManagerWrapper.java
index 72803ac..337fe2f 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/CommandManagerWrapper.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/CommandManagerWrapper.java
@@ -626,12 +626,7 @@
 			final IHandler handler;
 			if (value instanceof IHandler) {
 				handler = (IHandler) value;
-			} 
-			else if (value == null) {
-				// TODO: Possible fix for 84700 (Kim)
-				handler = null;
-			}
-			else {
+			} else {
 				handler = new LegacyHandlerWrapper(
 						(org.eclipse.ui.commands.IHandler) value);
 			}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ws/WorkbenchCommandSupport.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ws/WorkbenchCommandSupport.java
index 3b78f81..8c01416 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ws/WorkbenchCommandSupport.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/commands/ws/WorkbenchCommandSupport.java
@@ -639,10 +639,6 @@
                 if (bestHandlerSubmission != null && !conflict)
                     handlersByCommandId.put(commandId, bestHandlerSubmission
                             .getHandler());
-                else {
-                	// TODO : Possible fix for 84700 (Kim)
-                	handlersByCommandId.put(commandId, null);
-                }
             }
 
             commandManagerWrapper.setHandlersByCommandId(handlersByCommandId);
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
index 420ff3c..1242aeb 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/WorkbenchPreferencePage.java
@@ -34,7 +34,6 @@
 import org.eclipse.ui.internal.IWorkbenchHelpContextIds;
 import org.eclipse.ui.internal.WorkbenchMessages;
 import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.internal.util.PrefUtil;
 
 /**
  * Generic workbench main preference page.
@@ -95,7 +94,8 @@
                 .getString("WorkbenchPreference.RunInBackgroundButton")); //$NON-NLS-1$
         showUserDialogButton.setToolTipText(WorkbenchMessages
                 .getString("WorkbenchPreference.RunInBackgroundToolTip"));//$NON-NLS-1$
-        showUserDialogButton.setSelection(PrefUtil.getAPIPreferenceStore().getBoolean(
+        showUserDialogButton.setSelection(WorkbenchPlugin.getDefault()
+                .getPreferenceStore().getBoolean(
                         IWorkbenchPreferenceConstants.RUN_IN_BACKGROUND));
     }
 
@@ -314,7 +314,7 @@
         openAfterDelayButton.setEnabled(openOnSingleClick);
         stickyCycleButton.setSelection(store
                 .getDefaultBoolean(IPreferenceConstants.STICKY_CYCLE));
-        showUserDialogButton.setSelection(PrefUtil.getAPIPreferenceStore().getDefaultBoolean(
+        showUserDialogButton.setSelection(store.getDefaultBoolean(
         		IWorkbenchPreferenceConstants.RUN_IN_BACKGROUND));
 		
         super.performDefaults();
@@ -333,7 +333,7 @@
                 openOnSingleClick);
         store.setValue(IPreferenceConstants.SELECT_ON_HOVER, selectOnHover);
         store.setValue(IPreferenceConstants.OPEN_AFTER_DELAY, openAfterDelay);
-        PrefUtil.getAPIPreferenceStore().setValue(IWorkbenchPreferenceConstants.RUN_IN_BACKGROUND,
+        store.setValue(IWorkbenchPreferenceConstants.RUN_IN_BACKGROUND,
                 showUserDialogButton.getSelection());
 
         int singleClickMethod = openOnSingleClick ? OpenStrategy.SINGLE_CLICK
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
index a28f811..2859c39 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java
@@ -62,7 +62,6 @@
 import org.eclipse.ui.internal.dialogs.WorkbenchDialogBlockedHandler;
 import org.eclipse.ui.internal.misc.Policy;
 import org.eclipse.ui.internal.util.BundleUtility;
-import org.eclipse.ui.internal.util.PrefUtil;
 import org.eclipse.ui.progress.IProgressConstants;
 import org.eclipse.ui.progress.IProgressService;
 import org.eclipse.ui.progress.WorkbenchJob;
@@ -1197,7 +1196,7 @@
      * @return <code>true</code> if the dialog should not be shown.
      */
     private boolean shouldRunInBackground() {
-        return PrefUtil.getAPIPreferenceStore().getBoolean(
+        return WorkbenchPlugin.getDefault().getPreferenceStore().getBoolean(
         		IWorkbenchPreferenceConstants.RUN_IN_BACKGROUND);
     }
 
diff --git a/bundles/org.eclipse.ui/.classpath b/bundles/org.eclipse.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/bundles/org.eclipse.ui/.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/bundles/org.eclipse.ui/.cvsignore b/bundles/org.eclipse.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/.options b/bundles/org.eclipse.ui/.options
deleted file mode 100644
index 3f8d57a..0000000
--- a/bundles/org.eclipse.ui/.options
+++ /dev/null
@@ -1,74 +0,0 @@
-# Debugging options for the org.eclipse.ui plugin.
-
-# Turn on debugging for the org.eclipse.ui plugin.
-org.eclipse.ui/debug=false
-
-# Show a dialog with details button when an internal error occur.
-org.eclipse.ui/debug/internalerror/openDialog=false
-
-# Enable the trace of SWT graphics.
-org.eclipse.ui/trace/graphics=false
-
-# Enable extended SWT debugging.
-org.eclipse.ui/debug/swtdebug=false
-
-# Reports the time to create a part.
-org.eclipse.ui/trace/part.create=false
-
-# Reports the time to create a switch perspectives.
-org.eclipse.ui/trace/perspective=false
-
-# Reports the time to restore the workbench.
-org.eclipse.ui/trace/workbench.restore=false
-
-# Reports the time to start up the workbench.
-org.eclipse.ui/trace/workbench.start=false
-
-# Reports the time to activate parts.
-org.eclipse.ui/trace/part.activate=false
-
-# Reports the time to noticy part listeners.
-org.eclipse.ui/trace/part.listeners=false
-
-# Reports the time to noticy page listeners.
-org.eclipse.ui/trace/page.listeners=false
-
-# Reports the time to noticy perspective listeners.
-org.eclipse.ui/trace/perspective.listeners=false
-
-# Reports events received and dispatched by the key binding architecture
-org.eclipse.ui/trace/keyBindings=false
-
-# Report every event received by the key binding architecture
-org.eclipse.ui/trace/keyBindings.verbose=false
-
-
-# Report every change in the list of contexts.
-org.eclipse.ui/trace/contexts=false
-
-# Report a bit of stack around every change in the list of contexts.
-org.eclipse.ui/trace/contexts.verbose=false
-
-# Report handler conflicts within the workbench
-org.eclipse.ui/trace/handlers=false
-
-# Report verbose information about changing handlers in the system.
-org.eclipse.ui/trace/handlers.verbose=false
-
-# Report UIJobs that take more than 100 ms.
-org.eclipse.ui/debug/uijob.longwarning=false
-
-# Show system jobs in all dialogs
-org.eclipse.ui/debug/showSystemJobs=false
-
-#Report if a stale job was found
-org.eclipse.ui/debug/job.stale=false
-
-#Report if an image cannot be resolved when it is declared
-org.eclipse.ui/debug/declaredImages=false
-
-# Restrict the verbose information to a particular command
-org.eclipse.ui/trace/handlers.verbose.commandId=
-
-# Include timing information with other debug messages
-org.eclipse.ui/trace/include.timings=true
diff --git a/bundles/org.eclipse.ui/.project b/bundles/org.eclipse.ui/.project
deleted file mode 100644
index 14b5fed..0000000
--- a/bundles/org.eclipse.ui/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.help</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui.workbench</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/bundles/org.eclipse.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/bundles/org.eclipse.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/bundles/org.eclipse.ui/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 3544248..0000000
--- a/bundles/org.eclipse.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:10:37 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/bundles/org.eclipse.ui/about.html b/bundles/org.eclipse.ui/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.ui/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/build.properties b/bundles/org.eclipse.ui/build.properties
deleted file mode 100644
index c0a0cbb..0000000
--- a/bundles/org.eclipse.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               .options,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html,\
-               *.jar
-src.includes = about.html,\
-               schema/
-source.ui.jar = src/
diff --git a/bundles/org.eclipse.ui/buildnotes_workbench.html b/bundles/org.eclipse.ui/buildnotes_workbench.html
deleted file mode 100644
index 52852e2..0000000
--- a/bundles/org.eclipse.ui/buildnotes_workbench.html
+++ /dev/null
@@ -1,3448 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns:st1="urn:schemas-microsoft-com:office:smarttags"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 10">
-<meta name=Originator content="Microsoft Word 10">
-<link rel=File-List href="buildnotes_workbench_files/filelist.xml">
-<link rel=Edit-Time-Data href="buildnotes_workbench_files/editdata.mso">
-<!--[if !mso]>
-<style>
-v\:* {behavior:url(#default#VML);}
-o\:* {behavior:url(#default#VML);}
-w\:* {behavior:url(#default#VML);}
-.shape {behavior:url(#default#VML);}
-</style>
-<![endif]-->
-<title>Eclipse Platform Release Notes - Workbench</title>
-<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
- name="date"/>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Author>tod creasey</o:Author>
-  <o:LastAuthor>tod creasey</o:LastAuthor>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>12</o:TotalTime>
-  <o:Created>2004-06-07T20:40:00Z</o:Created>
-  <o:LastSaved>2004-06-07T20:52:00Z</o:LastSaved>
-  <o:Pages>1</o:Pages>
-  <o:Words>6855</o:Words>
-  <o:Characters>39080</o:Characters>
-  <o:Company>IBM</o:Company>
-  <o:Lines>325</o:Lines>
-  <o:Paragraphs>91</o:Paragraphs>
-  <o:CharactersWithSpaces>45844</o:CharactersWithSpaces>
-  <o:Version>10.4219</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:SpellingState>Clean</w:SpellingState>
-  <w:GrammarState>Clean</w:GrammarState>
-  <w:Compatibility>
-   <w:UseFELayout/>
-  </w:Compatibility>
-  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
- </w:WordDocument>
-</xml><![endif]--><!--[if !mso]><object
- classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object>
-<style>
-st1\:*{behavior:url(#ieooui) }
-</style>
-<![endif]-->
-<style>
-<!--
- /* Font Definitions */
- @font-face
-	{font-family:Wingdings;
-	panose-1:5 0 0 0 0 0 0 0 0 0;
-	mso-font-charset:2;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
-	{font-family:SimSun;
-	panose-1:2 1 6 0 3 1 1 1 1 1;
-	mso-font-alt:\5B8B\4F53;
-	mso-font-charset:134;
-	mso-generic-font-family:auto;
-	mso-font-format:other;
-	mso-font-pitch:variable;
-	mso-font-signature:1 135135232 16 0 262144 0;}
-@font-face
-	{font-family:"\@SimSun";
-	panose-1:2 1 6 0 3 1 1 1 1 1;
-	mso-font-charset:134;
-	mso-generic-font-family:auto;
-	mso-font-pitch:variable;
-	mso-font-signature:3 135135232 16 0 262145 0;}
- /* Style Definitions */
- p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:SimSun;}
-h1
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:1;
-	font-size:24.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-h2
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:2;
-	font-size:18.0pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-h3
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	mso-outline-level:3;
-	font-size:13.5pt;
-	font-family:"Times New Roman";
-	font-weight:bold;}
-a:link, span.MsoHyperlink
-	{color:blue;
-	text-decoration:underline;
-	text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
-	{color:blue;
-	text-decoration:underline;
-	text-underline:single;}
-p
-	{mso-margin-top-alt:auto;
-	margin-right:0in;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:SimSun;}
-code
-	{font-family:"Courier New";
-	mso-ascii-font-family:"Courier New";
-	mso-fareast-font-family:SimSun;
-	mso-hansi-font-family:"Courier New";
-	mso-bidi-font-family:"Courier New";}
-span.SpellE
-	{mso-style-name:"";
-	mso-spl-e:yes;}
-span.GramE
-	{mso-style-name:"";
-	mso-gram-e:yes;}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
- /* List Definitions */
- @list l0
-	{mso-list-id:181163980;
-	mso-list-template-ids:-205078884;}
-@list l0:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l1
-	{mso-list-id:232085524;
-	mso-list-template-ids:-2135542118;}
-@list l1:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l2
-	{mso-list-id:263341315;
-	mso-list-template-ids:-1662060850;}
-@list l2:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l3
-	{mso-list-id:383405360;
-	mso-list-template-ids:1415840134;}
-@list l3:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l4
-	{mso-list-id:396131038;
-	mso-list-template-ids:-523704434;}
-@list l4:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l5
-	{mso-list-id:605815168;
-	mso-list-template-ids:-1804590736;}
-@list l5:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l6
-	{mso-list-id:875003607;
-	mso-list-template-ids:-938971410;}
-@list l6:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l7
-	{mso-list-id:1388262323;
-	mso-list-template-ids:1040331216;}
-@list l7:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l8
-	{mso-list-id:1738823697;
-	mso-list-template-ids:-1976898000;}
-@list l8:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l9
-	{mso-list-id:1850023587;
-	mso-list-template-ids:585895798;}
-@list l9:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l10
-	{mso-list-id:1954899890;
-	mso-list-template-ids:-511285146;}
-@list l10:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-@list l11
-	{mso-list-id:1999188567;
-	mso-list-template-ids:-406059150;}
-@list l11:level1
-	{mso-level-number-format:bullet;
-	mso-level-text:\F0B7;
-	mso-level-tab-stop:.5in;
-	mso-level-number-position:left;
-	text-indent:-.25in;
-	mso-ansi-font-size:10.0pt;
-	font-family:Symbol;}
-ol
-	{margin-bottom:0in;}
-ul
-	{margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 10]>
-<style>
- /* Style Definitions */
- table.MsoNormalTable
-	{mso-style-name:"Table Normal";
-	mso-tstyle-rowband-size:0;
-	mso-tstyle-colband-size:0;
-	mso-style-noshow:yes;
-	mso-style-parent:"";
-	mso-padding-alt:0in 5.4pt 0in 5.4pt;
-	mso-para-margin:0in;
-	mso-para-margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:10.0pt;
-	font-family:"Times New Roman";}
-</style>
-<![endif]-->
-<meta name=Build content=Build>
-</head>
-
-<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<h1>Eclipse Platform Build Notes<br>
-Workbench</h1>
-
-<p>Integration Build (<st1:date Year="2004" Day="16" Month="12">December 16, 2004, 4:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81020">Bug 81020</a>. [Perspectives] (regression) Cannot save perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81243">Bug 81243</a>. [Examples] Readme Editor name incorrectly contains mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81413">Bug 81413</a>. [Perspectives] Workbench.showPerspective refers to wrong NLS string<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="16" Month="12">December 16, 2004, 12:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52079">Bug 52079</a>. [Commands] org.eclipse.ui.commands extension point; typo in doc and needs clarification<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77404">Bug 77404</a>. [Navigator] ArrayStoreException thrown by NavigatorDropAdapter.getSelecetdResources<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81165">Bug 81165</a>. Action delegate disposed twice if it implements both IActionDelegate2 and IWorkbenchWindowActionDelegate<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81413">Bug 81413</a>. [Perspectives] Workbench.showPerspective refers to wrong NLS string<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="16" Month="12">December 16, 2004, 12:10 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72337">Bug 72337</a>. [IDE] FileEditorInput .equals() not implemented against interface<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80598">Bug 80598</a>. [RCP] [Wizards] WorkbenchWindow.addSubmenu should be called from action classes, not factory<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81001">Bug 81001</a>. [PresentationAPI] Internal errors when shutting down Eclipse<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81116">Bug 81116</a>. [Preferences] NPE in PreferenceDialog#updateMessage<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81164">Bug 81164</a>. restoreDefaults for ViewsPreferencePage referring to wrong preference store<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=81277">Bug 81277</a>. Uncompressed Tar archiving is 10 to 20 X slower then zip or compressed tar<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="14" Month="12">December 14, 2004, 8:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47065">Bug 47065</a>. [ViewMgmt] View pulldown menu (on the right) should follow platform interaction conventions<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68325">Bug 68325</a>. [Perspectives] IPerspectiveDescript.getImageDescriptor() can return null<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74302">Bug 74302</a>. [Perspectives] no null check in SavePerspectiveAction.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76285">Bug 76285</a>. [Presentations] Folder tab does not indicate current view when using multi-instance views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80933">Bug 80933</a>. Property page not shown in tree<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80958">Bug 80958</a>. [DynamicUI] [Perspectives] Lost icon for custom Java perspective<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="14" Month="12">December 14, 2004, 12:10 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47165">Bug 47165</a>. [RCP] Message shown when all perspectives closed is IDE-specific<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80861">Bug 80861</a>. [PerspectiveBar] NPE switching perspectives<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="13" Month="12">December 13, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=22698">Bug 22698</a>. [Import/Export] Import several projects at once<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33897">Bug 33897</a>. [Import/Export] Export to .tar.gz or .tar.bz2<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47065">Bug 47065</a>. [ViewMgmt] View pulldown menu (on the right) should follow platform interaction conventions<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47165">Bug 47165</a>. [RCP] Message shown when all perspectives closed is IDE-specific<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54779">Bug 54779</a>. [RCP] Problem updating menus, menu not appearing<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61211">Bug 61211</a>. [Navigator] When deleting a linked resource, it asks if you're sure you want to delete any read-only files<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71078">Bug 71078</a>. [PerspectiveMgmt] IWorkbenchPage needs closePerspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71150">Bug 71150</a>. [RCP] [Perspectives] Allow no initial perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71843">Bug 71843</a>. Error ticks on editor tab not updated for inactive editors<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72337">Bug 72337</a>. [IDE] FileEditorInput .equals() not implemented against interface<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73047">Bug 73047</a>. [DnD] click-drag on view menu starts dragging view instead of opening menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73736">Bug 73736</a>. [RCP] [Wizards] Should expose NewWizardMenu and friends as API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73769">Bug 73769</a>. [Dialogs] Open Resource dialog has OK enabled when entry invalid<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76482">Bug 76482</a>. [Viewers] Add temporary protected API to support prototype of grouping by working sets<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76967">Bug 76967</a>. [RCP] IWorkbenchAction should be API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77738">Bug 77738</a>. [IDE] IDE plug-in needs to get off of the core compatibility layer<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77800">Bug 77800</a>. [Encoding] Wrong information shown in encoding properties dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78013">Bug 78013</a>. [BIDI] Eclipse 3.1M3 shows in Right-To-Left orientation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79638">Bug 79638</a>. [EditorMgmt] history: NavigationHistory won't release references to IEditorParts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79957">Bug 79957</a>. [Viewers] NPE changing input usingTableViewer and virtual<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80259">Bug 80259</a>. WorkingSetManager not correctly disposed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80366">Bug 80366</a>. Quick-fix for add parameter to the constructor for final member variable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80400">Bug 80400</a>. [Preferences] use traditional style tabs for pref. dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80429">Bug 80429</a>. [Preferences] [Dialogs] FieldEditors should relax requirements to support DialogPages<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80563">Bug 80563</a>. [RCP] Make current perspective's shortcuts available via API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80569">Bug 80569</a>. [Contributions] Parent of contribution item not cleared when item removed from manager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80598">Bug 80598</a>. [RCP] [Wizards] WorkbenchWindow.addSubmenu should be called from action classes, not factory<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80604">Bug 80604</a>. [DyanmicUI] PerspectiveRegistry.validateLabel() doesn't do as it advertises<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80646">Bug 80646</a>. [Dialogs] ResourceInfoPage should set background on read-only text widgets<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80675">Bug 80675</a>. [Properties] Property page categories: Limited to one level?<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80677">Bug 80677</a>. [Progress] UI dead after error message from progress view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80696">Bug 80696</a>. [Preferences] PreferencePage NPE<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80781">Bug 80781</a>. [Import/Export] Group boxes should not use colons<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="07" Month="12">December 07, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62788">Bug 62788</a>. [Themes] Colors and Fonts page does not expand on search<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63826">Bug 63826</a>. Project menu Build Working Set item has extra separator<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73769">Bug 73769</a>. [Dialogs] Open Resource dialog has OK enabled when entry invalid<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75022">Bug 75022</a>. [Viewers] Task tags preference page bolds non default items<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79573">Bug 79573</a>. [KeyBindings] registry: Keybinding problems after converting according to deprecation warning<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79957">Bug 79957</a>. [Viewers] NPE changing input usingTableViewer and virtual<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80020">Bug 80020</a>. [Dialogs] open type dialog enables &quot;Ok&quot; when no classes were found<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80025">Bug 80025</a>. [Preferences] more preference search improvements<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80133">Bug 80133</a>. Cannot open editors or expand package explorer<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80174">Bug 80174</a>. [DynamicUI] Show View->Other window empty<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80179">Bug 80179</a>. [DynamicUI] view-related warning messages in the log<br>
-  </p>
-
-
-
-<p>Integration Build (<st1:date Year="2004" Day="30" Month="11">November 30, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52669">Bug 52669</a>. [DetachedView] Undocked/floating windows looses position<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54128">Bug 54128</a>. [PropertiesDialog] Categories for property pages<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66961">Bug 66961</a>. [Commands] request: Views can have keybindings, why not perspectives<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69737">Bug 69737</a>. [Dialogs] New folder dialog is too tall<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76378">Bug 76378</a>. [Progress] Deadlock in interaction between ModalContext, UIThread, and background NotifyJob<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=79441">Bug 79441</a>. [Dialogs] Save As dialog not resizable<br>
-  </p>
-  
-  
-<p>Integration Build (<st1:date Year="2004" Day="23" Month="11">November 23, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47284">Bug 47284</a>. [Dialogs] New Simple File / Advanced /Link to Variable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52079">Bug 52079</a>. [Commands] org.eclipse.ui.commands extension point; typo in doc and needs clarification<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57083">Bug 57083</a>. [Preferences] Workbench/File Associations/Add; text field does not use dialog font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66214">Bug 66214</a>. [Dialogs] Show View and Open Perspective &gt; Other ...: Dialogs not resizable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66872">Bug 66872</a>. [Dialogs] Open Resource and Open Type dialog text no longer matches<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68568">Bug 68568</a>. [JFace] Unreadable button fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74961">Bug 74961</a>. [Workbench] Need way to start eclipse with SWT in debug mode<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75805">Bug 75805</a>. [Dialogs] TitleAreaDialog tooltip not useful<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76064">Bug 76064</a>. [WorkbenchLauncher] Workspace Launcher dialog does not use dialog font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77071">Bug 77071</a>. [Navigator] [Viewers] Navigator update loses additions<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77339">Bug 77339</a>. [Progress] [Dialogs] The workbench leaks dialogs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78013">Bug 78013</a>. [BIDI] Eclipse 3.1M3 shows in Right-To-Left orientation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78337">Bug 78337</a>. [Dialogs] Typo in &quot;Folder selection&quot; dialog box<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78532">Bug 78532</a>. [Wizards] Hook up background project creation support<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78546">Bug 78546</a>. [CoolBar] [EditorMgmt] Adding coolbars from editor action contributor has no effect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78762">Bug 78762</a>. [WorkingSets] Failure in UINewWorkingSetWizardAuto.testTypePage<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78878">Bug 78878</a>. [Preferences] Navigation history for workbench preference page<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78947">Bug 78947</a>. AbstractWorkingSetManager doesn't connect working sets restored from memento<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="16" Month="11">November 16, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78013">Bug 78013</a>. [BIDI] Eclipse 3.1M3 shows in Right-To-Left orientation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78623">Bug 78623</a>. [WorkingSets] Small improvements to working sets<br>
-  </p>
-
-
-
-<p>Integration Build (<st1:date Year="2004" Day="09" Month="11">November 09, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56973">Bug 56973</a>. [Themes] FontRegistry.bestDataArray() chops off all but the first "good" font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65187">Bug 65187</a>. [Themes] Cascading*Registry leakage from Colors and Fonts pref page<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67053">Bug 67053</a>. [Workbench] when locking fails with exception, wrong message is shown<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73487">Bug 73487</a>. [Images] Design an ImageCache on top of ActionContributionItem's cache<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76673">Bug 76673</a>. [BIDI] Need an override in parts for orientation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77323">Bug 77323</a>. [JFace] Deadlock in ImageCache on shutdown<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77704">Bug 77704</a>. [Themes] Choose font should switch to busy cursor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78111">Bug 78111</a>. [WorkingSets] Add support for dynamically created working sets<br>
-  </p>
-
-
-
-<p>Integration Build (<st1:date Year="2004" Day="04" Month="11">November 04, 2004, 4:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76724">Bug 76724</a>. [RCP] error dialog in openFirstTimeWindow() should not be parented<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77548">Bug 77548</a>. [Encodings] Cannot open the project's preferences page when running on a 1.5 VM<br>
-  </p>
-
-
-
-
-p>Integration Build (<st1:date Year="2004" Day="04" Month="11">November 04, 2004, 12:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76724">Bug 76724</a>. [RCP] error dialog in openFirstTimeWindow() should not be parented<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77661">Bug 77661</a>. [KeyBindings] interactions: "Esc, Shift+R" key binding doesn't work<br>
-  </p>
-
-
-
-<p>Integration Build (<st1:date Year="2004" Day="02" Month="11">November 02, 2004, 12:10 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77323">Bug 77323</a>. [JFace] Deadlock in ImageCache on shutdown<br>
-  </p>
-
-
-
-<p>Integration Build (<st1:date Year="2004" Day="01" Month="11">November 01, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62940">Bug 62940</a>. [Themes] Pref page should remember tree expansion state and selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72434">Bug 72434</a>. [Workbench] Toolbars in CTabItems not rendering in RIGHT_TO_LEFT<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73487">Bug 73487</a>. [Images] Design an ImageCache on top of ActionContributionItem's cache<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75835">Bug 75835</a>. [EditorMgmt] [Contributions] Action Bars are not cleaned up after an Editor throws PartInitException<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76726">Bug 76726</a>. [Jobs][Progress] Redesign job error dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76846">Bug 76846</a>. Calling layout sets the height of a widget to 0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77016">Bug 77016</a>. [Themes] [Jface] NPE in "FontRegistry#disposeFonts"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77021">Bug 77021</a>. [Workbench] Errors where no errors previously existed (I200408260800)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77036">Bug 77036</a>. [JFace] Test failures in ImageCacheTest<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77129">Bug 77129</a>. [KeyBindings] Esc doesn't close dialogs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77323">Bug 77323</a>. [JFace] Deadlock in ImageCache on shutdown<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="26" Month="10">October 26, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2920">Bug 2920</a>. [Workbench] IMemento.getChildren does not match Javadoc API spec (1GKNTYG)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69143">Bug 69143</a>. [ActivityMgmt] Difficult to disable activities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72358">Bug 72358</a>. [Viewers] Support SWT.VIRTUAL style<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72426">Bug 72426</a>. [BIDI] plan item - Proposed changes for BIDI support<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73487">Bug 73487</a>. [Images] Update the workbench classes to use JFace's ImageCache<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73756">Bug 73756</a>. [Commands] ActionContributionItem isvisible should issue warning when action is not visible<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74230">Bug 74230</a>. [Workbench] Introduce new UIStats.shouldDebug(int operation)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74675">Bug 74675</a>. [KeyBindings] Quick Fix keybinding support for non Java Editor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76276">Bug 76276</a>. [IDE] File deletion obtains workspace root rule<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76338">Bug 76338</a>. [Intro] Main Toolbar lost<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76432">Bug 76432</a>. [GlobalActions] WorkbenchActionBuilder wrong null check<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76453">Bug 76453</a>. [Encodings] Open properties fills log with encoding messages<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76506">Bug 76506</a>. [Preferences] UIPreferenceInitializer aggressively accesses instance preferences<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76507">Bug 76507</a>. [Encoding] properties dialog show BOM when there is no BOM<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76517">Bug 76517</a>. NPE in LaunchViewContextListener<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76565">Bug 76565</a>. [KeyBindings] Esc Ctrl+F does not work properly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76669">Bug 76669</a>. [Perspectives] NullPointerException in Perspective.getFastViewWidthRatio()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76671">Bug 76671</a>. [BIDI] need a commmand line option for orientation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76687">Bug 76687</a>. [Workbench] Exceptions not logged in several places<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76724">Bug 76724</a>. [RCP] error dialog in openFirstTimeWindow() should not be parented<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76837">Bug 76837</a>. [KeyBindings] Ctrl-Shift-L popup should take focus-->easier to get pref page<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76867">Bug 76867</a>. Warnings in the nightly build 01022<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76892">Bug 76892</a>. [EditorMgmt] [RCP] CTRL-E brings up empty editor list even if editor area is hidden<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76937">Bug 76937</a>. [Themes] [JFace] Bug in addAllocatedFontsToStale()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76940">Bug 76940</a>. [Preferences] Update JFace javadoc for #putValue and notification<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76969">Bug 76969</a>. Preference change not propegated.<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="19" Month="10">October 19, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64958">Bug 64958</a>. [ASTRewrite] Moving static members doesn't fully respect formatter settings<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72374">Bug 72374</a>. [Dialogs] Provide a generic info pop dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73487">Bug 73487</a>. [Images] Update the workbench classes to use JFace's ImageCache<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73871">Bug 73871</a>. [KeyBindings] NullPointerException while running UiTestSuite<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74468">Bug 74468</a>. [Preferences]deprecated preference initialization<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74604">Bug 74604</a>. [KeyBindings] Chose key to edit from View pane<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74675">Bug 74675</a>. [KeyBindings] Quick Fix keybinding support for non Java Editor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75718">Bug 75718</a>. [Preferences] allow direct opening of / linking to specific preference pages.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75843">Bug 75843</a>. Deadlock arised when calling JDIDebugModel.createMethodEntryBreakpoint<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76082">Bug 76082</a>. [DND] DnD test failures on Linux<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76098">Bug 76098</a>. [PerspectiveBar] [DND] Leaking workbench windows<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76113">Bug 76113</a>. [Commands] "Aggressive" error reporting for action def with definitionId and no command<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76319">Bug 76319</a>. [Perspectives] Poor error reporting when unable to create perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=76482">Bug 76482</a>. [Viewers] Add temporary protected API to support prototype of grouping by working sets<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="12" Month="10">October 12, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38085">Bug 38085</a>. [IDE] Open Resource shows files in build directory as well as source directories<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50071">Bug 50071</a>. [Tasks] Got AssertionFailedException<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55453">Bug 55453</a>. [DnD] ClassCastException in MarkerTransfer.lazyInit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65049">Bug 65049</a>. [Dialogs] NPE when creating folder during adding source folder while workspace is locked<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66967">Bug 66967</a>. [Contributions] PropertyParser should be deprecated (or removed)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67311">Bug 67311</a>. [ViewMgmt] [RCP] Other views may be docked with standalone views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69423">Bug 69423</a>. [Tasks] TVT3.0: Multiple Mnemonics in Tasks -> Sorting screen<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69424">Bug 69424</a>. TVT3.0: Multiple Mnemonics in Tasks -> Filters<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72947">Bug 72947</a>. [Encoding] Encoding drop down in properties dialog has 3 null entries<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73067">Bug 73067</a>. [DnD] Dock views is very hard if there is no editor area<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73452">Bug 73452</a>. Interactive resize leaves cheese on sashes<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73487">Bug 73487</a>. [Images] Update the workbench classes to use JFace's ImageCache<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73557">Bug 73557</a>. [Dialogs] Pattern matching changes Open Resource type-ahead behaviour<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73756">Bug 73756</a>. [Commands] ActionContributionItem isvisible should issue warning when action is not visible<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74762">Bug 74762</a>. [Workbench] Dual screen (Matrox DualHead MultiDisplay) startup only on one monitor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74779">Bug 74779</a>. [Perspectives] (regression) the showTitle parameter of IPageLayout.addStandaloneView is no longer honoured<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74982">Bug 74982</a>. [Commands] Select All accelerator is available on a Tree control hosted in a TreeViewer but does not send SelectionChanged events<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75138">Bug 75138</a>. [Encoding] Eclipse's content type support should warn about conflicting settings<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75564">Bug 75564</a>. Unable to cancel exit of workbench while external tools are running<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75689">Bug 75689</a>. [Progress] Progress bar does not work while creating patch<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="05" Month="10">October 05, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44467">Bug 44467</a>. [Decorators] Decorators not updating after importing preferences<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51590">Bug 51590</a>. [Preferences] Pref Page Workbench/Perspectives; &quot;Restore Defaults&quot; does not restore default perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72341">Bug 72341</a>. [WorkbenchLauncher] programmatic access to selection dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72615">Bug 72615</a>. [Viewers] Need and ITableFontProvider<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72720">Bug 72720</a>. [Viewers] TableTreeViewer should support ITableColorProvider<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73083">Bug 73083</a>. [Encoding] Need to verify encodings and indicate unavailable ones<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73458">Bug 73458</a>. [RCP] -data @none is not supported for an RCP application<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74037">Bug 74037</a>. [ViewMgmt] Schema for org.eclipse.ui.elementFactories must be more specific<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74059">Bug 74059</a>. [Viewers] ViewerLabel#hasNewImage() is wrong when setImage(..) has not been called<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74473">Bug 74473</a>. [Preferences] Preference Export dialog does not speak my language.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74529">Bug 74529</a>. [Encoding] Encoding on properties no longer explains encoding<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74708">Bug 74708</a>. [Encoding] IDEEncodingPreferencePage does not disable OK when invalid encoding is entered<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74727">Bug 74727</a>. [Startup] Workspace prompt preference does not stick<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74822">Bug 74822</a>. [Preferences] Update spec for property change events<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74994">Bug 74994</a>. [Decorators] DecoratorManager activated on startup of an empty workspace<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75118">Bug 75118</a>. [Wizards] Primary wizards duplicates<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75125">Bug 75125</a>. [Preferences] ScopedPreferenceStore improvements.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75312">Bug 75312</a>. [Perspectives] Customize perspective command tree redawing problem<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75383">Bug 75383</a>. [About] About Eclipse dialog: Feature buttons not properly voiced<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75420">Bug 75420</a>. [Preferences] Import should show busy cursor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75458">Bug 75458</a>. [Progress] Improper use of Progress service API results in lockup on Mac<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=75507">Bug 75507</a>. Spelling mistake in the schema for org.eclipse.ui.commands<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="28" Month="09">September 28, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59829">Bug 59829</a>. [Dialogs] Working set created by the Team Project Set import wizard misses an icon<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63049">Bug 63049</a>. [Dialogs] MessageDialogWithToggle's toggle button isn't centered<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72720">Bug 72720</a>. [Viewers] TableTreeViewer should support ITableColorProvider<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73085">Bug 73085</a>. [Themes] Need API to programatically configure theme elements<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73660">Bug 73660</a>. [Preferences] Need to migrate to the OSGI API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74449">Bug 74449</a>. [Contributions] StatusLineManager creates BEGIN MIDDLE END groups at wrong time<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74526">Bug 74526</a>. [Examples] deprecated methods in PropertySheet UI Example<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74528">Bug 74528</a>. [Examples] deprecated methods in Readme Tool UI Example<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74932">Bug 74932</a>. [KeyBindings] The Key Assist Action should be available from the Help menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74990">Bug 74990</a>. [Contexts] [Commands] EnabledSubmission for activePartId not working<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="23" Month="09">September 23, 2004, 12:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <p>We're rolling back to CompatibilityPreferenceStore, and abandoning the
-  ScopedPreferenceStore for M2.</p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="23" Month="09">September 23, 2004, 12:10 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32789">Bug 32789</a>. [EditorMgmt] Allow control of editor tab compression<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74472">Bug 74472</a>. [Preferences] ScopedPreferenceStore.isDefault() returns false when the pref has been set to the default value<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74535">Bug 74535</a>. [Preferences] Importing preferences does not fire property change events<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74582">Bug 74582</a>. [KeyBindings] preference page: extends &quot;Default &quot; has an extra space<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="21" Month="09">September 21, 2004, 12:10 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58976">Bug 58976</a>. [EditorMgmt] (regression) Editor drop-down is missing asterisk<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66776">Bug 66776</a>. [Workbench] Provide menu item to float/dock views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67590">Bug 67590</a>. [Presentations] The 'Save All' command has no effect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72172">Bug 72172</a>. [Presentations] The pageOpened event comes afte restored editors have fired their partOpened events<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73359">Bug 73359</a>. [Workbench] NPE WorkbenchWindow.firePerspectiveChanged<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73550">Bug 73550</a>. [DynamicUI] Config updates applied without restart have me seeing double<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73905">Bug 73905</a>. [KeyBindings] Multi-stroke shortcut helper popup displaced<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74172">Bug 74172</a>. [Presentations] Outline view tool bar drawn on top of view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74296">Bug 74296</a>. [KeyBindings] new key page is huge<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74319">Bug 74319</a>. [Preferences] Some preferences aren't persisted on shutdown<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74371">Bug 74371</a>. [KeyBindings] ctrl+X broken<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="20" Month="09">September 20, 2004, 8:00 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32789">Bug 32789</a>. [EditorMgmt] Allow control of editor tab compression<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49770">Bug 49770</a>. [About] no way to provide translated about.html files<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56957">Bug 56957</a>. [Encoding] Reusable EncodingFieldEditor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57093">Bug 57093</a>. [Viewers] &quot;Widget is disposed&quot; when updating from CVS<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63324">Bug 63324</a>. [ActionSets] Plugin not deactivated with Exception at startup()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68880">Bug 68880</a>. [Progress] NewProgressViewer uses hard coded colours<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71445">Bug 71445</a>. [KeyBindings] Emacs key binding suggestion<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72114">Bug 72114</a>. [ViewMgmt] Views that implement ISaveablePart are not consulted for dirty state before they are closed.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72217">Bug 72217</a>. CTabFolder should hide tabs in LRU order<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72794">Bug 72794</a>. [Decorators] Hierarchy view shows wrong visibility for public method [type hierarchy]<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73487">Bug 73487</a>. [Images] Update the workbench classes to use JFace's ImageCache<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73660">Bug 73660</a>. [Preferences] Need to migrate to the OSGI API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73715">Bug 73715</a>. [Workbench] (regression) Workbench menus disappeared after closing the perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73795">Bug 73795</a>. [RCP] [KeyBindings] activeKeyConfiguration extension point doesn't work<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73926">Bug 73926</a>. [Decorators] [RCP] NoClassDefFoundError: org/eclipse/ui/internal/progress/TaskInfo<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73927">Bug 73927</a>. Optimize switching perspectives<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73962">Bug 73962</a>. [IDE] NPE in CopyFilesAndFoldersOperation when overwriting existing folder<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73993">Bug 73993</a>. [WorkingSets] Working sets schema must be more specific<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="14" Month="09">September 14, 2004, 8 a.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=27115">Bug 27155</a>.  [View Mgmt] Opening file de-maximizes editor pane<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51551">Bug 51551</a>.  [New Look] Maximize an editor then reset perspective does not update maxmimize icon<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53320">Bug 53320</a>.  [ViewMgmt] Views do not receive part hidden event when a view is maximized.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53852">Bug 53852</a>.  [Workbench] inconsist viewmanagement with maximized editors<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54970">Bug 54970</a>.  [Preferences] Selective import and export of preferences<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62795">Bug 62975</a>.  [Workbench] Switching perspectives does not reset CTabFolder minimize/maximize icon<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66974">Bug 66974</a>.  [EditorMgmt] Hidden editors in other areas after closing maximized editor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68568">Bug 68568</a>.  [JFace] Unreadable button fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69387">Bug 69387</a>.  [RCP] PerspectiveRegistry does not honour -data @none<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69900">Bug 69900</a>.  [EditorMgmt] Editor cannot be closed after it is activated for the first time<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71464">Bug 71464</a>.  [ViewMgmt] [RCP] Allow zoom out behavior for view stacks to be more like editor stacks<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71942">Bug 71942</a>.  [EditorMgmt] Closing the editor that zoomed should not cause unzoom.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72114">Bug 72114</a>.  [ViewMgmt] Views that implement ISaveablePart are not consulted for dirty state before they are closed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72383">Bug 72383</a>.  [Perspectives] Placeholder folder error with multiple instance views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73027">Bug 73027</a>.  [Dialogs] Buttons are too high<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73058">Bug 73058</a>.  [Images] ImageDescriptor.createImage() javadoc needs dispose() reference<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73086">Bug 73086</a>.  [Encoding] Remove hard coded encodings<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73109">Bug 73109</a>.  [ViewMgmt] Composite leaked from tool bar wrapper in ViewPane<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73127">Bug 73127</a>.  [Encoding] Expecting resource delta if workbench encoding changes<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73130">Bug 73130</a>.  [Preferences] 3.0.1 candidate: Workspace gets (fully?) built if Editor pref page changes<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73192">Bug 73192</a>.  [Tests] Fix the PartsReferencesTestSuite so that it does not hang on the Mac<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73420">Bug 73420</a>.  [Markers] "Problems" view fails to display all added markers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73549">Bug 73549</a>.  [Encoding] Add a unicode entry to the list<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73556">Bug 73556</a>.  [Encoding] Changing editor encoding causes Eclipse to freeze for a while<br>
-  </p>
-  
-
-<p>Integration Build (<st1:date Year="2004" Day="07" Month="09">September 7, 2004, 8 a.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72595">Bug 72595</a>.  [Themes] Themes need to be extendable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72868">Bug 72868</a>.  [Progress] Blocked by invisible job<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72930">Bug 72930</a>.  [Viewers] TableViewer.reveal() documentation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72947">Bug 72947</a>.  [Encoding] Encoding drop down in properties dialog has 3 null entries<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73082">Bug 73082</a>.  [Encoding] Need an encoding extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=73184">Bug 73184</a>.  [Tests] RCP test suite hangs on the Mac<br>
-  </p>
-
-
-<p>Integration Build (<st1:date Year="2004" Day="08" Month="24">August 24, 2004, 8 a.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48589">Bug 48589</a>.  [EditorMgmt] Special chars in filenames and funny filename tabs behaviour<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58315">Bug 58315</a>.  AbstractUIPlugin#getImageRegistry not usable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59812">Bug 59812</a>.  Progress dialog cuts off info, need separate line for size<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63324">Bug 63324</a>.  [ActionSets] Plugin not deactivated with Exception at startup()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64232">Bug 64232</a>.  [About] [RCP] Feature details button appears even if there are no features<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64390">Bug 64930</a>.  [Progress] Strange build behaviour when autobuild is off and workspace locked<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64956">Bug 64956</a>.  [KeyBindings] TVT3.0: Error message on console during startup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65061">Bug 65061</a>.  [encoding] duplicated message when error setting encoding happens<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65548">Bug 65548</a>.  [About] M9 shows unloaded plugins in PluginDetails with no warnings<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66336">Bug 66336</a>.  [KeyBindings] Ctrl-Shift-E unreliable on GTK for switch to editor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66776">Bug 66776</a>.  [Workbench] Provide menu item to float/dock views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67072">Bug 67072</a>.  [About] View Error Log button in Configuration Details dialog from about menu should be grey when no .log<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68180">Bug 68180</a>.  [ActivityMgmt] Capabilities Preference page tree expansion<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68431">Bug 68431</a>.  [ActivityMgmt] Need Add all/Remove all button for capabilities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69771">Bug 69771</a>.  [Keybindings] TVT3.0:  Preferences -> Keys has random strings displaying<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71294">Bug 71294</a>.  Capabilities Preference Deselection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71742">Bug 71742</a>.  [IDE] use long-running operations to set encoding<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72252">Bug 72252</a>.  [ActivityMgmt] Handling of dynamic plugin loading does not set preference defaults<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72495">Bug 72495</a>.  NullPointerException when updating projects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72585">Bug 72585</a>.  [ViewMgmt] Empty variables view, inspect disabled<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72595">Bug 72595</a>.  [Themes] Themes need to be extendable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72596">Bug 72596</a>.  [Tests] Porting keyboard events from AWT's robot to SWT's "Display.post"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72639">Bug 72639</a>.  Maximize/Minimize animations slow and annoying<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72727">Bug 72727</a>.  [JFace] ColorFieldEditor doesn't call setPresentsDefaultValue(), unexpected results after Restore Defaults is pressed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72786">Bug 72786</a>.  [typing] IOOB exception when cutting Java code (improve logging)<br>
-  </p>
-    
-
-<p>Integration Build (<st1:date Year="2004" Day="08" Month="24">August 24, 2004, 8 a.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-
-
-<p><p>Integration Build (<st1:date Year="2004" Day="XX" Month="XX">XXXX XX, 2004, XXXX x.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-  <p>The structured selection generated for object contributions now includes
-  the editor input, if the active part is an editor part.  This means Team and
-  CVS entries appear in the context menu over editors.</p>
-  <p>Plug-in version numbers have been bumped to 3.1.0.</p>
-  <h2>Other highlights</h2>
-  <p>There has been a massive reformatting of our source code.</p>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=16329">Bug 16329</a>.  [EditorMgmt] Activate editor (F12) does not set focus in editor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=25303">Bug 25303</a>.  would like to have a way to temporarily reduce and restore individual editors (partial fix)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38547">Bug 38547</a>.  [Preferences] Changing preferences ignored after "Restore defaults" pressed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40965">Bug 40965</a>.  [Workbench] Tool bar buttons require mouse focus to get read using MSAA<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46576">Bug 46576</a>.  [RCP] prune message catalogs and icon directories<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52506">Bug 52506</a>.  [Workbench] minimize needs keyboard shortcut and menu entry<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53427">Bug 53427</a>.  [RCP] include RCP tests in automated test suite<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57093">Bug 57093</a>.  [Viewers] "Widget is disposed" when updating from CVS<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60768">Bug 60768</a>.  CBanner at top does vertical sizing based on left components<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61869">Bug 61869</a>.  [JFace] JFace does not reflect the new color options for SWT Table and tree<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62970">Bug 62970</a>.  Layout problem when the user presses details in the error dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63255">Bug 63255</a>.  [Preferences] some pages cannot be displayed in high contrast<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63546">Bug 63546</a>.  [OLE] In-place editor fails with: Class ID not found in registry<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64761">Bug 64761</a>.  [Progress] [RCP] Need to reorganize progress icons in ide<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65363">Bug 65363</a>.  [ViewMgmt] Missing command and action for minimize view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65724">Bug 65724</a>.  NPE in UILockListener.doPendingWork<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65497">Bug 65497</a>.  [Graphics] Old stop icon shown in application window's progress bar<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66065">Bug 66065</a>.  Test to verify that EditorReferences are still working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66574">Bug 66574</a>.  Activity checkbox string should not have a '.'<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66967">Bug 66967</a>.  [ObjectContributions] PropertyParser should be deprecated (or removed)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67028">Bug 67028</a>.  [Workbench] Window > Show View should be disabled if all perspectives closed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67716">Bug 67716</a>.  [ProblemsView] Trying to sort in Problems View removes all items from view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67221">Bug 67221</a>.  [Themes]  Cannot customize values of colors/fonts when theme is used<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67293">Bug 67293</a>.  [Themes] Setting inital theme to a bad theme id results in IThemeManager.getCurrentTheme() == null<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68379">Bug 68379</a>.  [FastView] wrong target for restore fastview animation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68431">Bug 68431</a>.  [ActivityMgmt] Need Add all/Remove all button for capabilities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68444">Bug 68444</a>.  [Import/Export] cannot fill project name in Import Project wizard<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68505">Bug 68505</a>.  [Progress] Progress view shows waiting job which doesn't exist anymore<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68579">Bug 68579</a>.  [Progress] Cleared error still in progress error list<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68774">Bug 68774</a>.  [Perspectives] NPE in PerspectiveSwitcher.setCoolItemSize()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68776">Bug 68776</a>.  [Perspectives] Perspective extension view element requires relative even if relationship="fast"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68779">Bug 68779</a>.  [Perspectives] closeable and moveable attributes ignored if relationship is fixed or stack<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68802">Bug 68802</a>.  org.eclipse.ui.themes identifier incorrect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68804">Bug 68804</a>.  [Preferences] Always Run in background not restored to default in Workbench preference page<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69097">Bug 69097</a>.  Provide utility classes for creating Eclipse presentations<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69365">Bug 69365</a>.  Non NLS'd string shipped with eclipse 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69473">Bug 69473</a>.  [Workbench] File > New menu is enabled when no perspectives open<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69541">Bug 69541</a>.  [Dialogs] TVT3.0:  Task List Description text entry widget truncated in Korean<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69607">Bug 69607</a>.  [Preferences] TVT3.0:  nonexternalized string in Preferences->Workbench->Appearance<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69612">Bug 69612</a>.  [Font/Colour] TVT3.0:  Duplicated mnemonics in Preferences->Workbench->Colors and Fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69724">Bug 69724</a>.  [Fonts] TVT3.0: Description for colors & fonts are switched<br>
-      </p>
-      
-      </p>
-
-<p>Integration Build (<st1:date Year="2004" Day="23" Month="6">Aug 10, 2004, 00:10 a.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-<h2>Other highlights</h2>
-<h2>Breaking API Changes</h2>
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-<p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem reports fixed<o:p></o:p></span></b></p>
-<p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'><o:p></o:p></span></b><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'><o:p></o:p></span></b> <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71675">71675 </a> NPE starting drag in persp. bar.</p>
-<p>  <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71630">71630 </a> [ActivityMgmt] Activity code relies on deprecated core code </p>
-<p>Integration Build (<st1:date Year="2004" Day="XX" Month="XX">XXXX XX, 2004, XXXX x.m. (EDT)</st1:date>)</p>
-<h2>What's new in this drop</h2>
-  <p>The structured selection generated for object contributions now includes
-  the editor input, if the active part is an editor part.  This means Team and
-  CVS entries appear in the context menu over editors.</p>
-  <p>Plug-in version numbers have been bumped to 3.1.0.</p>
-  <h2>Other highlights</h2>
-  <p>There has been a massive reformatting of our source code.</p>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=16329">Bug 16329</a>.  [EditorMgmt] Activate editor (F12) does not set focus in editor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=25303">Bug 25303</a>.  would like to have a way to temporarily reduce and restore individual editors (partial fix)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38547">Bug 38547</a>.  [Preferences] Changing preferences ignored after "Restore defaults" pressed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40965">Bug 40965</a>.  [Workbench] Tool bar buttons require mouse focus to get read using MSAA<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46576">Bug 46576</a>.  [RCP] prune message catalogs and icon directories<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52506">Bug 52506</a>.  [Workbench] minimize needs keyboard shortcut and menu entry<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53427">Bug 53427</a>.  [RCP] include RCP tests in automated test suite<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57093">Bug 57093</a>.  [Viewers] "Widget is disposed" when updating from CVS<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60768">Bug 60768</a>.  CBanner at top does vertical sizing based on left components<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61869">Bug 61869</a>.  [JFace] JFace does not reflect the new color options for SWT Table and tree<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62970">Bug 62970</a>.  Layout problem when the user presses details in the error dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63255">Bug 63255</a>.  [Preferences] some pages cannot be displayed in high contrast<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63546">Bug 63546</a>.  [OLE] In-place editor fails with: Class ID not found in registry<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64761">Bug 64761</a>.  [Progress] [RCP] Need to reorganize progress icons in ide<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65363">Bug 65363</a>.  [ViewMgmt] Missing command and action for minimize view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65724">Bug 65724</a>.  NPE in UILockListener.doPendingWork<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65497">Bug 65497</a>.  [Graphics] Old stop icon shown in application window's progress bar<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66065">Bug 66065</a>.  Test to verify that EditorReferences are still working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66574">Bug 66574</a>.  Activity checkbox string should not have a '.'<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66967">Bug 66967</a>.  [ObjectContributions] PropertyParser should be deprecated (or removed)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67028">Bug 67028</a>.  [Workbench] Window > Show View should be disabled if all perspectives closed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67716">Bug 67716</a>.  [ProblemsView] Trying to sort in Problems View removes all items from view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67221">Bug 67221</a>.  [Themes]  Cannot customize values of colors/fonts when theme is used<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67293">Bug 67293</a>.  [Themes] Setting inital theme to a bad theme id results in IThemeManager.getCurrentTheme() == null<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68379">Bug 68379</a>.  [FastView] wrong target for restore fastview animation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68431">Bug 68431</a>.  [ActivityMgmt] Need Add all/Remove all button for capabilities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68444">Bug 68444</a>.  [Import/Export] cannot fill project name in Import Project wizard<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68505">Bug 68505</a>.  [Progress] Progress view shows waiting job which doesn't exist anymore<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68579">Bug 68579</a>.  [Progress] Cleared error still in progress error list<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68774">Bug 68774</a>.  [Perspectives] NPE in PerspectiveSwitcher.setCoolItemSize()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68776">Bug 68776</a>.  [Perspectives] Perspective extension view element requires relative even if relationship="fast"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68779">Bug 68779</a>.  [Perspectives] closeable and moveable attributes ignored if relationship is fixed or stack<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68802">Bug 68802</a>.  org.eclipse.ui.themes identifier incorrect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68804">Bug 68804</a>.  [Preferences] Always Run in background not restored to default in Workbench preference page<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69097">Bug 69097</a>.  Provide utility classes for creating Eclipse presentations<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69365">Bug 69365</a>.  Non NLS'd string shipped with eclipse 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69473">Bug 69473</a>.  [Workbench] File > New menu is enabled when no perspectives open<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69541">Bug 69541</a>.  [Dialogs] TVT3.0:  Task List Description text entry widget truncated in Korean<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69607">Bug 69607</a>.  [Preferences] TVT3.0:  nonexternalized string in Preferences->Workbench->Appearance<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69612">Bug 69612</a>.  [Font/Colour] TVT3.0:  Duplicated mnemonics in Preferences->Workbench->Colors and Fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69724">Bug 69724</a>.  [Fonts] TVT3.0: Description for colors & fonts are switched<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="23" Month="6">June 23, 2004, 8:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <p>The copyright notices have been updated, and there have been some other javadoc changes.</p>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58476">Bug 58476</a>.  [Workbench] Scrollbars in popups<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65660">Bug 65660</a>.  [Markers] markerHelp does not seem to be working - probable regression<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="23" Month="6">June 23, 2004, 12:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62995">Bug 62995</a>.  [Progress] scheduled synchronizations stay in the progress view when terminated<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65992">Bug 65992</a>.  [Progress] Rescheduled jobs are not shown in the progress view<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67574">Bug 67574</a>.  [Progress] KEEPONE doesn't remove duplicate jobs from the progress view<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67742">Bug 67742</a>.  inadequate spec for some IProductConstants<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67950">Bug 67950</a>.  [RCP] [doc] ui.workbench.compatibility methods should have deprecation warnings<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68033">Bug 68033</a>.  popup menu has no size in ctrl+e drop down editor list<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="22" Month="6">June 22, 2004, 4:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67930">Bug 67930</a>.  [Keybindings] Wrong behaviour when triggering Code Assist in "Rename Field"-Dialog<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68031">Bug 68031</a>.  Graphic is disposed error in Ctrl+e editor dropdown<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68055">Bug 68055</a>.  IIntroManager.closeIntro() does not work properly<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68114">Bug 68114</a>.  IDE does not contribute a product extension<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="22" Month="6">June 22, 2004, 12:00 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63635">Bug 63635</a>.  Decorations become stale<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68013">Bug 68013</a>.  Blank perspective after downloading SWT examples<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="18" Month="6">June 18, 2004, 5:30 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62883">Bug 62883</a>.  [Progress] Images in progress area are misaligned and chopped<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65835">Bug 65766</a>.  [Perspectives] Perspective buttons order sometimes inconsistant<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65835">Bug 65835</a>.  [ViewMgmt] (regression) View tabs open in random order (further fixes)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67721">Bug 67721</a>.  need API spec for product preference customization key<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67722">Bug 67722</a>.  IllegalArgumentException during shutdown<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67843">Bug 67843</a>.  [Progress] IProgressService.busyCursorWhile() doesn't show progress dialog from modal dialogs<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67882">Bug 67882</a>.  New icons available June 18<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 8 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60768">Bug 60768</a>.  CBanner at top does vertical sizing based on left components<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67729">Bug 67729</a>.  NPE on startup (all the time!)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67731">Bug 67731</a>.  NPE on startup (part 2)<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 4 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62217">Bug 62217</a>.  [EditorMgmt] Editor tabs lose their order when the workbench is saved<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65766">Bug 65766</a>.  [Perspectives] Perspective buttons get added from right to left<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67330">Bug 67330</a>.  [Wizards] New Wizard fails with no categories<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 12 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57892">Bug 57892</a>.  [Graphics] Task icon is clipped in vertical rule (further fixing)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67612">Bug 67612</a>.  [Progress] Searching dialog not closing<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="17" Month="6">June 17, 2004, 8 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57892">Bug 57892</a>.  [Graphics] Task icon is clipped in vertical rule (rolling back part of the fix)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62245">Bug 62245</a>.  [ProblemsView] Problem view: improve presentation of current error/warning count<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65339">Bug 65339</a>.  [FastView] FastViews added to fixed perspectives are still closeable<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65835">Bug 65835</a>.  [ViewMgmt] (regression) View tabs open in random order<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66182">Bug 66182</a>.  [KeyBindings] multi-stroke keyboard shortcut popup swallows keys (further fixes)<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66820">Bug 66820</a>.  [Workbench] Perspective bar empty after restart<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66895">Bug 66895</a>.  [R21PRES] Unable to use RC2 after closing all perspectives<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67552">Bug 67552</a>.  Non-externalized string in UI<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="16" Month="6">June 16, 2004, 8 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57892">Bug 57892</a>.  [Graphics] Task icon is clipped in vertical rule<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63595">Bug 63595</a>.  [FastView] IPageLayout.addFastView does not seems to work at all in 3.0M9 <br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65213">Bug 65213</a>.  [Workbench] [R21PRES] Closing view, leaving one open doesn't always get rid of tabs<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65444">Bug 65444</a>.  [R21PRES] Close button shown when views not closeable<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66224">Bug 66224</a>.  [Workbench] Got Assertion failed using build I200406080800<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66673">Bug 66673</a>.  New icons available for the UI June 11<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67496">Bug 67496</a>.  [Tests] Add a perspective with a fast view test to the suites<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="16" Month="6">June 16, 2004, 4 p.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63362">Bug 63362</a>.  [KeyBindings] [ViewMgmt] Key bindings do not work in detached views<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64024">Bug 64024</a>.  [Workbench] Many objects leaked for each window opened/closed<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65136">Bug 65136</a>.  [RCP] [ViewMgmt] Multi-view instances not persisted properly across sessions<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66182">Bug 66182</a>.  [KeyBindings] multi-stroke keyboard shortcut popup swallows keys<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66377">Bug 66377</a>.  CVS repositories view disappeared<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66476">Bug 66476</a>.  [Fonts/Colours] Text font change not propagated to Java editor<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66733">Bug 66733</a>.  Workbench does not shutdown<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66782">Bug 66782</a>.  IntroPart setInitializationData can die on an NPE<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66810">Bug 66810</a>.  ClassCastException in WorkbenchIntroManager<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66819">Bug 66819</a>.  [Workbench] fastview refresh leaves lines behind<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67232">Bug 67232</a>.  New wizard banner graphics need to be applied<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67262">Bug 67262</a>.  [EditorMgmt] Add new file association for external programs adds duplicates<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67267">Bug 67267</a>.  [Progress] PROPERTY_IN_DIALOG needs to be API and needs to be documented<br>
-    	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67325">Bug 67325</a>.  [Progress] Jobs that should be marked "system" (NEW)<br>
-      </p>
-
-  <p>Integration Build (<st1:date Year="2004" Day="16" Month="6">June 16, 2004, 8 a.m. (EDT)</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-      <p>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61811">Bug 61811</a>.  NewProgressViewer problems when painting<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62883">Bug 62883</a>.  [Progress] Images in progress area are misaligned and chopped<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64775">Bug 64775</a>.  [Progress] progress view showing busy, but view is empty<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65276">Bug 65276</a>.  [Preferences] Preference dialog should disable OK when okPressed<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65606">Bug 65606</a>.  [ViewMgmt] IPerspectiveListener2 is notified too late<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66357">Bug 66357</a>.  Eclipse stops opening editors<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66439">Bug 66439</a>.  Copy of Class causes update error in package explorer<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66750">Bug 66750</a>.  [Progress] Progress Dialog for jobs no longer opens<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66756">Bug 66756</a>.  [Presentations] presentationFactories schema file is invalid<br>
-      	<a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66773">Bug 66773</a>.  Hangs every time I add a new feature/site<br>
-      </p>
-
-
-  <p>Integration Build (<st1:date Year="2004" Day="7" Month="6">June 9, 2004</st1:date>)</p>
-  <h2>What's new in this drop</h2>
-  <h2>Other highlights</h2>
-  <h2>Breaking API Changes</h2>
-  <h2><span class=GramE>Known deficiencies.</span> </h2>
-  <p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem 
-    reports fixed<o:p></o:p></span></b></p>
-  <p>57266 [Workbench] Workspace prompt should follow platform conventions for 
-    directory path <br>
-    63666 [R21PRES] Must drag tabs to move individual views in 2.1 presentation 
-    <br>
-    64908 [Tasks] Task tag creation and locked workspace<br>
-    66259 [KeyBindings] Polish patch: support view activation via a keyboard shortcut 
-    <br>
-  </p>
-  <p> Integration Build (<st1:date Year="2004" Day="7" Month="6">June 7, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<p><b style='mso-bidi-font-weight:normal'><span style='font-size:18.0pt'>Problem
-reports fixed<o:p></o:p></span></b></p>
-
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width="100%"
- style='width:100.0%;mso-cellspacing:0in;mso-padding-alt:3.0pt 3.0pt 3.0pt 3.0pt'>
- <tr style='mso-yfti-irow:0'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41224">41224</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Dialogs] Switch to Editor dialog does not rearrange <span
-  class=SpellE>layo</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:1'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57659">57659</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>ViewMgmt</span>] (regression) View not
-  <span class=SpellE>acitvated</span> when a toolbar... <span style='color:
-  black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:2'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62243">62243</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Workbench] Support to directly activate views via a <span
-  class=SpellE>keyb</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:3'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62709">62709</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>ActivityMgmt</span>] Need to expose
-  Team capability in SDK <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:4'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64043">64043</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Workbench] Ctrl-tab in maximized editor causes <span
-  class=SpellE>NullPoint</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:5'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64637">64637</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>Platform UI tests are unbearably slow <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:6'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64784">64784</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>EditorMgmt</span>] NPE switching to
-  editor <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:7'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64908">64908</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Tasks] Task tag creation and locked workspace <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:8'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64937">64937</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Progress] Using <span class=SpellE>IProgressService.busyCursorWhile</span>()
-  from ... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:9'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65124">65124</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[RCP] [<span class=SpellE>ViewMgmt</span>] Use name
-  attribute in product extension ... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:10'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65549">65549</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><span class=SpellE>ViewTests</span> need to be aware of
-  thread scenarios other then... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:11'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65550">65550</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><span class=SpellE>ViewRegistry</span> not <span
-  class=SpellE>syncExec'ing</span> when possible registry <span class=SpellE>chan</span>...
-  <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:12'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65603">65603</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Progress] Dialog with &quot;run in background&quot;
-  appears, even ... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:13'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65711">65711</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Problems] Problems View takes too long to show <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:14'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65851">65851</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[Decorators] Schema should specify kind=java for <span
-  class=SpellE>objectCl</span>... <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:15'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65950">65950</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><span class=SpellE>UIJob</span> should check cancellation
-  more <span style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
- <tr style='mso-yfti-irow:16;mso-yfti-lastrow:yes'>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal><a
-  href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66034">66034</a> <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
-  <td style='padding:3.0pt 3.0pt 3.0pt 3.0pt'>
-  <p class=MsoNormal>[<span class=SpellE>DynamicUI</span>] Remove listeners to
-  View and Perspective <span class=SpellE>regi</span>... <span
-  style='color:black'><o:p></o:p></span></p>
-  </td>
- </tr>
-</table>
-
-<p><o:p>&nbsp;</o:p></p>
-
-<p>Integration Build (Tuesday, <st1:date Year="2004" Day="20" Month="4">April
- 20th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2059">2059</a>
-     [Workbench] CVS password saving between session (1GDX7JK)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=2780">2780</a> [Editor
-     Mgmt] workbench should indicate <span class=SpellE>whe</span> zoom is on
-     (1GJ860L)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=16861">16861</a>
-     [Perspectives] <span class=GramE>The</span> separation between <span
-     class=SpellE>persp</span>. <span class=GramE>and</span> fast views does
-     not seem visible.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=17242">17242</a> [View
-     Mgmt] Inconsistency dragging fast views</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21639">21639</a> [DND]
-     Should reorder fast views on shortcut bar with DND</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=22008">22008</a> [View
-     Mgmt] Previous part should reactivate after dismissing fast view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=25285">25285</a> Fast
-     View on bottom</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=27203">27203</a> [View
-     Mgmt] Fast view changes width when it shouldn't</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30435">30435</a> [View
-     Mgmt] <span class=SpellE>Fastview</span> move too sensitive</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=31737">31737</a> [View
-     Mgmt] Clicking on <span class=SpellE>coolbar</span> should dismiss fast
-     view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=32262">32262</a>
-     [Markers] DCR: Image and description for <span class=SpellE>IMarkerResolution</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=34216">34216</a> [View
-     Mgmt] Option to Remove Fast View Animation</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36641">36641</a>
-     [Views] More flexible docking of fast views</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36946">36946</a> [Plan
-     Item] Add cheat sheets</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39789">39789</a>
-     [Tasks] when used as fast view, it will pop up even when all items
-     filtered</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41172">41172</a>
-     [Dialogs] Bug with Image in <span class=SpellE>TitleAreaDialog</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42176">42176</a>
-     [Navigator] Invalid thread access when closing a project</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43821">43821</a>
-     [Decorators] <span class=SpellE>ILightweigthDecorator</span> should be
-     able to decorate multiple quadrants</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48418">48418</a> Vague
-     progress messages confusing in Problems View</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48660">48660</a> <span
-     class=SpellE>DeferredTreeContentManager</span> hard to reuse</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50174">50174</a>
-     Missing localizations for extension point names</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50963">50963</a> <span
-     class=SpellE>CheckedTreeSelectionDialog</span>: Select All/Deselect all
-     not working</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52129">52129</a> [<span
-     class=SpellE>FastViews</span>] make fast view <span class=SpellE>dismissable</span>
-     by keystroke</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53552">53552</a>
-     Strange status text in Console view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54020">54020</a> [<span
-     class=SpellE>EditorMgmt</span>] Multiple editor tabs appear active when
-     area split</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54548">54548</a>
-     [About] About dialog should obtain info from <span class=SpellE>IProduct</span>
-     and <span class=SpellE>IBundleGroup</span> instead of platform
-     configuration</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55567">55567</a>
-     [Workbench] No way to build all with auto build on</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55593">55593</a>
-     [Activities] SDK activities shipped in Platform <span class=SpellE>plugin</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55607">55607</a> [<span
-     class=SpellE>cheatsheets</span>] <span class=SpellE>cheatsheets</span>
-     should not depend on <span class=SpellE>org.eclipse.ui.intro</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55646">55646</a> [UI
-     forms] <span class=SpellE>ui.forms</span> .project has unwanted project
-     references</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55649">55649</a> [UI
-     intro] <span class=SpellE>ui.intro</span> .project has unwanted project
-     references</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55667">55667</a>
-     [intro] Java development tutorial is &quot;blank;&quot;</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55741">55741</a>
-     Project&gt;Clean does not give immediate feedback and takes a while</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56196">56196</a>
-     [Progress] Cannot create file when using repository</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56240">56240</a> <span
-     class=SpellE>Emacs</span> key binding does not work in Java editor</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56282">56282</a> [<span
-     class=SpellE>FastView</span>] Cannot drag tab folder onto <span
-     class=SpellE>fastview</span> bar</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56330">56330</a>
-     [Workbench] Perspective bar is clipped</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56437">56437</a>
-     [Font/<span class=SpellE>Colour</span>] Eclipse 3.0 M8 Encoding Problem</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56860">56860</a> [<span
-     class=SpellE>WorkingSets</span>] Not Display Working Set Wizard Banner
-     Image</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57134">57134</a>
-     [Wizards] Cut off textbox in New Project Wizard</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57138">57138</a> [<span
-     class=SpellE>UIForms</span>] the flat look for components in eclipse forms
-     does not work</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57224">57224</a>
-     [Problems] Problems view should pop up without stealing the focus</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57275">57275</a>
-     [Activities] Configure Activities dialog; folder descriptions</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57277">57277</a>
-     [Wizards] Wizard pages do not adjust to wizard shell resizing well</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57384">57384</a> [RCP]
-     Main window not active on startup, <span class=SpellE>IWindowListeners</span>
-     never receive <span class=SpellE>windowActivated</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57698">57698</a>
-     [Intro] DBCS: nothing happen clicking &quot;Eclipse community&quot; at
-     Intro What's new</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58088">58088</a> [<span
-     class=SpellE>CheatSheets</span>] <span class=SpellE>tooltips</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58203">58203</a> Leak
-     from <span class=SpellE>ProgressManager.runnableMonitors</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58216">58216</a>
-     [Progress] should show busy cursor first when #<span class=SpellE>showInDialog</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58235">58235</a>
-     [Navigator] <span class=SpellE>ClassCastException</span> in <span
-     class=SpellE>saveState</span> (invalid cast to <span class=SpellE>IResource</span>?)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58292">58292</a>
-     Wizard dialog does not show blocking jobs</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58297">58297</a> Need
-     to invert wording of Run In Background preference</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58309">58309</a>
-     workspace builds are not completing</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58321">58321</a> [<span
-     class=SpellE>EclipseForms</span>] Public API requested for <span
-     class=SpellE>FormUtil.ensureVisible</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58362">58362</a>
-     &quot;Delete&quot; operation in Navigator uses old style progress.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58533">58533</a> Need
-     to check for <span class=SpellE>setSystem</span> being set after schedule</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58542">58542</a>
-     Dangerous change to <span class=SpellE>setSystem</span> in <span
-     class=SpellE>MarkersViews</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58558">58558</a> [<span
-     class=SpellE>ActivityMgmt</span>] <span class=SpellE>defaultEnabled</span>
-     activities do not have their state persisted properly</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58662">58662</a>
-     System Jobs showing in progress viewers</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58669">58669</a>
-     Should open new user dialog immediately</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58698">58698</a>
-     [About] Help / About / Plug-in Details gets <span class=SpellE>NullPointerException</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58731">58731</a> <span
-     class=SpellE>WorkbenchActivityHelper</span> doesn't work for contributions
-     with null <span class=SpellE>plugin</span> ID</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58758">58758</a> Error
-     dialog uses context menu</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58761">58761</a> [<span
-     class=SpellE>KeyBindings</span>] broken reference to <span class=SpellE>WidgetMethodHandler</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58831">58831</a> [RCP]
-     Eclipse <span class=SpellE>dosn't</span> start due to corrupted <span
-     class=SpellE>workbench.xml</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58942">58942</a>
-     Rewording in blocked jobs dialog</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58981">58981</a> [Progress]
-     <span class=SpellE>ErrorNotificationDialog</span> didn't find the detail
-     information</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l3 level1 lfo1;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59049">59049</a>
-     [Contexts] <span class=SpellE>WorkbenchContextSupport</span> doesn't
-     register new dialog shells as TYPE_DIALOG</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040413 -->Integration Build (Tuesday, <st1:date Year="2004" Day="13"
-Month="4">April 13th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l8 level1 lfo2;tab-stops:list .5in'><span class=SpellE><span
-     class=GramE>org.eclipse.ui.IThemePreview</span></span> has been moved into
-     the <span class=SpellE>org.eclipse.ui.themes</span> package. </li>
-</ul>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed<o:p></o:p></h2>
-
-<ul type=disc xmlns:bz="http://www.bugzilla.org/rdf#">
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=20150">20150</a> [Key
-     Bindings] &quot;<span class=SpellE>Ctrl+Space</span>&quot; lost to code
-     assist</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21708">21708</a>
-     [Viewers] Combo should support a Viewer</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=31835">31835</a>
-     [Tasks] Task list too eager to come to front</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=35766">35766</a> [<span
-     class=SpellE>MenuMgmt</span>] <span class=SpellE>EditorActionBars</span> -
-     <span class=SpellE>ContributionItems</span> not being disposed of properly</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38412">38412</a>
-     [Actions] Tree &amp; Table cell editors too small</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39223">39223</a>
-     Open/Close Project locks for several minutes</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40636">40636</a>
-     [Dialogs] <span class=SpellE>org.eclipse.ui.dialogs.FilteredList$Label</span>
-     can throw <span class=SpellE>NullPointerException</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41164">41164</a>
-     [Dialogs] Need to move <span class=SpellE>ResourceSelectionDialog</span>
-     to the new Job API</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44814">44814</a> [RCP]
-     launcher requires only 1.3 VM</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45336">45336</a>
-     [Problems View] Remove the show on new problems option from the <span
-     class=SpellE>pref</span> page</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46154">46154</a> Move
-     to new progress API</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47054">47054</a> Help
-     &quot;About&quot; page is empty</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49040">49040</a> <span
-     class=SpellE>IllegalStateException</span>: Job manager has been shut down</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49117">49117</a> [Plan
-     Item] Workbench needs hooks for new welcome support</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49700">49700</a>
-     [Dialogs] creating working set leaks an image</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51282">51282</a> [RCP]
-     <span class=SpellE>WorkbenchAdvisor.preShutdown</span> not called</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52159">52159</a> [<span
-     class=SpellE>ActivityMgmt</span>] Activity entry in window menu needs to
-     be defined in object contribution</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52436">52436</a>
-     [Problems View] Problems view opens up in Compare view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53105">53105</a>
-     [Themes/Fonts/Colors] Theme API needs to piggyback on existing font/color
-     API and so does workbench</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53249">53249</a>
-     [Editor Mgmt] NPE in TabbedEditorWorkbook$1.maximize</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54748">54748</a>
-     progress, background operations, and novice users</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55090">55090</a>
-     [Progress] How to show busy in multiple instances of the same view</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55106">55106</a>
-     [Intro] Finalize API</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55162">55162</a> <span
-     class=SpellE>IPresentablePart</span> needs to be able to opt out of done
-     state</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55735">55735</a>
-     [Progress] Double-clicking on <span class=SpellE>statusline</span>
-     progress icon has no effect</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55755">55755</a> Using
-     latest build the error log view is missing</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55918">55918</a>
-     [Wizards] New wizard description text area is white on <span class=SpellE>linux</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56039">56039</a> [Font/<span
-     class=SpellE>Colours</span>] Hard to find definition of &quot;mapped
-     to&quot; font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56281">56281</a> [<span
-     class=SpellE>ViewMgmt</span>] View message is now the full title instead
-     of the string between ()'s</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56336">56336</a> [<span
-     class=SpellE>KeyBindings</span>] The Alt + - System Menu</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56446">56446</a>
-     New-&gt;Other... opens &quot;new project&quot; wizard</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56484">56484</a>
-     [Fonts/Colors] Theme API cannot rely on <span class=SpellE>JFaceResources</span>.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56489">56489</a> [<span
-     class=SpellE>KeyBindings</span>] New key bindings missing from Milestone 8</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56844">56844</a> Write
-     drag-and-drop test suites</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56961">56961</a>
-     [Workbench] <span class=SpellE>EarlyStartupRunnable.getExecutableExtension</span>()
-     references runtime internals</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56977">56977</a> [<span
-     class=SpellE>DynamicUI</span>] <span class=SpellE>testFindPerspectiveWithId</span>
-     failed in nightly builds</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57273">57273</a>
-     [Activities] Configure Activities dialog; Java tree entries</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57384">57384</a> [RCP]
-     Main window not active on startup, <span class=SpellE>IWindowListeners</span>
-     never receive <span class=SpellE>windowActivated</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57437">57437</a>
-     Preferences&gt;Workbench&gt;Colors and Fonts issues</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57456">57456</a>
-     [Activities] New Wizard should show items from enabled <span class=SpellE>actiivties</span>
-     by default</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57532">57532</a> <span
-     class=SpellE>IllegalStateException</span> disposing theme manager</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57579">57579</a>
-     [Progress] Run in Background should animate to progress indicator</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57586">57586</a>
-     Markers views title turns bold too often</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57722">57722</a>
-     [Intro] Exception in Intro on startup</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57847">57847</a>
-     [Fonts/Colors] <span class=SpellE>TreeViewer</span> in <span class=SpellE>prefs</span>
-     page does not <span class=SpellE>honour</span> dialog font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57851">57851</a>
-     [Progress] NPE in <span class=SpellE>WorkbenchSiteProgressService</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57880">57880</a> [DND]
-     NPE in drag and drop prevents window from redrawing</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l6 level1 lfo3;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57907">57907</a>
-     [Progress] NPE in <span class=SpellE>workbenchsiteprogressmanager</span></li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040330 -->Integration Build (Tuesday, <st1:date Year="2004" Day="30"
-Month="3">March 30th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52957">52957</a> [<span
-     class=SpellE>KeyBindings</span>] <span class=SpellE>Keybinding</span>
-     Service consumes keystrokes for unregistered commands</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54709">54709</a> [<span
-     class=SpellE>ContextMgmt</span>] Enhance <span class=SpellE>ContextManagerEvent</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55799">55799</a>
-     [Intro] When new welcome is available, don't show the old one</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55884">55894</a> [<span
-     class=SpellE>ActivityMgmt</span>] <span class=SpellE>IDEWorkbenchActivityHelper</span>
-     is initialized too early</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56034">56034</a>
-     [Colors/Fonts] Spelling mistake in Part title font description</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56075">56075</a>
-     [Wizards] New project wizard; Next enabled with no selection</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56454">56454</a>
-     [Activities] Configure Activities dialog does not use dialog font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56455">56455</a>
-     [Preferences] Appearance <span class=SpellE>Pref</span> Page &quot;Current
-     Theme&quot; label does not use dialog font</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56577">56577</a> [Colors/Fonts]
-     Importing color preferences is not applied until restart</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56615">56615</a>
-     [Wizards] New Project Wizard Dialog Labels are Staggered by 4 Pixels</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l1 level1 lfo4;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56616">56616</a>
-     [Wizards] Description area of new wizard should eat all vertical space if
-     there is no image</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040217 -->Integration Build (Tuesday, <st1:date Year="2004" Day="17"
-Month="2">February 17th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l0 level1 lfo5;tab-stops:list .5in'>Activities can now be enabled
-     by default in the activities schema. See <a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51458">51458</a> for
-     details. </li>
-</ul>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=50856">50856</a>
-     [Intro] Problems creating workspace on subsequent starts.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51845">51845</a>
-     [Intro] Standby mode not in correct place after first restart</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52157">52157</a> [<span
-     class=SpellE>ActivityMgmt</span>] Need a preference to suppress <span
-     class=SpellE>ShowAll</span></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l2 level1 lfo6;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52248">52248</a> Can't
-     open CVS Repositories view.</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040210 -->Integration Build (Tuesday, <st1:date Year="2004" Day="10"
-Month="2">February 10th, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p>The workbench now reacts to runtime <span class=SpellE>plugin</span>
-activation. Known workbench extensions are recognized and the workbench is
-updated dynamically. In most cases these updates require no interaction from
-the user but several require the user to reset their perspectives. In these
-cases, the user is prompted with a dialog to that effect.</p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l10 level1 lfo7;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51110">51110</a>
-     [Preferences] Error notifying a preference listener on font change.</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040127 -->Integration Build (Tuesday, <st1:date Year="2004" Day="27"
-Month="1">January 27, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l7 level1 lfo8;tab-stops:list .5in'><a
-     href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41410">41410</a>
-     Default Text Font should be fixed-width on Linux-GTK</li>
-</ul>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040120 -->Integration Build (Tuesday, <st1:date Year="2004" Day="20"
-Month="1">January 20, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<p class=MsoNormal>A possible fix for Bug <a
-href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49970">49970</a> ([<span
-class=SpellE>ViewMgmt</span>] Ant View will not display first in the Java
-Browsing perspective) has been introduced. </p>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040113 -->Integration Build (Tuesday, <st1:date Year="2004" Day="13"
-Month="1">January 13, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41561">41581</a>
-Minor usability problems with progress view errors</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42616">42616</a>
-[Preferences] Null pointer exception creating CVS preference page </p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42858">42858</a>
-[Jobs] Offer a way to clear errors without opening Progress view</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44455"><span
-class=GramE>44455</span></a><span class=GramE> [<span class=SpellE>ActivityMgmt</span>]
-No Running man <span class=SpellE>menu+tool</span> even though java role
-enabled.</span> </p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47091"><span
-class=GramE>47091</span></a><span class=GramE> [<span class=SpellE>ActivityMgmt</span>]
-Unable <span class=SpellE>toeasily</span> turn off activities in a category
-without all activities being enabled.</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47098">47098</a> [<span
-class=SpellE>ActivityMgmt</span>] Empty Menu bar item (Run) when External tools
-filtered out</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20040106 -->Integration Build (Tuesday, <st1:date Year="2004" Day="6"
-Month="1">January 6, 2004</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40980">40980</a>
-[Dialogs] NPE in property dialog when adaptable provides contributor resource
-adapter</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49331">49331</a>
-[Dialogs] Workbench Machine Speed Preference not persistent</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031223 -->Integration Build (Tuesday, <st1:date Year="2003" Day="23"
-Month="12">December 23, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49274">49274</a>
-[Activities] <span class=GramE>Cannot</span> open preference dialog if previous
-selected node not in <span class=SpellE>fitlered</span> list</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031216 -->Integration Build (Tuesday, <st1:date Year="2003" Day="16"
-Month="12">December 16, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p>The initial implementation of the platform UI colors API has been released.
-This API is analogous to the existing fonts API in that it provides a registry
-(see <span class=SpellE><span class=GramE>org.eclipse.jface.resource.JFaceResources.getColorRegistry</span></span><span
-class=GramE>(</span>)) from which instances of defined colors may be obtained
-and the <span class=SpellE>org.eclipse.ui.colorDefinitions</span> extension
-point which <span class=SpellE>plugins</span> may use to define them.
-Additionally, there is now a Colors preference page located under the Workbench
-page that allows user customization of colors. </p>
-
-<p>Although the API is in place and relatively complete (see Bug 48745), the
-workbench does not yet utilize it for its own color needs. This will come for
-subsequent builds. </p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48745">48745</a>
-Colors preference page does not properly handle ancestor color changes</p>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37436">37436</a>
-[Preferences] one preference page for colors</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38462">38462</a>
-[Dialogs] Tree in Preference &amp; Properties dialog should be resizable</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44671">44671</a> [<span
-class=SpellE>ActivityMgmt</span>] Need to <span class=SpellE>showAll</span>
-option for role support</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45825">45825</a> [<span
-class=SpellE>ActivityMgmt</span>] Perspectives don't respect activity
-enablement</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48364">48364</a> <span
-class=SpellE>PreferenceDialog</span> can reopen empty</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=48745">48745</a>
-Colors preference page does not properly handle ancestor color changes</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031209 -->Integration Build (Tuesday, <st1:date Year="2003" Day="9"
-Month="12">December 9, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<p class=MsoNormal>Deprecated matching methods on <span class=SpellE>IActivity</span>
-and <span class=SpellE>IActivityManager</span> have been removed as well as <span
-class=SpellE><span class=GramE>getActivityManager</span></span><span
-class=GramE>(</span>) and <span class=SpellE>setEnabledActivities</span>() on <span
-class=SpellE>IWorkbench</span>. To <span class=SpellE>accomodate</span> for <span
-class=SpellE>futher</span> extensions, <span class=SpellE>IWorkbench</span> now
-inherits from <span class=SpellE>IAdaptable</span> and a new class <span
-class=SpellE>IWorkbenchActivitySupport</span> may be obtained in this way. <span
-class=SpellE>IWorkbenchActivitySupport</span> contains <span class=SpellE><span
-class=GramE>getActivityManager</span></span><span class=GramE>(</span>) and <span
-class=SpellE>setEnabledActivities</span>(). </p>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36297">36297</a>
-[Preferences] Need a page that informs of preference page creation failure</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47404">47404</a>
-[Jobs] UI no longer responsive during CVS update action</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47852">47852</a>
-[Jobs] NPE during redraw animation</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031202 -->Integration Build (Tuesday, <st1:date Year="2003" Day="2"
-Month="12">December 2, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p>We have provided a new key configuration available on the keys preference
-page. This shows some of the ideas that might enter into the key bindings
-defined for 3.0. This is a rough draft, and prone to a lot of change. Please
-try it out, and provide feedback to either <a
-href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37934">Bug 37934</a> or the
-<a href="mailto:platform-ui-dev@eclipse.org">platform-<span class=SpellE>ui</span>-dev
-mailing list</a>. </p>
-
-<h2>Other highlights</h2>
-
-<p>Key configurations are no longer forced to inherit from the default key
-configuration. </p>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47532">47532</a> <span
-class=SpellE>SystemSummaryDialog</span> uses <span class=SpellE>core.runtime</span>
-internal API</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031125 -->Integration Build (Tuesday, <st1:date Year="2003" Day="25"
-Month="11">November 25, 2003</st1:date>)</p>
-
-<h2>What's new in this drop</h2>
-
-<p><span class=SpellE>CyclePartAction</span> (used by the next/previous view/editor/perspective
-commands) now supports multiple-stroke key bindings. For example, if you bind
-&quot;Next Editor&quot; to &quot;<span class=SpellE>Ctrl+L</span> <span
-class=SpellE>Ctrl+E</span>&quot;, then you can press &quot;<span class=SpellE>Ctrl+L</span>
-<span class=SpellE>Ctrl+E</span>&quot; to open the cycle part dialog and press
-&quot;<span class=SpellE>Ctrl+E</span>&quot; to continue cycling through the
-list. </p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031120 -->Eclipse M5 Candidate Build 20031120</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<p>The <span class=GramE>roles API has</span> been made obsolete in <span
-class=SpellE>favour</span> of categories of activities. </p>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=33018"><span
-class=GramE>33018</span></a><span class=GramE> <span class=SpellE>plugin.xml</span>
-context menu</span> should not have &quot;Run Ant...&quot; item<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46958">46958</a> <span
-class=SpellE>IllegalStateException</span>: Job manager has been shut down.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47046">47046</a> Caps
-Lock maps to R<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47046">47116</a>
-Exception on startup after crash<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47046">47150</a> <span
-class=SpellE>ProgressMonitorJobsDialog</span> used on shutdown </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031119 -->Eclipse Integration Build 20031119</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46492">46492</a>
-Explicit job manager startup/shutdown needed</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031118 -->Eclipse Integration Build 20031118</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45943">45943</a>
-[Fonts] Java Compare Text Font fails to Map <span class=GramE>To</span> Other
-Font</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p><!-- I20031111 -->Eclipse Integration Build 20031111</p>
-
-<h2>What's new in this drop</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l5 level1 lfo9;tab-stops:list .5in'>Changes for the Rich Client
-     Platform effort have been released. The Platform UI, Platform Text,
-     Platform Help, and downstream components in the Eclipse SDK (e.g. JDT,
-     PDE) have adapted to these changes. For more details, see <a
-     href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html">the
-     RCP proposal page</a>.</li>
-</ul>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l4 level1 lfo10;tab-stops:list .5in'>There have been several
-     breaking API changes due to the Rich Client Platform effort. For more
-     details, see the Porting Guide, available on the <a
-     href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-ui-home/rcp-proposal/rich_client_platform_facilities.html"><span
-     class=SpellE>the</span> RCP proposal page</a>.</li>
-</ul>
-
-<h2><span class=GramE>Known deficiencies.</span> </h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l11 level1 lfo11;tab-stops:list .5in'>The support for embedded
-     OLE editors on Windows platforms is currently broken. This will be fixed
-     for Milestone 5 (<st1:date Year="2003" Day="21" Month="11">Nov 21, 2003</st1:date>).</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l11 level1 lfo11;tab-stops:list .5in'>The prompt to exit when
-     closing the last window is currently disabled. This will be fixed for
-     Milestone 5 (<st1:date Year="2003" Day="21" Month="11">Nov 21, 2003</st1:date>).
-    </li>
-</ul>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41806">41806</a>
-Platform mechanism for asynchronous prompts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43657">43657</a> Allow
-delete selection in key sequence entry widget<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43801">43801</a> Can't
-assign &quot;Esc Backspace&quot;<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43804">43804</a>
-Entering key sequence appends to previous<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44930">44930</a> Show
-Views dialog should flatten a single category </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031104</p>
-
-<h2>What's new in this drop</h2>
-
-<p class=MsoNormal>We've removed dependencies on <span class=SpellE>Xerces</span>
-from all of platform-<span class=SpellE>ui</span>. </p>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<p class=MsoNormal>There is a known issue with '<span class=SpellE>Ctrl+W</span>'
-to close editors. </p>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031021</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40636">40636</a>
-[Dialogs] <span class=SpellE>org.eclipse.ui.dialogs.FilteredList$Label</span>
-can throw <span class=SpellE>NullPointerException</span><br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42175">42175</a>
-[Viewers] Adding new tree items to an expanded Tree node scrolls away the
-current selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42755">42755</a> [Jobs]
-Access Job List While Having a Modal Dialog <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44496">44496</a> Typo '<span
-class=SpellE>pagee</span>' in <span class=SpellE>WorkbenchWindow</span> log
-message<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44668">44668</a>
-[Navigator] &quot;Link with&quot; button in Navigator doesn't scroll to current
-file if it's already selected <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44827">44827</a>
-[Viewers] <span class=SpellE>StructuredViewer's</span> <span class=SpellE>UpdateItemSafeRunnable</span>
-holds onto last selected element-memory leak </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031015</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031008</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44183">44183</a>
-[Jobs] Missing mnemonic for Verbose on Progress view's view menu</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44352">44352</a>
-Regression: File associations to an external program broken</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20031007</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40026">40026</a>
-[Jobs] cancel hint</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42149">42149</a>
-[Decorations] Decorations Calculation never says anything other than 20%</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42346">42346</a>
-[Tasks] Associated task not remaining with associated line</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42959">42959</a>
-[Jobs] Progress View: Cannot cancel a waiting job</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43939">43939</a> Need
-to support the <span class=SpellE>IProgressWithBlocking</span> in <span
-class=SpellE>ProgressMonitorDialog</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44033">44033</a>
-Schema Ext. Point Documents have invalid copyright formatting</p>
-
-<p><a href="fhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=44237">44237</a>
-[Jobs] Progress View: finished jobs not removed from view</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030923</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43355">43355</a>
-[Jobs] Exception during auto-build</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43408">43408</a>
-[Jobs] <span class=SpellE>ConcurrentModificationException</span> in <span
-class=SpellE>JobProgressManager</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43415">43415 </a>[Dialogs]
-<span class=SpellE>SWTException</span> from <span class=SpellE>ProgressIndicator</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=43947">43947</a>
-[Jobs] <span class=GramE>Should</span> use job name when task name is null</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030916</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42978">42978</a>
-Patch for <span class=SpellE>DeferredTreeContentProvider</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030909</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37280">37280</a> [<span
-class=SpellE>KeyBindinds</span>] Select view/editor/perspective should have no
-rocker option</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41931">41931</a>
-Breakpoint half-activates source file</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42010">42010</a>
-Group created with SWT.CENTER style</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42025">42025</a>
-Status line update job running too often?</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42176">42176</a>
-Invalid thread access when closing a project</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42394">42394</a>
-[Jobs] Patch to <span class=SpellE>JobProgressManager</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42418">42418</a>
-[Jobs] Rapid save and then build causes hangs</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42451">42451</a>
-[Dialogs] <span class=SpellE>ImageRegistry</span> throws null pointer exception
-in application with multiple <span class=GramE>Display's</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42526">42526</a>
-Patch: <span class=SpellE>RenameResourceAction</span> and <span class=SpellE>CopyResourceAction</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<h1>Eclipse Platform Build Notes<br>
-Workbench</h1>
-
-<p>Eclipse Integration Build 20030827</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41925">41925</a> dead
-lock when organizing imports</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42220">42220</a>
-Unable to bind CTRL+W</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42228">42228</a>
-Custom key binding stopped working</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 200308261317</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41901">41901</a> NPE
-upon startup</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030826</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41916">41916</a>
-Progress View: Status Line updates too much in verbose mode</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41927">41927</a>
-[Dialogs] Selecting in <span class=SpellE>PreferenceDialog</span> generates too
-many invalid entries</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030825</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41715">41715</a>
-[Jobs] Background job feedback should be in status line</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40499">40499</a> [CVS
-UI] GTK: Can't browse repository with new CVS option enabled</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41589">41589</a>
-[Properties View] Combo boxes in property sheets do not retain new values</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41644"><span
-class=GramE>41644</span></a><span class=GramE> device</span> is disposed on
-shutdown</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030819</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40852">40852</a>
-Progress View needs icons</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030812</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40570"><span
-class=GramE>40570</span></a><span class=GramE> [Dialogs] New Project wizard</span>
-throws NPE with two backslashes</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41172">41172</a>
-[Dialogs] Bug with Image in <span class=SpellE>TitleAreaDialog</span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41206">41206</a>
-Duplicate decoration for lightweight decorator on Object</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41312">41312 </a><span
-class=SpellE>ClassCastException</span> in <span class=SpellE>ProgressContentProvider</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p>Eclipse Integration Build 20030806</p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40851">40851</a> Add
-flashing red icon when there is an error shown</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41024">41024</a>
-[Decorators] Test decorators should not be on by default</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41136">41136</a>
-[Jobs] concurrent modification in progress view</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41153">41153</a>
-[Dialogs] Open resource not showing results</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41154">41154</a>
-[Dialogs] Open Resource: Resource list lags</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030805 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40615"><span
-class=GramE>40615</span></a><span class=GramE> [Preferences] <span
-class=SpellE>IntegerFieldEditor</span> validation</span> does not work</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40849">40849</a>
-Progress View should come to front on error</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40853">40853</a> Need
-<span class=GramE>hover</span> help for Animation Icon</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40855">40855</a> Need
-a clear all option for errors in the progress view</p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40900">40900</a>
-[Jobs] Jobs not always shown on startup</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030729 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40407">40407</a> <span
-class=SpellE>ColorSelector</span> needs an accessible listener</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030722 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=38902">Bug <span
-class=GramE>38092</span></a><span class=GramE> [Wizards] <span class=SpellE>Javadoc</span>
-typo in <span class=SpellE>org.eclipse.jface.wizard.Wizard</span></span></p>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40524">Bug 40524</a>
-Expansion of package view causes <span class=SpellE>ConcurrentModificationException</span></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030718 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p>Bug 40236 [View Mgmt] Shortcut bar flickers when adding a new project</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030716 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40128">40128</a>
-Decorators sometimes take two attempts to disable</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030715 </p>
-
-<h2>What's new in this drop</h2>
-
-<h2>Other highlights</h2>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39986">39986</a>
-Decorators acting funny</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030708 </p>
-
-<h2>What's new in this drop</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
-     mso-list:l9 level1 lfo12;tab-stops:list .5in'>New API: <span class=SpellE>org.eclipse.jface.viewers.IPostSelectionListener</span>.
-     See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39511">bug
-     39511</a>. </li>
-</ul>
-
-<h3>Other highlights</h3>
-
-<h2>Breaking API Changes</h2>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><code><span style='font-size:10.0pt'>Bug 39511 [Viewers]
-Supporting post selection changed listeners. </span></code></p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030701 </p>
-
-<h2>What's new in this drop</h2>
-
-<p><strong>First cut of the responsive UI work</strong>. Following on from the
-job handling released by Core in M1 the UI team has released further support
-for the Job framework in the UI. It is now possible to create an instance of <span
-class=SpellE>UIJob</span> which will run in the UI Thread rather than in some
-other Thread supplied by the <span class=SpellE>JobManager</span>. This is a
-requirement for any code that must interact with an SWT component.</p>
-
-<p><span class=SpellE>UIJob</span> requires a Display to be able to run as it
-is run using an <span class=SpellE>asynchExec</span>. This Display must be set
-before the <span class=SpellE>UIJob</span> is scheduled. If a <span
-class=SpellE>UIJob</span> is used then the creator of the <span class=SpellE>UIJob</span>
-must also set the display to run it in and be sure that that display exists
-when the code is executed. An alternative to <span class=SpellE>UIJob</span> is
-the <span class=SpellE>WorkbenchUIJob</span> which will get a display from a <span
-class=SpellE>WorkbenchWindow</span> if one is not <span class=SpellE>set.WorkbenchUIJob</span>
-is defined in the <span class=SpellE>org.eclipse.ui.workbench</span> project
-and so it can be used by <span class=SpellE>plugins</span> with <span
-class=SpellE>org.eclipse.ui.workbench</span> as a prerequisite.</p>
-
-<p>The first cut of the progress indicator is now also available. It is
-disabled by default. You can enable it by adding the line <span class=SpellE><code><span
-style='font-size:10.0pt'>org.eclipse.ui.workbench/showProgressIndicator</span></code></span><code><span
-style='font-size:10.0pt'>=true</span></code> to the file
-plugin_customization.ini in <span class=SpellE>org.eclipse.platform</span>.</p>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p>Bug 38782 <span class=SpellE>TreeViewer</span> add calls a refresh </p>
-
-<p><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-06-24&amp;chfieldto=2003-07-01&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/24and 2003/07/01.</p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030624 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-06-17&amp;chfieldto=2003-06-24&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/17 and 2003/06/24. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030617 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-06-10&amp;chfieldto=2003-06-17&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/10 and 2003/06/17. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030610 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-06-03&amp;chfieldto=2003-06-10&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/06/03 and 2003/06/10. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030603 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-05-20&amp;chfieldto=2003-06-03&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/05/20 and 2003/06/03. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 20030520 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-05-13&amp;chfieldto=2003-05-20&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/05/13 and 2003/05/20. </p>
-
-<div class=MsoNormal align=center style='text-align:center'>
-
-<hr size=1 width="100%" align=center>
-
-</div>
-
-<p class=MsoNormal>Eclipse Integration Build 200305013 </p>
-
-<h2>What's new in this drop</h2>
-
-<h3>Other highlights</h3>
-
-<h2>Known deficiencies</h2>
-
-<h2>Problem reports fixed</h2>
-
-<p class=MsoNormal><a
-href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;chfield=bug_status&amp;chfieldfrom=2003-05-06&amp;chfieldto=2003-05-13&amp;product=Platform&amp;component=UI&amp;cmdtype=doit&amp;&amp;order=Bug+Number">Click
-here</a> to see <span class=SpellE>PRs</span> which have been marked as
-RESOLVED, VERIFIED or CLOSED between 2003/05/06 and 2003/05/13. </p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
deleted file mode 100644
index f7e6cc0..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index 2972ff5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
deleted file mode 100644
index 1aca259..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
deleted file mode 100644
index 641ba72..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
deleted file mode 100644
index ba6d891..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index 319fe8d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
deleted file mode 100644
index 4957126..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 819e85b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.gif
deleted file mode 100644
index 267c040..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/linkto_help.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
deleted file mode 100644
index 7402dc9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
deleted file mode 100644
index 84e330d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_rem.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/progress_rem.gif
deleted file mode 100644
index 559e462..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_rem.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif
deleted file mode 100644
index ecd1be5..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_remall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif
deleted file mode 100644
index 4f3dcba..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/progress_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index c5c70e1..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
deleted file mode 100644
index e2ab9b0..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
deleted file mode 100644
index 8c92e4a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
deleted file mode 100644
index 0e83deb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showcomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
deleted file mode 100644
index 8a23317..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
deleted file mode 100644
index fff68f9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
deleted file mode 100644
index f707e71..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
deleted file mode 100644
index 319fe8d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
deleted file mode 100644
index 0e83deb..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif
deleted file mode 100644
index 62bdbe2..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif
deleted file mode 100644
index d4ce22b..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/up_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif b/bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif
deleted file mode 100644
index a492838..0000000
--- a/bundles/org.eclipse.ui/icons/full/dlcl16/view_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/clear_co.gif b/bundles/org.eclipse.ui/icons/full/dtool16/clear_co.gif
deleted file mode 100644
index 9ff6416..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
deleted file mode 100644
index 98626a8..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
deleted file mode 100644
index bd43144..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/cut_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
deleted file mode 100644
index 9e14298..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/delete_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
deleted file mode 100644
index 3f89cd9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/help_contents.gif b/bundles/org.eclipse.ui/icons/full/dtool16/help_contents.gif
deleted file mode 100644
index 74bf617..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/help_contents.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
deleted file mode 100644
index cd44741..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
deleted file mode 100644
index f656481..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
deleted file mode 100644
index 1c7668d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/paste_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif b/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
deleted file mode 100644
index eac7c8e..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
deleted file mode 100644
index 4d2722f..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/print_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
deleted file mode 100644
index 04e8840..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
deleted file mode 100644
index ad505a9..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/save_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
deleted file mode 100644
index ee1f41d..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/saveall_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
deleted file mode 100644
index df83a54..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/saveas_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
deleted file mode 100644
index c081984..0000000
--- a/bundles/org.eclipse.ui/icons/full/dtool16/undo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
deleted file mode 100644
index a5ac28d..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/addtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 4fb4150..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
deleted file mode 100644
index 1aca259..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif b/bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
deleted file mode 100644
index c064899..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/defaults_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif b/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
deleted file mode 100644
index 6fe6f0e..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index e2f8c3e..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
deleted file mode 100644
index cf62b63..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/gotoobj_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index 4472e8c..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.gif b/bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.gif
deleted file mode 100644
index 86550fe..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/linkto_help.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
deleted file mode 100644
index 7402dc9..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/min_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
deleted file mode 100644
index 381c4a9..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/pin_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/progress_rem.gif b/bundles/org.eclipse.ui/icons/full/elcl16/progress_rem.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/progress_rem.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif b/bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif
deleted file mode 100644
index 28a3785..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/progress_remall.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif b/bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif
deleted file mode 100644
index dc47edf..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/progress_stop.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 049cac6..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
deleted file mode 100644
index 3d4241b..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/selected_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
deleted file mode 100644
index 6514f7b..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showchild_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showcomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
deleted file mode 100644
index 2ff6678..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
deleted file mode 100644
index 96028b3..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showtsk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif b/bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
deleted file mode 100644
index 6c6bd58..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif b/bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
deleted file mode 100644
index e3a7cc7..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/step_current.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif b/bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/step_done.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif b/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_close_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/thin_close_view.gif
deleted file mode 100644
index 44b6151..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_close_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_hide_toolbar.GIF b/bundles/org.eclipse.ui/icons/full/elcl16/thin_hide_toolbar.GIF
deleted file mode 100644
index 5858e4a..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_hide_toolbar.GIF
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_max_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/thin_max_view.gif
deleted file mode 100644
index 94ed448..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_max_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_min_view.gif b/bundles/org.eclipse.ui/icons/full/elcl16/thin_min_view.gif
deleted file mode 100644
index bd2ed2d..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_min_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_restore_view.GIF b/bundles/org.eclipse.ui/icons/full/elcl16/thin_restore_view.GIF
deleted file mode 100644
index 942d60c..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_restore_view.GIF
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_show_toolbar.GIF b/bundles/org.eclipse.ui/icons/full/elcl16/thin_show_toolbar.GIF
deleted file mode 100644
index eda10ab..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_show_toolbar.GIF
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/thin_view_menu.GIF b/bundles/org.eclipse.ui/icons/full/elcl16/thin_view_menu.GIF
deleted file mode 100644
index 21ec7f1..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/thin_view_menu.GIF
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif b/bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif
deleted file mode 100644
index dda8bae..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/tree_mode.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif b/bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif
deleted file mode 100644
index 884952f..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/up_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif b/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
deleted file mode 100644
index a492838..0000000
--- a/bundles/org.eclipse.ui/icons/full/elcl16/view_menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/clear_co.gif b/bundles/org.eclipse.ui/icons/full/etool16/clear_co.gif
deleted file mode 100644
index 6bc10f9..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
deleted file mode 100644
index 71d7c95..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/copy_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
deleted file mode 100644
index d044e59..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/cut_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
deleted file mode 100644
index b6922ac..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/delete_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
deleted file mode 100644
index 5a0837d..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/help_contents.gif b/bundles/org.eclipse.ui/icons/full/etool16/help_contents.gif
deleted file mode 100644
index 9d70301..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/help_contents.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
deleted file mode 100644
index d38085a..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
deleted file mode 100644
index 7aea894..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
deleted file mode 100644
index 39dd4d9..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/paste_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif b/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
deleted file mode 100644
index dfc1dab..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/pin_editor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
deleted file mode 100644
index 04cb84b..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/print_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
deleted file mode 100644
index c84e5b1..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/redo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
deleted file mode 100644
index 499dd0c..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/save_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
deleted file mode 100644
index ef0eab5..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/saveall_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
deleted file mode 100644
index 466bfb1..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/saveas_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif b/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
deleted file mode 100644
index eae118a..0000000
--- a/bundles/org.eclipse.ui/icons/full/etool16/undo_edit.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif b/bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
deleted file mode 100644
index 8eefad3..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/bkmrk_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
deleted file mode 100644
index 6ff3783..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/default_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif b/bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
deleted file mode 100644
index 55ca8f3..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/defaultview_misc.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif b/bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
deleted file mode 100644
index 4b98a62..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/filenav_nav.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif b/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
deleted file mode 100644
index a47d473..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/new_persp.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif b/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
deleted file mode 100644
index 0dc862c..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/outline_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif b/bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif
deleted file mode 100644
index 807b28a..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/problems_view.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif b/bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
deleted file mode 100644
index d11c996..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif b/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
deleted file mode 100644
index d3d10f5..0000000
--- a/bundles/org.eclipse.ui/icons/full/eview16/tasks_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/activity.gif b/bundles/org.eclipse.ui/icons/full/obj16/activity.gif
deleted file mode 100644
index 7c3356c..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/activity.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif b/bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif
deleted file mode 100644
index 15c223e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/activity_category.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/add_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
deleted file mode 100644
index 82c7fbd..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/bkmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/blank.gif b/bundles/org.eclipse.ui/icons/full/obj16/blank.gif
deleted file mode 100644
index 0a64b75..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/blank.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif
deleted file mode 100644
index ce8bdb9..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/change_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/complete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/delete_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/delete_obj.gif
deleted file mode 100644
index b6922ac..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/delete_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
deleted file mode 100644
index 33be7d8..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/elements_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
deleted file mode 100644
index 9b048d6..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/error_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif b/bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
deleted file mode 100644
index 51e703b..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/fldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/font.gif b/bundles/org.eclipse.ui/icons/full/obj16/font.gif
deleted file mode 100644
index 6538949..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/font.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif b/bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif
deleted file mode 100644
index 5936511..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/header_complete.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/header_priority.gif b/bundles/org.eclipse.ui/icons/full/obj16/header_priority.gif
deleted file mode 100644
index 89e7925..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/header_priority.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif
deleted file mode 100644
index 609dbb7..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/hprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif
deleted file mode 100644
index f6b9f8a..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/incomplete_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif
deleted file mode 100644
index 2da001e..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/info_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/layout_co.gif b/bundles/org.eclipse.ui/icons/full/obj16/layout_co.gif
deleted file mode 100644
index c98cdd4..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/layout_co.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif
deleted file mode 100644
index a6815bc..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/lprio_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/menu.gif b/bundles/org.eclipse.ui/icons/full/obj16/menu.gif
deleted file mode 100644
index c46ec73..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/menu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif b/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif
deleted file mode 100644
index 2228dc8..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/submenu.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
deleted file mode 100644
index c73e332..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/taskmrk_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif b/bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif
deleted file mode 100644
index 68079f9..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/theme_category.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif b/bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif
deleted file mode 100644
index d8735b8..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/toolbar.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif b/bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
deleted file mode 100644
index 14009e9..0000000
--- a/bundles/org.eclipse.ui/icons/full/obj16/warn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif b/bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif
deleted file mode 100644
index 2f3b201..0000000
--- a/bundles/org.eclipse.ui/icons/full/ovr16/pinned_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/bottom_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp
deleted file mode 100644
index 4d243c6..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/bottom_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/invalid_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp
deleted file mode 100644
index b53df6f..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/invalid_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/left_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp
deleted file mode 100644
index 48d3098..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/left_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp
deleted file mode 100644
index 8fa7b96..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp
deleted file mode 100644
index 85de577..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/offscreen_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/right_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp
deleted file mode 100644
index 8bc50f4..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/right_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp
deleted file mode 100644
index 5bad51c..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/stack_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp
deleted file mode 100644
index 7a8fc84..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/stack_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp
deleted file mode 100644
index d461156..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/tofastview_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp b/bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp
deleted file mode 100644
index 22eb40d..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/top_mask.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp b/bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp
deleted file mode 100644
index 5255241..0000000
--- a/bundles/org.eclipse.ui/icons/full/pointer/top_source.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/errorstate.gif b/bundles/org.eclipse.ui/icons/full/progress/errorstate.gif
deleted file mode 100644
index a3b621b..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/errorstate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif b/bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif
deleted file mode 100644
index e637951..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/lockedstate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_error.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_error.gif
deleted file mode 100644
index 553252c..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_error.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_none.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_none.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_none.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif
deleted file mode 100644
index 0fc45ba..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_ok.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/progress_task.gif b/bundles/org.eclipse.ui/icons/full/progress/progress_task.gif
deleted file mode 100644
index 09d5848..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/progress_task.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/pview.gif b/bundles/org.eclipse.ui/icons/full/progress/pview.gif
deleted file mode 100644
index 4aa54a6..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/pview.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/sleeping.gif b/bundles/org.eclipse.ui/icons/full/progress/sleeping.gif
deleted file mode 100644
index 1683fca..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/sleeping.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/progress/waiting.gif b/bundles/org.eclipse.ui/icons/full/progress/waiting.gif
deleted file mode 100644
index 0930dac..0000000
--- a/bundles/org.eclipse.ui/icons/full/progress/waiting.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif
deleted file mode 100644
index 42bb23b..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/export_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif
deleted file mode 100644
index 1581898..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/exportdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif
deleted file mode 100644
index 0cbc9bd..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/exportzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif
deleted file mode 100644
index 3a62eb2..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif
deleted file mode 100644
index e2045ed..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/importdir_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif
deleted file mode 100644
index db114c8..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/importzip_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif
deleted file mode 100644
index ecd75f4..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/new_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif
deleted file mode 100644
index 136e94c..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/newfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif
deleted file mode 100644
index f988dc6..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/newfolder_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif
deleted file mode 100644
index dc7d3a7..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/saveas_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/saveas_wiz.gif
deleted file mode 100644
index 8074543..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/saveas_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif b/bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif
deleted file mode 100644
index b2beab0..0000000
--- a/bundles/org.eclipse.ui/icons/full/wizban/workset_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.ui/plugin.properties b/bundles/org.eclipse.ui/plugin.properties
deleted file mode 100644
index 9b8bbcc..0000000
--- a/bundles/org.eclipse.ui/plugin.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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 = Eclipse UI
-Plugin.providerName = Eclipse.org
-
-CarbonFragment.fragmentName=Eclipse UI MacOS X Enhancements
-
-ExtPoint.acceleratorConfigurations = Accelerator Configurations
-ExtPoint.acceleratorScopes = Accelerator Scopes
-ExtPoint.acceleratorSets = Accelerator Sets
-ExtPoint.actionDefinitions = Action Definitions
-ExtPoint.activities = Activities
-ExtPoint.actionSets = Action Sets
-ExtPoint.actionSetPartAssociations = Action Set Part Associations
-ExtPoint.commands = Commands
-ExtPoint.contexts = Contexts
-ExtPoint.decorators = Decorators
-ExtPoint.dropActions = Drop Actions
-ExtPoint.editorActions = Editor Menus and Actions
-ExtPoint.editors = Editors
-ExtPoint.elementFactories = Element Factories
-ExtPoint.encodings = Encodings
-ExtPoint.exportWizards = Export Wizards
-ExtPoint.fontDefinitions = Font Definitions
-ExtPoint.helpSupport = Help UI
-ExtPoint.importWizards = Import Wizards
-ExtPoint.intro = Introduction Extensions
-ExtPoint.keywords = Keywords
-ExtPoint.newWizards = Resource Creation Wizards
-ExtPoint.perspectiveExtensions = Perspective Extensions
-ExtPoint.perspectives = Perspectives
-ExtPoint.popupMenus = Popup Menus
-ExtPoint.preferencePages = Preference Pages
-ExtPoint.themes = Themes
-ExtPoint.presentationFactories = Presentation Factories
-ExtPoint.propertyPages = Property Pages
-ExtPoint.startup = Startup
-ExtPoint.systemSummarySections = System Summary Sections
-ExtPoint.viewActions = View Menus and Actions
-ExtPoint.views = Views
-ExtPoint.workingSets = Working set dialogs
-
-Views.Category.Basic = Basic
-Views.IntroAdapter = Welcome
-
-FontsPreference.BannerFontLabel = Banner Font
-FontsPreference.DialogFontLabel = Dialog Font
-FontsPreference.HeaderFontLabel = Header Font
-FontsPreference.TextFontLabel = Text Font
-FontsPreference.TitleFont = Part title font
-FontsPreference.ViewMessageFont = View message font
-FontsPreference.BannerFontDescription = The banner font is used in wizard banners.
-FontsPreference.DialogFontDescription  = The dialog font is the font for widgets in dialogs.
-FontsPreference.HeaderFontDescription  = The header font is used for section headers in composite text pages.
-FontsPreference.TextFontDescription  = The text font is used by text editors.
-FontsPreference.TitleFontDescription  = The font that is used for view and editor titles.  Please note that it is recommended that this font not be bold or italic because the workbench will use bold and italic versions of this font to display progress.
-FontsPreference.ViewMessageFontDescription = The font that is used for messages in the view title bar (if present).
-Presentation.misc=Basic
-Presentation.misc.desc=Basic colors and fonts used throughout workbench dialogs and editors.
-Presentation.default=Workbench
-Presentation.default.desc=Colors and fonts used by the default Eclipse presentation.
-Presentation.default.name=Default
-Presentation.olddefault.name=Old Default (Eclipse 3.0)
-Presentation.native.name=Native presentation (experimental)
-
-SystemSummary.sectionTitle.platform=Platform Details
-
-category.file.name=File
-category.file.description=
-category.edit.name=Edit
-category.edit.description=
-category.navigate.name=Navigate
-category.navigate.description=
-category.window.name=Window
-category.window.description=
-category.help.name=Help
-category.help.description=
-
-command.aboutAction.description = Open the about dialog
-command.aboutAction.name = About
-command.activateEditor.description = Activate the editor
-command.activateEditor.name = Activate Editor
-command.addBookmark.description = Add a bookmark
-command.addBookmark.name = Add Bookmark
-command.back.description = Navigate back
-command.back.name = Back
-command.backwardHistory.description = Move backward in the editor navigation history
-command.backwardHistory.name = Backward History
-command.close.description = Close the active editor
-command.close.name = Close
-command.closeAll.description = Close all editors
-command.closeAll.name = Close All
-command.closeAllPerspectives.description = Close all open perspectives
-command.closeAllPerspectives.name = Close All Perspectives
-command.closePerspective.description = Close the current perspective
-command.closePerspective.name = Close Perspective
-command.copy.description = Copy the selection to the clipboard
-command.copy.name = Copy
-command.customizePerspective.description = Customize the current perspective
-command.customizePerspective.name = Customize Perspective
-command.cut.description = Cut the selection to the clipboard
-command.cut.name = Cut
-command.delete.description = Delete the selection
-command.delete.name = Delete
-command.exit.description = Exit the application
-command.exit.name = Exit
-command.export.description = Export
-command.export.name = Export
-command.findReplace.description = Find and replace text
-command.findReplace.name = Find and Replace
-command.forward.description = Navigate forward
-command.forward.name = Forward
-command.forwardHistory.description = Move forward in the editor navigation history
-command.forwardHistory.name = Forward History
-command.goInto.description = Navigate into the selected item
-command.goInto.name = Go Into
-command.helpContents.description = Open the help contents
-command.helpContents.name = Help Contents
-command.hideShowEditors.description = Hide all editors
-command.hideShowEditors.name = Hide Editors
-command.import.description = Import
-command.import.name = Import
-command.lockToolBar.description = Lock the Toolbars
-command.lockToolBar.name = Lock the Toolbars
-command.maximizePart.name = Maximize Active View or Editor
-command.maximizePart.description = Toggles maximize/restore state of active view or editor
-command.minimizePart.name = Minimize Active View or Editor
-command.minimizePart.description = Minimizes the active view or editor
-command.move.description = Move the selected item
-command.move.name = Move
-command.newWizard.description = Open the New item wizard
-command.newWizard.name = New
-command.next.description = Navigate to the next item
-command.next.name = Next
-command.nextEditor.description = Switch to the next editor
-command.nextEditor.name = Next Editor
-command.nextPerspective.description = Switch to the next perspective
-command.nextPerspective.name = Next Perspective
-command.nextView.description = Switch to the next view
-command.nextView.name = Next View
-command.openEditorDropDown.description = Open the editor drop down list
-command.openEditorDropDown.name = Open Editor Drop Down
-command.paste.description = Paste from the clipboard
-command.paste.name = Paste
-command.pinEditor.description = Pin the current editor
-command.pinEditor.name = Pin Editor
-command.preferences.description = Open the preferences dialog
-command.preferences.name = Preferences
-command.previous.description = Navigate to the previous item
-command.previous.name = Previous
-command.previousEditor.description = Switch to the previous editor
-command.previousEditor.name = Previous Editor
-command.previousPerspective.description = Switch to the previous perspective
-command.previousPerspective.name = Previous Perspective
-command.previousView.description = Switch to the previous view
-command.previousView.name = Previous View
-command.print.description = Print
-command.print.name = Print
-command.properties.description = Display the properties of the selected item
-command.properties.name = Properties
-command.quickStart.description = Open a welcome page
-command.quickStart.name = Welcome
-command.redo.description = Redo the last operation
-command.redo.name = Redo
-command.refresh.description = Refresh the selected items
-command.refresh.name = Refresh
-command.rename.description = Rename the selected item
-command.rename.name = Rename
-command.resetPerspective.description = Reset the current perspective to its default state
-command.resetPerspective.name = Reset Perspective
-command.revert.description = Revert to the last saved state
-command.revert.name = Revert
-command.save.description = Save the current contents
-command.save.name = Save
-command.saveAll.description = Save all current contents
-command.saveAll.name = Save All
-command.saveAs.description = Save the current contents to another location
-command.saveAs.name = Save As
-command.savePerspective.description = Save the current perspective
-command.savePerspective.name = Save Perspective As
-command.selectAll.description = Select all
-command.selectAll.name = Select All
-command.showKeyAssist.description = Show the key assist dialog
-command.showKeyAssist.name = Show Key Assist
-command.showSystemMenu.description = Show the system menu
-command.showSystemMenu.name = Show System Menu
-command.showViewMenu.description = Show the view menu
-command.showViewMenu.name = Show View Menu
-command.switchToEditor.description = Switch to an editor
-command.switchToEditor.name = Switch to Editor
-command.tipsAndTricks.description = Open the tips and tricks help page
-command.tipsAndTricks.name = Tips and Tricks
-command.undo.description = Undo the last operation
-command.undo.name = Undo
-command.up.description = Navigate up one level
-command.up.name = Up
-
-context.editingText.description = Editing Text Context
-context.editingText.name = Editing Text
-context.dialogAndWindow.name = In Dialogs and Windows
-context.dialogAndWindow.description = Either a dialog or a window is open
-context.dialog.name = In Dialogs
-context.dialog.description = A dialog is open
-context.window.name = In Windows
-context.window.description = A window is open
-
-keyConfiguration.default.description = Default Key Configuration
-keyConfiguration.default.name = Default
-keyConfiguration.emacs.description = Emacs Key Configuration
-keyConfiguration.emacs.name = Emacs
-
-Color.activeTabText=Active part foreground
-Color.activeTabTextDesc=The color used for active view and editor title text.
-Color.activeNofocusTabText=Active (non-focus) part foreground
-Color.activeNofocusTabTextDesc=The color used for active (but without focus) view and editor title text.
-Color.inactiveTabText=Inactive part foreground
-Color.inactiveTabTextDesc=The color used for inactive view and editor title text.
-
-Color.activeTabBGStart=Active part background begin
-Color.activeTabBGEnd=Active part background end
-Color.activeTabBGStartDesc=The first color used for active view and editor title gradients.
-Color.activeTabBGEndDesc=The second color used for active view and editor title gradients.
-Color.activeNofocusTabBGStart=Active (non-focus) part background begin
-Color.activeNofocusTabBGEnd=Active (non-focus) part background end
-Color.activeNofocusTabBGStartDesc=The first color used for active (but without focus) view and editor title gradients.
-Color.activeNofocusTabBGEndDesc=The second color used for active (but without focus) view and editor title gradients.
-Color.inactiveTabBGStart=Inactive part background begin
-Color.inactiveTabBGEnd=Inactive part background end
-Color.inactiveTabBGStartDesc=The first color used for inactive view and editor title gradients.  This color is also used for active editors that do not have focus.
-Color.inactiveTabBGEndDesc=The second color used for inactive view and editor title gradients.  This color is also used for the view menu background.
-
-Color.errorText=Error text color
-Color.errorTextDesc=Color used to show error messages.
-Color.hyperlinkText=Hyperlink text color
-Color.hyperlinkTextDesc=Color used to show links.
-Color.activeHyperlinkText=Active hyperlink text color
-Color.activeHyperlinkTextDesc=Color used to show active links.
diff --git a/bundles/org.eclipse.ui/plugin.xml b/bundles/org.eclipse.ui/plugin.xml
deleted file mode 100644
index 8a53c43..0000000
--- a/bundles/org.eclipse.ui/plugin.xml
+++ /dev/null
@@ -1,1404 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.internal.UIPlugin">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.swt" export="true"/>
-      <import plugin="org.eclipse.jface" export="true"/>
-      <import plugin="org.eclipse.ui.workbench" export="true"/>
-   </requires>
-
-
-<!-- Workbench extension points -->
-   <extension-point id="acceleratorConfigurations" name="%ExtPoint.acceleratorConfigurations" schema="schema/acceleratorConfigurations.exsd"/>
-   <extension-point id="acceleratorScopes" name="%ExtPoint.acceleratorScopes" schema="schema/acceleratorScopes.exsd"/>
-   <extension-point id="acceleratorSets" name="%ExtPoint.acceleratorSets" schema="schema/acceleratorSets.exsd"/>
-   <extension-point id="actionDefinitions" name="%ExtPoint.actionDefinitions" schema="schema/actionDefinitions.exsd"/>
-   <extension-point id="activities" name="%ExtPoint.activities" schema="schema/activities.exsd"/>
-   <extension-point id="actionSetPartAssociations" name="%ExtPoint.actionSetPartAssociations" schema="schema/actionSetPartAssociations.exsd"/>
-   <extension-point id="actionSets" name="%ExtPoint.actionSets" schema="schema/actionSets.exsd"/>
-   <extension-point id="commands" name="%ExtPoint.commands" schema="schema/commands.exsd"/>
-   <extension-point id="contexts" name="%ExtPoint.contexts" schema="schema/contexts.exsd"/>
-   <extension-point id="decorators" name="%ExtPoint.decorators" schema="schema/decorators.exsd"/>
-   <extension-point id="dropActions" name="%ExtPoint.dropActions" schema="schema/dropActions.exsd"/>
-   <extension-point id="editorActions" name="%ExtPoint.editorActions" schema="schema/editorActions.exsd"/>
-   <extension-point id="editors" name="%ExtPoint.editors" schema="schema/editors.exsd"/>
-   <extension-point id="elementFactories" name="%ExtPoint.elementFactories" schema="schema/elementFactories.exsd"/>
-   <extension-point id="encodings" name="%ExtPoint.encodings" schema="schema/encodings.exsd"/>
-   <extension-point id="exportWizards" name="%ExtPoint.exportWizards" schema="schema/exportWizards.exsd"/>
-   <extension-point id="fontDefinitions" name="%ExtPoint.fontDefinitions" schema="schema/fontDefinitions.exsd"/>
-   <extension-point id="helpSupport" name="%ExtPoint.helpSupport" schema="schema/helpSupport.exsd"/>
-   <extension-point id="importWizards" name="%ExtPoint.importWizards" schema="schema/importWizards.exsd"/>
-   <extension-point id="intro" name="%ExtPoint.intro" schema="schema/intro.exsd"/>
-   <extension-point id="keywords" name="%ExtPoint.keywords" schema="schema/keywords.exsd"/>
-   <extension-point id="newWizards" name="%ExtPoint.newWizards" schema="schema/newWizards.exsd"/>
-   <extension-point id="perspectiveExtensions" name="%ExtPoint.perspectiveExtensions" schema="schema/perspectiveExtensions.exsd"/>
-   <extension-point id="perspectives" name="%ExtPoint.perspectives" schema="schema/perspectives.exsd"/>
-   <extension-point id="popupMenus" name="%ExtPoint.popupMenus" schema="schema/popupMenus.exsd"/>
-   <extension-point id="preferencePages" name="%ExtPoint.preferencePages" schema="schema/preferencePages.exsd"/>
-   <extension-point id="presentationFactories" name="%ExtPoint.presentationFactories" schema="schema/presentationFactories.exsd"/>
-   <extension-point id="propertyPages" name="%ExtPoint.propertyPages" schema="schema/propertyPages.exsd"/>
-   <extension-point id="startup" name="%ExtPoint.startup" schema="schema/startup.exsd"/>
-   <extension-point id="systemSummarySections" name="%ExtPoint.systemSummarySections" schema="schema/systemSummarySections.exsd"/>
-   <extension-point id="themes" name="%ExtPoint.themes" schema="schema/themes.exsd"/>
-   <extension-point id="viewActions" name="%ExtPoint.viewActions" schema="schema/viewActions.exsd"/>
-   <extension-point id="views" name="%ExtPoint.views" schema="schema/views.exsd"/>
-   <extension-point id="workingSets" name="%ExtPoint.workingSets" schema="schema/workingSets.exsd"/>
-
-   <extension
-         point="org.eclipse.ui.contexts">
-      <context
-            name="%context.editingText.name"
-            description="%context.editingText.description"
-            id="org.eclipse.ui.textEditorScope"
-            parentId="org.eclipse.ui.contexts.window">
-      </context>
-<!-- This is the root context.  Basically, all key bindings should have
-           this context as their parent.  Key bindings in this context will
-           apply to both windows and dialogs.
-        -->
-      <context
-            name="%context.dialogAndWindow.name"
-            description="%context.dialogAndWindow.description"
-            id="org.eclipse.ui.contexts.dialogAndWindow">
-      </context>
-<!-- This is the root context for key bindings that should apply in
-           windows (e.g., IWorkbenchWindow).  Key bindings in this context
-           will only apply to windows (not dialogs).
-        -->
-      <context
-            name="%context.window.name"
-            description="%context.window.description"
-            id="org.eclipse.ui.contexts.window"
-            parentId="org.eclipse.ui.contexts.dialogAndWindow">
-      </context>
-<!-- This is the root context for key bindings that should apply in
-           dialogs (e.g., shells without parents).  Key bindings in this
-           context will only apply to dialogs (not windows).
-        -->
-      <context
-            name="%context.dialog.name"
-            description="%context.dialog.description"
-            id="org.eclipse.ui.contexts.dialog"
-            parentId="org.eclipse.ui.contexts.dialogAndWindow">
-      </context>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <activeKeyConfiguration
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </activeKeyConfiguration>
-      <category
-            name="%category.file.name"
-            description="%category.file.description"
-            id="org.eclipse.ui.category.file">
-      </category>
-      <category
-            name="%category.edit.name"
-            description="%category.edit.description"
-            id="org.eclipse.ui.category.edit">
-      </category>
-      <category
-            name="%category.navigate.name"
-            description="%category.navigate.description"
-            id="org.eclipse.ui.category.navigate">
-      </category>
-      <category
-            name="%category.window.name"
-            description="%category.window.description"
-            id="org.eclipse.ui.category.window">
-      </category>
-      <category
-            name="%category.help.name"
-            description="%category.help.description"
-            id="org.eclipse.ui.category.help">
-      </category>
-      <command
-            name="%command.helpContents.name"
-            description="%command.helpContents.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.helpContents">
-      </command>
-      <command
-            name="%command.quickStart.name"
-            description="%command.quickStart.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.quickStartAction">
-      </command>
-      <command
-            name="%command.tipsAndTricks.name"
-            description="%command.tipsAndTricks.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.tipsAndTricksAction">
-      </command>
-      <command
-            name="%command.aboutAction.name"
-            description="%command.aboutAction.description"
-            categoryId="org.eclipse.ui.category.help"
-            id="org.eclipse.ui.help.aboutAction">
-      </command>
-      <command
-            name="%command.newWizard.name"
-            description="%command.newWizard.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.newWizard">
-      </command>
-      <command
-            name="%command.close.name"
-            description="%command.close.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.close">
-      </command>
-      <command
-            name="%command.closeAll.name"
-            description="%command.closeAll.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.closeAll">
-      </command>
-      <command
-            name="%command.import.name"
-            description="%command.import.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.import">
-      </command>
-      <command
-            name="%command.export.name"
-            description="%command.export.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.export">
-      </command>
-      <command
-            name="%command.save.name"
-            description="%command.save.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.save">
-      </command>
-      <command
-            name="%command.saveAs.name"
-            description="%command.saveAs.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.saveAs">
-      </command>
-      <command
-            name="%command.saveAll.name"
-            description="%command.saveAll.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.saveAll">
-      </command>
-      <command
-            name="%command.print.name"
-            description="%command.print.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.print">
-      </command>
-      <command
-            name="%command.revert.name"
-            description="%command.revert.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.revert">
-      </command>
-      <command
-            name="%command.refresh.name"
-            description="%command.refresh.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.refresh">
-      </command>
-      <command
-            name="%command.properties.name"
-            description="%command.properties.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.properties">
-      </command>
-      <command
-            name="%command.exit.name"
-            description="%command.exit.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.file.exit">
-      </command>
-      <command
-            name="%command.undo.name"
-            description="%command.undo.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.undo">
-      </command>
-      <command
-            name="%command.redo.name"
-            description="%command.redo.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.redo">
-      </command>
-      <command
-            name="%command.cut.name"
-            description="%command.cut.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.cut">
-      </command>
-      <command
-            name="%command.copy.name"
-            description="%command.copy.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.copy">
-      </command>
-      <command
-            name="%command.paste.name"
-            description="%command.paste.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.paste">
-      </command>
-      <command
-            name="%command.delete.name"
-            description="%command.delete.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.delete">
-      </command>
-      <command
-            name="%command.move.name"
-            description="%command.move.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.edit.move">
-      </command>
-      <command
-            name="%command.rename.name"
-            description="%command.rename.description"
-            categoryId="org.eclipse.ui.category.file"
-            id="org.eclipse.ui.edit.rename">
-      </command>
-      <command
-            name="%command.selectAll.name"
-            description="%command.selectAll.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.selectAll">
-      </command>
-      <command
-            name="%command.findReplace.name"
-            description="%command.findReplace.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.findReplace">
-      </command>
-      <command
-            name="%command.addBookmark.name"
-            description="%command.addBookmark.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.ui.edit.addBookmark">
-      </command>
-      <command
-            name="%command.goInto.name"
-            description="%command.goInto.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.goInto">
-      </command>
-      <command
-            name="%command.back.name"
-            description="%command.back.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.back">
-      </command>
-      <command
-            name="%command.forward.name"
-            description="%command.forward.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.forward">
-      </command>
-      <command
-            name="%command.up.name"
-            description="%command.up.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.up">
-      </command>
-      <command
-            name="%command.next.name"
-            description="%command.next.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.next">
-      </command>
-      <command
-            name="%command.backwardHistory.name"
-            description="%command.backwardHistory.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.backwardHistory">
-      </command>
-      <command
-            name="%command.forwardHistory.name"
-            description="%command.forwardHistory.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.forwardHistory">
-      </command>
-      <command
-            name="%command.previous.name"
-            description="%command.previous.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.ui.navigate.previous">
-      </command>
-      <command
-            name="%command.openEditorDropDown.name"
-            description="%command.openEditorDropDown.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.openEditorDropDown">
-      </command>
-      <command
-            name="%command.switchToEditor.name"
-            description="%command.switchToEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.switchToEditor">
-      </command>
-      <command
-            name="%command.showSystemMenu.name"
-            description="%command.showSystemMenu.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.showSystemMenu">
-      </command>
-      <command
-            name="%command.showViewMenu.name"
-            description="%command.showViewMenu.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.showViewMenu">
-      </command>
-      <command
-            name="%command.activateEditor.name"
-            description="%command.activateEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.activateEditor">
-      </command>
-      <command
-            name="%command.maximizePart.name"
-            description="%command.maximizePart.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.maximizePart">
-      </command>
-      <command
-            name="%command.minimizePart.name"
-            description="%command.minimizePart.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.minimizePart">
-      </command>  
-      <command
-            name="%command.nextEditor.name"
-            description="%command.nextEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.nextEditor">
-      </command>
-      <command
-            name="%command.previousEditor.name"
-            description="%command.previousEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.previousEditor">
-      </command>
-      <command
-            name="%command.nextView.name"
-            description="%command.nextView.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.nextView">
-      </command>
-      <command
-            name="%command.previousView.name"
-            description="%command.previousView.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.previousView">
-      </command>
-      <command
-            name="%command.nextPerspective.name"
-            description="%command.nextPerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.nextPerspective">
-      </command>
-      <command
-            name="%command.previousPerspective.name"
-            description="%command.previousPerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.previousPerspective">
-      </command>
-      <command
-            name="%command.closeAllPerspectives.name"
-            description="%command.closeAllPerspectives.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.closeAllPerspectives">
-      </command>
-      <command
-            name="%command.closePerspective.name"
-            description="%command.closePerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.closePerspective">
-      </command>
-      <command
-            name="%command.customizePerspective.name"
-            description="%command.customizePerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.customizePerspective">
-      </command>
-      <command
-            name="%command.hideShowEditors.name"
-            description="%command.hideShowEditors.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.hideShowEditors">
-      </command>
-      <command
-            name="%command.lockToolBar.name"
-            description="%command.lockToolBar.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.lockToolBar">
-      </command>
-      <command
-            name="%command.pinEditor.name"
-            description="%command.pinEditor.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.pinEditor">
-      </command>
-      <command
-            name="%command.preferences.name"
-            description="%command.preferences.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.preferences">
-      </command>
-      <command
-            name="%command.resetPerspective.name"
-            description="%command.resetPerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.resetPerspective">
-      </command>
-      <command
-            name="%command.savePerspective.name"
-            description="%command.savePerspective.description"
-            categoryId="org.eclipse.ui.category.window"
-            id="org.eclipse.ui.window.savePerspective">
-      </command>
-      <command
-      		name="%command.showKeyAssist.name"
-      		description="%command.showKeyAssist.description"
-      		categoryId="org.eclipse.ui.category.window"
-      		id="org.eclipse.ui.window.showKeyAssist">
-      </command>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.copy"
-            handler="org.eclipse.ui.internal.commands.ws.WidgetMethodHandler:copy">
-      </handlerSubmission>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.cut"
-            handler="org.eclipse.ui.internal.commands.ws.WidgetMethodHandler:cut">
-      </handlerSubmission>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.paste"
-            handler="org.eclipse.ui.internal.commands.ws.WidgetMethodHandler:paste">
-      </handlerSubmission>
-      <handlerSubmission
-            commandId="org.eclipse.ui.edit.selectAll"
-            handler="org.eclipse.ui.internal.commands.ws.SelectAllHandler">
-      </handlerSubmission>
-      <handlerSubmission
-      		commandId="org.eclipse.ui.window.showKeyAssist"
-      		handler="org.eclipse.ui.internal.commands.ws.ShowKeyAssistHandler">
-      </handlerSubmission>
-      <keyBinding
-            commandId="org.eclipse.ui.newWizard"
-            keySequence="Ctrl+N"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keySequence="M1+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keySequence="Ctrl+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.closeAll"
-            keySequence="M1+M2+W"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.closeAll"
-            keySequence="Ctrl+Shift+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.save"
-            keySequence="Ctrl+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.saveAll"
-            keySequence="Ctrl+Shift+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.rename"
-            keySequence="F2"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            keySequence="Ctrl+P"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.properties"
-            keySequence="Alt+Cr"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.refresh"
-            keySequence="F5"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="Ctrl+Z"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="Ctrl+Y"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+X"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+C"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+V"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.selectAll"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="M1+A"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.delete"
-            keySequence="DEL"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            keySequence="Ctrl+F"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.next"
-            keySequence="Ctrl+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.previous"
-            keySequence="Ctrl+,"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.backwardHistory"
-            keySequence="Alt+Arrow_Left"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.forwardHistory"
-            keySequence="Alt+Arrow_Right"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.openEditorDropDown"
-            keySequence="M1+E"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.switchToEditor"
-            keySequence="M1+M2+E"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="gtk"
-            keySequence="M1+M2+E"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.switchToEditor"
-            platform="gtk"
-            keySequence="ESC M1+E"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.showSystemMenu"
-            keySequence="Alt+-"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.showViewMenu"
-            keySequence="Ctrl+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.activateEditor"
-            keySequence="F12"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.maximizePart"
-            keySequence="Ctrl+M"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextEditor"
-            keySequence="Ctrl+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousEditor"
-            keySequence="Ctrl+Shift+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextView"
-            keySequence="Ctrl+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousView"
-            keySequence="Ctrl+Shift+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextPerspective"
-            keySequence="Ctrl+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousPerspective"
-            keySequence="Ctrl+Shift+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F4"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+P"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Z"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Y"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+X"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+C"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+V"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+A"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+R"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+,"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+B"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            platform="carbon"
-            keySequence="Ctrl+Shift+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.save"
-            platform="carbon"
-            keySequence="Command+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.saveAll"
-            platform="carbon"
-            keySequence="Command+Shift+S"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            platform="carbon"
-            keySequence="Command+P"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            platform="carbon"
-            keySequence="Command+Z"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            platform="carbon"
-            keySequence="Command+Y"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            platform="carbon"
-            keySequence="Command+F"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.next"
-            platform="carbon"
-            keySequence="Command+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.navigate.previous"
-            platform="carbon"
-            keySequence="Command+Shift+."
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.showViewMenu"
-            platform="carbon"
-            keySequence="Command+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextEditor"
-            platform="carbon"
-            keySequence="Command+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousEditor"
-            platform="carbon"
-            keySequence="Command+Shift+F6"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextView"
-            platform="carbon"
-            keySequence="Command+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousView"
-            platform="carbon"
-            keySequence="Command+Shift+F7"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.nextPerspective"
-            platform="carbon"
-            keySequence="Command+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.previousPerspective"
-            platform="carbon"
-            keySequence="Command+Shift+F8"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            platform="gtk"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Del"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            platform="gtk"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            platform="gtk"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            platform="motif"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Del"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            platform="motif"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            platform="motif"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Insert"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-      		commandId="org.eclipse.ui.window.showKeyAssist"
-      		contextId="org.eclipse.ui.contexts.dialogAndWindow"
-      		keySequence="M1+M2+L"
-      		keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keySequence="Ctrl+X K"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.closeAll"
-            keySequence="Ctrl+X Ctrl+C"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.save"
-            keySequence="Ctrl+X Ctrl+S"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.saveAll"
-            keySequence="Ctrl+X S"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            keySequence="Alt+F9"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.print"
-            keySequence="Esc F9"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="F9"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="Ctrl+X U"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.undo"
-            keySequence="Ctrl+Shift+-"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="F10"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="Ctrl+X R"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.redo"
-            keySequence="Ctrl+Shift++"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.file.close"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+W"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.cut"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Del"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Alt+W"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Esc W"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.copy"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Ins"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+Y"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.paste"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Shift+Ins"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.selectAll"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            keySequence="Ctrl+X H"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            keySequence="Alt+R"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.edit.findReplace"
-            keySequence="Esc R"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.openEditorDropDown"
-            keySequence="M1+X B"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-            commandId="org.eclipse.ui.window.switchToEditor"
-            keySequence="Ctrl+X Ctrl+B"
-            keyConfigurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyBinding>
-      <keyConfiguration
-            name="%keyConfiguration.default.name"
-            description="%keyConfiguration.default.description"
-            id="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyConfiguration>
-      <keyConfiguration
-            name="%keyConfiguration.emacs.name"
-            description="%keyConfiguration.emacs.description"
-            parentId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            id="org.eclipse.ui.emacsAcceleratorConfiguration">
-      </keyConfiguration>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.Category.Basic"
-            id="org.eclipse.ui">
-      </category>
-      <view
-            class="org.eclipse.ui.internal.ViewIntroAdapterPart"
-            category="org.eclipse.ui"
-            name="%Views.IntroAdapter"
-            id="org.eclipse.ui.internal.introview">
-      </view>
-      <stickyView
-      		location="RIGHT"
-            id="org.eclipse.ui.internal.introview">
-      </stickyView>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.ui.internal.WorkingSetFactory"
-            id="org.eclipse.ui.internal.WorkingSetFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.themes">
-<!-- do not add to this category!  This is bound to the default presentation and will disappear if another presentation is used. -->
-      <themeElementCategory
-            label="%Presentation.default"
-            class="org.eclipse.ui.internal.themes.WorkbenchPreview"
-            id="org.eclipse.ui.presentation.default">
-         <description>
-            %Presentation.default.desc
-         </description>
-      </themeElementCategory>
-      <themeElementCategory
-            label="%Presentation.misc"
-            id="org.eclipse.ui.workbenchMisc">
-         <description>
-            %Presentation.misc.desc
-         </description>
-      </themeElementCategory>
-      <categoryPresentationBinding
-            categoryId="org.eclipse.ui.presentation.default"
-            presentationId="org.eclipse.ui.presentations.default">
-      </categoryPresentationBinding>
-      <fontDefinition
-            label="%FontsPreference.BannerFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.bannerfont">
-         <description>
-            %FontsPreference.BannerFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.DialogFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.dialogfont">
-         <description>
-            %FontsPreference.DialogFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.HeaderFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.headerfont">
-         <description>
-            %FontsPreference.HeaderFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.TextFontLabel"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.jface.textfont">
-         <description>
-            %FontsPreference.TextFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.TitleFont"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.TAB_TEXT_FONT">
-         <description>
-            %FontsPreference.TitleFontDescription
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%FontsPreference.ViewMessageFont"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.VIEW_MESSAGE_TEXT_FONT">
-         <description>
-            %FontsPreference.ViewMessageFontDescription
-         </description>
-      </fontDefinition>
-      <colorDefinition
-            label="%Color.errorText"
-            value="COLOR_RED"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="ERROR_COLOR">
-         <description>
-            %Color.errorTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.hyperlinkText"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            value="COLOR_DARK_BLUE"
-            id="HYPERLINK_COLOR">
-         <description>
-            %Color.hyperlinkTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeHyperlinkText"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            value="COLOR_BLUE"
-            id="ACTIVE_HYPERLINK_COLOR">
-         <description>
-            %Color.activeHyperlinkTextDesc
-         </description>
-      </colorDefinition>
-<!-- Active Tab Colors -->
-      <colorDefinition
-            label="%Color.activeTabText"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_TITLE_FOREGROUND"
-            id="org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR">
-         <description>
-            %Color.activeTabTextDesc
-         </description>
-         <colorValue
-               ws="motif"
-               value="COLOR_TITLE_INACTIVE_FOREGROUND">
-         </colorValue>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeTabBGEnd"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_END">
-         <colorFactory
-               plugin="org.eclipse.ui"
-               class="org.eclipse.ui.themes.RGBBlendColorFactory">
-            <parameter
-                  name="color1"
-                  value="COLOR_TITLE_BACKGROUND_GRADIENT">
-            </parameter>
-            <parameter
-                  name="color2"
-                  value="COLOR_TITLE_BACKGROUND_GRADIENT">
-            </parameter>
-         </colorFactory>
-         <description>
-            %Color.activeTabBGEndDesc
-         </description>
-         <colorValue
-               ws="motif"
-               value="COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT">
-         </colorValue>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeTabBGStart"
-            value="COLOR_TITLE_BACKGROUND"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.ACTIVE_TAB_BG_START">
-         <description>
-            %Color.activeTabBGStartDesc
-         </description>
-         <colorValue
-               ws="motif"
-               value="COLOR_TITLE_INACTIVE_BACKGROUND">
-         </colorValue>
-      </colorDefinition>
-<!-- Active (Nofocus) Tab Colors -->
-      <colorDefinition
-            label="%Color.activeNofocusTabText"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_TITLE_INACTIVE_FOREGROUND"
-            id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR">
-         <description>
-            %Color.activeNofocusTabTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeNofocusTabBGEnd"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT"
-            id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END">
-         <description>
-            %Color.activeNofocusTabBGEndDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.activeNofocusTabBGStart"
-            value="COLOR_TITLE_INACTIVE_BACKGROUND"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START">
-         <description>
-            %Color.activeNofocusTabBGStartDesc
-         </description>
-      </colorDefinition>      
-<!-- Inactive Tab Colors -->
-      <colorDefinition
-            label="%Color.inactiveTabText"
-            categoryId="org.eclipse.ui.presentation.default"
-            value="COLOR_WIDGET_FOREGROUND"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_TEXT_COLOR">
-         <description>
-            %Color.inactiveTabTextDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.inactiveTabBGStart"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_START">
-         <colorFactory
-               plugin="org.eclipse.ui"
-               class="org.eclipse.ui.internal.themes.RGBContrastFactory">
-            <parameter
-                  name="foreground"
-                  value="COLOR_WIDGET_FOREGROUND">
-            </parameter>
-            <parameter
-                  name="background1"
-                  value="COLOR_WHITE">
-            </parameter>
-            <parameter
-                  name="background2"
-                  value="COLOR_WIDGET_BACKGROUND">
-            </parameter>
-         </colorFactory>
-         <description>
-            %Color.inactiveTabBGStartDesc
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%Color.inactiveTabBGEnd"
-            value="COLOR_WIDGET_BACKGROUND"
-            categoryId="org.eclipse.ui.presentation.default"
-            id="org.eclipse.ui.workbench.INACTIVE_TAB_BG_END">
-         <description>
-            %Color.inactiveTabBGEndDesc
-         </description>
-      </colorDefinition>
-<!-- percentage value for the active tab gradient -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_TAB_PERCENT"
-            value="100">
-      </data>
-<!-- percentage value for the active (nofocus) tab gradient -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_PERCENT"
-            value="100">
-      </data>      
-<!-- percentage value for the inactive tab gradient -->
-      <data
-            name="org.eclipse.ui.workbench.INACTIVE_TAB_PERCENT"
-            value="100">
-      </data>
-<!-- whether the active gradient is vertical -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_TAB_VERTICAL"
-            value="true">
-      </data>
-<!-- whether the active (nofocus) gradient is vertical -->
-      <data
-            name="org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_VERTICAL"
-            value="true">
-      </data>      
-<!-- whether the inactive gradient is vertical -->
-      <data
-            name="org.eclipse.ui.workbench.INACTIVE_TAB_VERTICAL"
-            value="true">
-      </data>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.ui.internal.UIPreferenceInitializer">
-      </initializer>
-   </extension>
-   <extension
-         point="org.eclipse.ui.systemSummarySections">
-      <section
-            sectionTitle="%SystemSummary.sectionTitle.platform"
-            class="org.eclipse.ui.internal.about.ConfigurationLogDefaultSection"
-            id="10.DefaultSection">
-      </section>
-   </extension>
-   <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            name="%Presentation.default.name"
-            class="org.eclipse.ui.presentations.WorkbenchPresentationFactory"
-            id="org.eclipse.ui.presentations.default">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.encodings">
-      <encoding name="ISO-8859-1"/>
-      <encoding name="UTF-8"/>
-      <encoding name="UTF-16"/>
-      <encoding name="UTF-16BE"/>
-      <encoding name="UTF-16LE"/>
-      <encoding name="US-ASCII"/>
-   </extension>
-   <!--
-      <extension
-         point="org.eclipse.ui.presentationFactories">
-      <factory
-            class="org.eclipse.ui.internal.presentations.defaultpresentation.NativePresentationFactory"
-            name="%Presentation.native.name"
-            id="org.eclipse.ui.internal.presentations.defaultpresentation.NativePresentationFactory"/>
-   </extension>
-   -->
-   
-</plugin>
diff --git a/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd b/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
deleted file mode 100644
index 35d4054..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorConfigurations.exsd
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="acceleratorConfigurations" name="Accelerator Configurations"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-This extension point is used to register accelerator configuration extensions. Accelerator configurations are configurations to which accelerator sets may be registered. The workbench allows the user to select an accelerator configuration from the Workbench preference page. Only one accelerator configuration may be active at a time. 
-&lt;p&gt;
-An accelerator configuration represents a general style or theme of accelerators for Workbench actions. For example, the Workbench provides the &quot;Emacs&quot; accelerator configuration. When the &quot;Emacs&quot; accelerator configuration is active, accelerators belonging to accelerator sets registered to the &quot;Emacs&quot; configuration are active. These accelerators are defined to mimic the accelerators in Emacs (a popular text editor amongst developers). 
-&lt;p&gt;
-An accelerator set registers with an accelerator configuration by listing the configuration&apos;s id as the value of its &quot;configurationId&quot; attribute (see the Accelerator Sets extension point). Many accelerator sets can be registered to the same accelerator configuration. 
-&lt;p&gt;
-Note the accelerator configuration name presented to the user is the same as the value of the attribute &quot;name&quot; of the extension element of org.eclipse.ui.acceleratorConfigurations extension point.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="acceleratorConfiguration" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="acceleratorConfiguration">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this accelerator configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the accelerator configuration to be presented to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a short description of the accelerator configuration.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of an accelerator configuration extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorConfigurations&quot;&gt; 
-      &lt;acceleratorConfiguration 
-        id=&quot;org.eclipse.ui.viAcceleratorConfiguration&quot; 
-        name=&quot;VI&quot; 
-        description=&quot;VI style accelerator configuration&quot;&gt; 
-      &lt;/acceleratorConfiguration&gt; 
-      &lt;acceleratorConfiguration 
-        id=&quot;org.eclipse.ui.jonDoeAcceleratorConfiguration&quot; 
-        name=&quot;Jon Doe&quot; 
-        description=&quot;Personal accelerator configuration for Jon Doe&quot;&gt; 
-      &lt;/acceleratorConfiguration&gt; 
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides the Default and Emacs accelerator configurations.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd b/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
deleted file mode 100644
index c279a77..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorScopes.exsd
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="acceleratorScopes" name="Accelerator Scopes"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-This extension point is used to register accelerator scope extensions. Accelerator scopes are scopes for which accelerator sets may be applicable. For example, if an accelerator set is applicable for the scope entitled &quot;Text Editor Scope&quot;, the accelerators of that accelerator set will only operate if the &quot;Text Editor Scope&quot; or one of its children is active (in other words, if the active part is a participating text editor). 
-&lt;p&gt;
-An accelerator set declares what scope it is applicable for by listing the scope&apos;s id as the value of its &quot;scopeId&quot; attribute (see the Accelerator Sets extension point). Many accelerator sets can be applicable for the same accelerator scope.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="acceleratorScope" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="acceleratorScope">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this accelerator scope.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the accelerator scope.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a short description of the accelerator scope.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parentScope" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute which represents a scope which is active whenever this scope is active. For most scopes, org.eclipse.ui.globalScope will be the parent scope
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of an accelerator scope extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorScopes&quot;&gt; 
-      &lt;acceleratorScope 
-        id=&quot;org.eclipse.ui.globalScope&quot; 
-        name=&quot;Global&quot; 
-        description=&quot;Action accelerator key applicable to all views and editors unless explicitly overridden.&quot;&gt; 
-      &lt;/acceleratorScope&gt; 
-      &lt;acceleratorScope 
-        id=&quot;org.eclipse.ui.javaEditorScope&quot; 
-        name=&quot;Java Editor&quot; 
-        description=&quot;Action accelerator key applicable only when java editor active.&quot; 
-        parentScope=&quot;org.eclipse.ui.globalScope&quot;&gt; 
-      &lt;/acceleratorScope&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The method public IKeyBindingService getKeyBindingService() was added to IEditorSite.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides the Global accelerator scope and the Text Editor accelerator scope.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/acceleratorSets.exsd b/bundles/org.eclipse.ui/schema/acceleratorSets.exsd
deleted file mode 100644
index a2e42ff..0000000
--- a/bundles/org.eclipse.ui/schema/acceleratorSets.exsd
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="acceleratorSets" name="Accelerator Sets"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-This extension point is used to register accelerator set extensions. Accelerator sets are just what the name implies, sets of accelerators. An accelerator is an association between one or more sequences of accelerator keys and a workbench action. An accelerator key sequence may be of length one or greater. 
-&lt;p&gt;
-An accelerator set is registered with an accelerator configuration (see the Accelerator Configuration extension point) and is applicable for an accelerator scope (see the Accelerator Scope extension point).
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="acceleratorSet" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="acceleratorSet">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="accelerator" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="configurationId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that identifies the accelerator configuration to which this accelerator set is registered.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="scopeId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that identifies the accelerator scope for which this accelerator set is applicable.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="accelerator">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  the unique identifier of the action definition of the action associated with this accelerator. If the id is not specified this accelerator deletes any  mappings with the same key. This is used to delete a key binding for a specific Locale.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="key" type="string" use="required">
-            <annotation>
-               <documentation>
-                  an attribute representing the sequence(s) of accelerator keys used to perform the action associated with this accelerator. Sequences are separated by &apos;||&apos;, and individual keys in a sequence are separated by a space. A key may be modified by the CTRL, ALT, or SHIFT keys. Depending on keyboard layout, some keys (&apos;?&apos; for example) may need the SHIFT to be accessed but the accelerator should be specified without the SHIFT so it will be independent of keyboard layout. E.g. if CTRL+? is specified as an accelerator, the user may have to press CTRL+SHIFT+? depending on the keyboard layout.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="locale" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute which specifies a locale for which the accelerator is applicable. If this attribute is not specified, the accelerator is applicable for all locales.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="platform" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute which specifies a platform on which the accelerator is applicable. If this attribute is not specified, the accelerator is applicable on all platforms.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of an accelerator set extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.acceleratorSets&quot;&gt; 
-      &lt;acceleratorSet 
-        configurationId=&quot;org.eclipse.ui.exampleAcceleratorConfiguration&quot; 
-        scopeId=&quot;org.eclipse.ui.globalScope&quot;&gt; 
-          &lt;accelerator 
-              id=&quot;org.eclipse.ui.ExampleActionA&quot; 
-              key=&quot;CTRL+R CTRL+A&quot;&gt; 
-          &lt;/accelerator&gt; 
-          &lt;accelerator 
-              id=&quot;org.eclipse.ui.ExampleActionB&quot; 
-              key=&quot;CTRL+R CTRL+B&quot;&gt; 
-          &lt;/accelerator&gt; 
-          &lt;accelerator 
-              id=&quot;org.eclipse.ui.ExampleActionC&quot; 
-              key=&quot;CTRL+R CTRL+C || CTRL+SHIFT+DELETE&quot;&gt; 
-          &lt;/accelerator&gt; 
-      &lt;/acceleratorSet&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         More than one accelerator may be specified for the same action in the accelerator set but only one will be used. 
-&lt;p&gt;
-If the locale and/or the platform is specified, the accelerator that better matches the current locale and platform will be used. The current locale is determined by the API Locale.getDefault() and the platform by the API SWT.getPlatform(). If the platform and/or the locale is specified and it does not match the current locale and/or platform, the accelerator is discarded. If accelerator A defines only the locale and B defines only the platform, B is used. If accelerator A defines &quot;ja&quot; as its locale and B defines &quot;ja_JP&quot;, B is used in case the current locale is &quot;ja_JP&quot;. 
-&lt;p&gt;
-If two accelerators are defined in accelerators sets in different plugins, the chosen accelerator will depend on the plugins. If plugin A depends on B, the accelerators defined in B is used. If A and B don&apos;t depend on each other, they will be alphabetically sorted by the plugin id. 
-&lt;p&gt;
-If two accelerators are defined in different scopes, the accelerator defined in the current scope will be used. If an accelerator is not defined in the current scope or one of its parents it is discarded. If an accelerator is defined in a parent and child scope, the one in the child is used.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides accelerator sets for the Default and Emacs accelerator configurations.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/actionDefinitions.exsd b/bundles/org.eclipse.ui/schema/actionDefinitions.exsd
deleted file mode 100644
index c9eb635..0000000
--- a/bundles/org.eclipse.ui/schema/actionDefinitions.exsd
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="actionDefinitions" name="Action Definitions"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;b&gt;WARNING: This extension point is DEPRECATED.&lt;/b&gt;&lt;br&gt;
-Do not use this extension point, it will be removed in future versions of this product.
-Instead, use the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt;
-&lt;/p&gt;
-This extension point is used to register action definitions. Accelerators (see the Accelerator Sets extension point) use action definitions to reference actions. An action associates itself with a given accelerator by registering with that accelerator&apos;s associated action definition. An action registers itself with an action definition by calling the setActionDefinitionId(String id) method and supplying the action definition&apos;s id as an argument.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="actionDefinition" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="actionDefinition">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  the name of the action as displayed to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a short description of the action to display to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of an action definition extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.actionDefinitions&quot;&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.save&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.saveAll&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.close&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.closeAll&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-      &lt;actionDefinition 
-        id=&quot;org.eclipse.ui.file.print&quot;&gt; 
-      &lt;/actionDefinition&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The methods public void setActionDefinitionId(String id) and public String getActionDefinitionId() have been added to IAction. 
-&lt;p&gt;
-&lt;B&gt;&lt;font color=&quot;#FF0000&quot;&gt;NOTE&lt;/font&gt; -&lt;/b&gt; other attributes may be added in the future, as needed.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides many action definitions.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd b/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
deleted file mode 100644
index 56b9c7c..0000000
--- a/bundles/org.eclipse.ui/schema/actionSetPartAssociations.exsd
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="actionSetPartAssociations" name="Action Set Part Associations"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define an action set which should be added to a perspective when a part (view or editor) is opened in the perspective.
-In the case of an editor, the action set will remain visible while the editor is the current editor.
-In the case of a view, the action set will be visible when the view is the active part.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="actionSetPartAssociation" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="actionSetPartAssociation">
-      <complexType>
-         <sequence>
-            <element ref="part" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the action set (as specified in the
-registry) which is to be associated with particular workbench
-views and/or editors.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="part">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the part (view or editor) to be associated with the action set.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an action set part association (note the subelement and the way attributes are used):
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.actionSetPartAssociations&quot;&gt;
-  &lt;actionSetPartAssociation targetID=&quot;org.eclipse.jdt.ui.refactoring.actionSet&quot;&gt;
-   &lt;part id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot;/&gt;
-   &lt;part id=&quot;org.eclipse.jdt.ui.CompilationUnitError&quot;/&gt;
-  &lt;/actionSetPartAssociation&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, a view or editor are associated with the refactoring action set.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The user may override these associations using the customize perspective dialog.  Regardless of these associations,
-action sets which the user turns off will never appear and action sets which the user turns on will always be visible.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/actionSets.exsd b/bundles/org.eclipse.ui/schema/actionSets.exsd
deleted file mode 100644
index 30cdabb..0000000
--- a/bundles/org.eclipse.ui/schema/actionSets.exsd
+++ /dev/null
@@ -1,536 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="actionSets" name="Action Sets"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add menus, menu items 
-and toolbar buttons to the common areas in the Workbench
-window. These contributions are collectively known 
-as an &lt;i&gt;action set&lt;/i&gt; and appear within the 
-Workbench window by the user customizing a perspective.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="commonAction.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="actionSet" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="actionSet">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-         <documentation>
-            This element is used to define a group of actions and/or menus.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier for this action set.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used by the Workbench to represent this action set to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="visible" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating whether the action set is initially visible when a perspective is open. This option is only honoured when the user opens a perspective which has not been customized. The user can override this option from the &quot;Customize Perspective Dialog&quot;. This attribute should be used with great care so as not to overwhelm the user with too many actions.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a translatable description used by the Workbench to represent this action set to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-         <documentation>
-            This element defines an action that the user can invoke in the UI.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </choice>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used as a reference for this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="accelerator" type="string">
-            <annotation>
-               <documentation>
-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;definitionId&lt;/samp&gt; attribute instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="definitionId" type="string">
-            <annotation>
-               <documentation>
-                  Specifies the command that this action will handle. By specifying and action, the key binding service can assign a key sequence to this action. See the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt; for more information.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="menubarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the menu bar.
-Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="toolbarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with &quot;Normal&quot; being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
-If toolbarPath is omitted, the action will not appear in the toolbar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="disabledIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="hoverIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="tooltip" type="string">
-            <annotation>
-               <documentation>
-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="style" use="default" value="push">
-            <annotation>
-               <documentation>
-                  an attribute to define the user interface style type for the action. If omitted, then it is &lt;samp&gt;push&lt;/samp&gt; by default. The attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;pulldown&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a cascading style menu item or as a drop down menu beside the tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="push">
-                  </enumeration>
-                  <enumeration value="radio">
-                  </enumeration>
-                  <enumeration value="toggle">
-                  </enumeration>
-                  <enumeration value="pulldown">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;). Used only when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="pulldown" type="boolean">
-            <annotation>
-               <documentation>
-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;style&lt;/samp&gt; attribute with the value &lt;samp&gt;pulldown&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified name of a class which implements &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowActionDelegate&lt;/samp&gt; or &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowPulldownDelegate&lt;/samp&gt;. The latter should be implemented in cases where the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;pulldown&lt;/samp&gt;. This class is the handler responsible for performing the action. If the &lt;samp&gt;retarget&lt;/samp&gt; attribute is true, this attribute is ignored and should not be supplied.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IWorkbenchWindowActionDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="retarget" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute to retarget this action. When true, view and editor parts may supply a handler for this action using the standard mechanism for setting a global action handler on their site using this action&apos;s identifier. If this attribute is true, the &lt;samp&gt;class&lt;/samp&gt; attribute should not be supplied.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="allowLabelUpdate" type="boolean">
-            <annotation>
-               <documentation>
-                  optional attribute indicating whether the retarget action allows the handler to override it&apos;s label and tooltip. Only applies if &lt;samp&gt;retarget&lt;/samp&gt; attribute is true.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the action. If specified and the condition is not met, the action is disabled. If omitted, the action enablement state is not affected. The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an action set (note 
-the sub-elements and the way attributes are used): 
-
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point = &quot;org.eclipse.ui.actionSets&quot;&gt; 
-        &lt;actionSet
-            id=&quot;com.xyz.actionSet&quot; 
-            label=&quot;My Actions&quot;&gt; 
-            &lt;menu
-               id=&quot;com.xyz.xyzMenu&quot; 
-               label=&quot;XYZ Menu&quot;
-               path=&quot;additions&quot;&gt; 
-               &lt;separator name=&quot;group1&quot;/&gt;
-               &lt;separator name=&quot;option1&quot;/&gt;
-            &lt;/menu&gt;
-            
-            &lt;action
-               id=&quot;com.xyz.runXYZ&quot; 
-               label=&quot;&amp;amp;Run XYZ Tool&quot;
-               style=&quot;toggle&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-               icon=&quot;icons/runXYZ.gif&quot; 
-               tooltip=&quot;Run XYZ Tool&quot; 
-               helpContextId=&quot;com.xyz.run_action_context&quot; 
-               class=&quot;com.xyz.actions.RunXYZ&quot; 
-               enablesFor=&quot;1&quot;&gt; 
-               &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-            &lt;/action&gt;
-            &lt;action 
-               id=&quot;com.xyz.runABC&quot;
-               label=&quot;&amp;amp;Run ABC Tool&quot;
-               style=&quot;push&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-               toolbarPath=&quot;Normal/XYZ&quot;
-               icon=&quot;icons/runABC.gif&quot;
-               tooltip=&quot;Run ABC Tool&quot;
-               helpContextId=&quot;com.xyz.run_abc_action_context&quot;
-               retarget=&quot;true&quot;
-               allowLabelUpdate=&quot;true&quot;&gt;
-               &lt;enablement&gt;
-                  &lt;and&gt;
-                     &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                     &lt;not&gt;
-                        &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                     &lt;/not&gt;
-                  &lt;/and&gt;
-               &lt;/enablement&gt;
-            &lt;/action&gt;             
-
-            &lt;action 
-               id=&quot;com.xyz.runDEF&quot;
-               label=&quot;&amp;amp;Run DEF Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;true&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runDEF.gif&quot;
-               tooltip=&quot;Run DEF Tool&quot;
-               class=&quot;com.xyz.actions.RunDEF&quot; 
-               helpContextId=&quot;com.xyz.run_def_action_context&quot;&gt;
-            &lt;/action&gt;             
-            &lt;action 
-               id=&quot;com.xyz.runGHI&quot;
-               label=&quot;&amp;amp;Run GHI Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runGHI.gif&quot;
-               tooltip=&quot;Run GHI Tool&quot;
-               class=&quot;com.xyz.actions.RunGHI&quot; 
-               helpContextId=&quot;com.xyz.run_ghi_action_context&quot;&gt;
-            &lt;/action&gt;             
-            &lt;action 
-               id=&quot;com.xyz.runJKL&quot;
-               label=&quot;&amp;amp;Run JKL Tool&quot;
-               style=&quot;radio&quot;
-               state=&quot;false&quot;
-               menubarPath=&quot;com.xyz.xyzMenu/option1&quot;
-               icon=&quot;icons/runJKL.gif&quot;
-               tooltip=&quot;Run JKL Tool&quot;
-               class=&quot;com.xyz.actions.RunJKL&quot; 
-               helpContextId=&quot;com.xyz.run_jkl_action_context&quot;&gt;
-            &lt;/action&gt;             
-        &lt;/actionSet&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action set, named &quot;My Actions&quot;, is not initially visible within each perspective because the &lt;samp&gt;visible&lt;/samp&gt; attribute is not specified.
-&lt;/p&gt;
-&lt;p&gt;
-The XYZ action will appear as a check box menu item, initially not checked. It is enabled only if the selection count is 1 and if the selection contains a Java file resource.
-&lt;/p&gt;
-&lt;p&gt;
-The ABC action will appear both in the menu and on the toolbar. It is enabled only if the selection does not contain any Java file resources. Note also this is a label retarget action therefore it does not supply a &lt;samp&gt;class&lt;/samp&gt; attribute.
-&lt;/p&gt;
-&lt;p&gt;
-The actions DEF, GHI, and JKL appear as radio button menu items. They are enabled all the time, independent of the current selection state.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the class attribute must be the fully qualified name of a class that implements &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowActionDelegate&lt;/samp&gt; or &lt;samp&gt;org.eclipse.ui.IWorkbenchWindowPulldownDelegate&lt;/samp&gt;. The latter should be implemented in cases where the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;pulldown&lt;/samp&gt;. This class is the handler responsible for performing the action. If the &lt;samp&gt;retarget&lt;/samp&gt; attribute is true, this attribute is ignored and should not be supplied. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;p&gt;
-It is important to note that the workbench does not generate menus on a plug-in&apos;s behalf. Menu paths must reference menus that already exist.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the Eclipse Platform API was frozen. Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Plug-ins may use this extension point to add new top level menus. Plug-ins can also define named groups which allow other plug-ins to contribute their actions into them. 
-&lt;p&gt;
-Top level menus are created by using the following values
-for the path attribute: 
-&lt;ul&gt;
-&lt;li&gt;additions - represents a group immediately to the left of the &lt;samp&gt;Window&lt;/samp&gt; menu. 
-&lt;/ul&gt;
-Omitting the path attribute will result in adding the new menu into the additions menu bar group. 
-&lt;/p&gt;
-&lt;p&gt;
-The default groups in a workbench window are defined in the
-&lt;samp&gt;IWorkbenchActionConstants&lt;/samp&gt; interface. These
-constants can be used in code for dynamic contribution.
-The values can also be copied into an XML file for fine
-grained integration with the existing workbench menus
-and toolbar. 
-&lt;/p&gt;
-&lt;p&gt;
-Various menu and toolbar items within the workbench 
-window are defined algorithmically.  In these cases 
-a separate mechanism must be used to extend the 
-window. For example, adding a new workbench view 
-results in a new menu item appearing in the
-Perspective menu. Import, Export, and New Wizards 
-extensions are also added automatically to the window.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/activities.exsd b/bundles/org.eclipse.ui/schema/activities.exsd
deleted file mode 100644
index b006103..0000000
--- a/bundles/org.eclipse.ui/schema/activities.exsd
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="activities" name="Activities"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;org.eclipse.ui.activities&lt;/code&gt; extension point is used to declare activities and associated elements.  Activities are used by the platform to filter certain plugin contributions from the users view until such a time that they express interest in them.  This allows Eclipse to grow dynamically based on the usage pattern of a user.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="activity"/>
-            <element ref="activityRequirementBinding"/>
-            <element ref="activityPatternBinding"/>
-            <element ref="category"/>
-            <element ref="categoryActivityBinding"/>
-            <element ref="defaultEnablement"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <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="activity">
-      <annotation>
-         <documentation>
-            This element is used to define activities. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a translatable short description of this activity for display in the UI
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of this activity
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the translatable name of this activity for display in the UI
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="activityRequirementBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind activities to activities. The relationship is such that if the activityId is ever enabled then the requiredActivityId is enabled as well.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="requiredActivityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of required activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="activityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="activityPatternBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind activities to patterns.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="activityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="pattern" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the pattern to be bound. Patterns are regular expressions which match unique identifiers.  Please see the Java documentation for &lt;code&gt;java.util.regex.Pattern&lt;/code&gt; for further details.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <documentation>
-            This element is used to define categories. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a translatable short description of this category for display in the UI
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the translatable name of this category for display in the UI
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="categoryActivityBinding">
-      <annotation>
-         <documentation>
-            This element allows one to bind categories to activities.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="activityId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity to bind
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the category to bind
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="defaultEnablement">
-      <annotation>
-         <documentation>
-            This element allows one to specify that a given activity should be enabled by default.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the activity
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-3.0
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of several activity and category definitions as well as associated bindings.
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.activities&quot;&gt;
-  &lt;activity id=&quot;com.xyz.Activity&quot;
-      description=&quot;Filters contributions from com.xyz&quot;
-   name=&quot;My Activity&quot; /&gt;
-
-  &lt;activity id=&quot;com.xyz.OtherActivity&quot;
-      description=&quot;Filters other contributions from com.xyz&quot;
-   name=&quot;My Other Activity&quot; /&gt;
-  &lt;!-- other activity requires activity --&gt;  
-  &lt;activityRequirementBinding activityId=&quot;com.xyz.OtherActivity&quot;
-   requiredActivityId=&quot;com.xyz.Activity&quot; /&gt;
-  &lt;category id=&quot;com.xyz.Category&quot;
-   description=&quot;com.xyz Activities&quot;
-   name=&quot;My Category&quot; /&gt;
-   
-     &lt;!-- put the activity in the category --&gt;
-  &lt;categoryActivityBinding activityId=&quot;com.xyz.Activity&quot;
-   categoryId=&quot;com.xyz.Category&quot; /&gt;
-   
-     &lt;!-- bind all contributions from plugin com.xyz --&gt;
-  &lt;activityPatternBinding id=&quot;com.xyz.Activity&quot;
-   pattern=&quot;com\.xyz/.*&quot; /&gt;
-  
-  &lt;!-- bind my.contribution from plugin com.xyz.other --&gt;
-  &lt;activityPatternBinding id=&quot;com.xyz.OtherActivity&quot;
-   pattern=&quot;com\.xyz\.other/my.contribution&quot; /&gt;
-   
-  &lt;!-- our activity should be enabled by default --&gt;
-  &lt;defaultEnablement id=&quot;com.xyz.Activity&quot; /&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-There is currently no public API for declaring activities or associated elements other than this extension point.  The state of activities in the workbench is accessible via &lt;code&gt;org.eclipse.ui.IWorkbench.getActivitySupport()&lt;/code&gt;.  From here you may query and update the set of currently enabled activities.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         There are no &quot;default activities&quot; provided by the workbench.  Activities are intended to be defined at the product level, such as the Eclipse SDK, so as to tightly integrate all of the (known) components that product contains.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/commands.exsd b/bundles/org.eclipse.ui/schema/commands.exsd
deleted file mode 100644
index 0f6d7a9..0000000
--- a/bundles/org.eclipse.ui/schema/commands.exsd
+++ /dev/null
@@ -1,526 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="commands" name="Commands"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;org.eclipse.ui.commands&lt;/code&gt; extension point is used to declare commands and command categories, using the &lt;code&gt;command&lt;/code&gt; and &lt;code&gt;category&lt;/code&gt; elements. Through this extension point, one can also assign key sequences to commands using the &lt;code&gt;keyBinding&lt;/code&gt; element. Key sequences are bound to commands based on key configurations and contexts which are declared here as well, using the &lt;code&gt;keyConfiguration&lt;/code&gt; and &lt;code&gt;context&lt;/code&gt; elements.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="activeKeyConfiguration"/>
-            <element ref="category"/>
-            <element ref="command"/>
-            <element ref="keyBinding"/>
-            <element ref="keyConfiguration"/>
-            <element ref="context"/>
-            <element ref="handlerSubmission"/>
-            <element ref="scope"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  An optional identifier of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  An optional name of the extension instance.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <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="activeKeyConfiguration">
-      <annotation>
-         <documentation>
-            This element is used to define the initial active key configuration for Eclipse. If more than one of these elements exist, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  The unique id (&lt;code&gt;id&lt;/code&gt;attribute) of the keyConfiguration element one wishes to be initially active.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="keyConfigurationId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id (&lt;code&gt;id&lt;/code&gt;attribute) of the keyConfiguration element one wishes to be initially active.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <documentation>
-            In the UI, commands are often organized by category to make them more manageable. This element is used to define these categories. Commands can add themselves to at most one category. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this category for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this category for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="command">
-      <annotation>
-         <documentation>
-            This element is used to define commands. A command represents an request from the user that can be handled by an action, and should be semantically unique among other commands. Do not define a command if there is already one defined with the same meaning. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid. See the extension points &lt;a href=&quot;org_eclipse_ui_actionSets.html&quot;&gt;org.eclipse.ui.actionSets&lt;/a&gt; and &lt;a href=&quot;org_eclipse_ui_editorActions.html&quot;&gt;org.eclipse.ui.editorActions&lt;/a&gt; to understand how actions are connected to commands.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the category for this command. If this command does not specify a category, it will still appear in all UI, alongside other specifically categorized commands.
-@deprecated Please use &quot;categoryId&quot; instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this command for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this command.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this command for display in the UI. Command are typically named in the form of an imperative verb.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the category for this command. If this command does not specify a category, it will still appear in all UI, alongside other specifically categorized commands.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keyBinding">
-      <annotation>
-         <documentation>
-            This element allows one to assign key sequences to commands.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="configuration" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the key configuration of this key binding.
-@deprecated Please use keyConfigurationId instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="command" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of the command to which the key sequence specified by this key binding is assigned. If the value of this attribute is an empty string, the key sequence is assigned to an internal &apos;no operation&apos; command. This is useful for &apos;undefining&apos; key bindings in specific key configurations and contexts which may have been borrowed from their parents.
-@deprecated Please use &quot;commandId&quot; instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="locale" type="string">
-            <annotation>
-               <documentation>
-                  An optional attribute indicating that this key binding is only defined for the specified locale. Locales are specified according to the format declared in &lt;code&gt;java.util.Locale&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="platform" type="string">
-            <annotation>
-               <documentation>
-                  An optional attribute indicating that this key binding is only defined for the specified platform. The possible values of the &lt;code&gt;platform&lt;/code&gt; attribute are the set of the possible values returned by &lt;code&gt;org.eclipse.swt.SWT.getPlatform()&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="contextId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the context of this key binding.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="string" type="string">
-            <annotation>
-               <documentation>
-                  The key sequence to assign to the command. Key sequences consist of one or more key strokes, where a key stroke consists of a key on the keyboard, optionally pressed in combination with one or more of the following modifiers: Ctrl, Alt, Shift, and Command. Key strokes are separated by spaces, and modifiers are separated by &apos;+&apos; characters.
-@deprecated Please use &quot;keySequence&quot; instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="scope" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the context of this key binding.
-@deprecated Please use &quot;contextId&quot; instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="keyConfigurationId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the key configuration of this key binding.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="commandId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of the command to which the key sequence specified by this key binding is assigned. If the value of this attribute is an empty string, the key sequence is assigned to an internal &apos;no operation&apos; command. This is useful for &apos;undefining&apos; key bindings in specific key configurations and contexts which may have been borrowed from their parents.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="keySequence" type="string">
-            <annotation>
-               <documentation>
-                  &lt;p&gt;The key sequence to assign to the command. Key sequences consist of one or more key strokes, where a key stroke consists of a key on the keyboard, optionally pressed in combination with one or more of the following modifiers: Ctrl, Alt, Shift, and Command. Key strokes are separated by spaces, and modifiers are separated by &apos;+&apos; characters.&lt;/p&gt;
-&lt;p&gt;The modifier keys can also be expressed in a platform-independent way.  On MacOS X, for example, &quot;Command&quot; is almost always used in place of &quot;Ctrl&quot;.  So, we provide &quot;M1&quot; which will map to either &quot;Ctrl&quot; or &quot;Command&quot;, as appropriate.  Similarly, &quot;M2&quot; is &quot;Shift&quot;; &quot;M3&quot; is &quot;Alt&quot;; and &quot;M4&quot; is &quot;Ctrl&quot; (MacOS X).  If more platforms are added, then you can count on these aliases being mapped to good platform defaults.&lt;/p&gt;
-&lt;p&gt;The syntax for this string is defined in &lt;code&gt;org.eclipse.ui.internal.keys&lt;/code&gt;.  Briefly, the string is case insensitive -- though all capitals is preferred stylistically.  If the key is a letter, then simply append the letter.  If the key is a special key (i.e., non-ASCII), then use one of the following: ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, BREAK, CAPS_LOCK, END, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, HOME, INSERT, NUM_LOCK, NUMPAD_0, NUMPAD_1, NUMPAD_2, NUMPAD_3, NUMPAD_4, NUMPAD_5, NUMPAD_6, NUMPAD_7, NUMPAD_8, NUMPAD_9, NUMPAD_ADD, NUMPAD_DECIMAL, NUMPAD_DIVIDE, NUMPAD_ENTER, NUMPAD_EQUAL, NUMPAD_MULTIPLY, NUMPAD_SUBTRACT, PAGE_UP, PAGE_DOWN, PAUSE, PRINT_SCREEN, or SCROLL_LOCK.  If the key is a non-printable ASCII key, then use one of the following: BS, CR, DEL, ESC, FF, LF, NUL, SPACE, TAB, or VT.  Note that the main keyboard enter/return key is CR.&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keyConfiguration">
-      <annotation>
-         <documentation>
-            This element is used to define key configurations. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this key configuration for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this key configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this key configuration for display in the UI. If this key configuration has a parent, it is not necessary to add &quot;(extends ...)&quot; to the name. This will be automatically added by the UI where necessary.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parent" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent key configuration. If this key configuration has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own key configuration.
-@deprecated Please use parentId instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent key configuration. If this key configuration has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own key configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="context">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            This element is used to define contexts. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this context for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this context.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this context for display in the UI. If this context has a parent, it is not necessary to add &quot;(extends parent)&quot; to the name. This will be automatically added by the UI where necessary.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parent" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent context. If this context has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own context.
-@deprecated Please use &quot;parentId&quot; instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent context. If this context has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own context.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="handlerSubmission">
-      <annotation>
-         <documentation>
-            &lt;p&gt;
-This element declares a handler for a command.  This handler is then associated with the command with the given restrictions.  This association is done at start-up.  Associating a handler does not mean that this handler will always be the one chosen by the workbench; the actual choice is done by examining the workbench state and comparing with the various handler submissions.
-&lt;/p&gt;
-&lt;p&gt;
-This particular API should still be considered experimental.  While you may use it, you must be willing to accept that this API may change radically or be removed entirely at some point in the future.  We appreciate feedback on this API to &lt;a href=&quot;mailto:platform-ui-dev@eclipse.org&quot;&gt;platform-ui-dev@eclipse.org&lt;/a&gt;.
-&lt;/p&gt;
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="commandId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The identifier of the command to which this handler should be associated.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="handler" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The name of the class of the handler.  If the class is an implementation of IExecutableExtension, then it is possible to pass data into the object.  This handler will be proxied until the handler is queried for information -- at which point the class will be loaded, and an instance created.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.commands.IHandler"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="scope">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            This element is used to define scopes. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the plugin registry) is considered valid.
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this scope for display in the UI.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this scope.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this scope for display in the UI. If this scope has a parent, it is not necessary to add &quot;(extends parent)&quot; to the name. This will be automatically added by the UI where necessary.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parent" type="string">
-            <annotation>
-               <documentation>
-                  The unique id of the parent scope. If this scope has a parent, it will borrow all key bindings from its parent, in addition to the key bindings defined in its own scope.
-
-@deprecated Please use the &quot;org.eclipse.ui.contexts&quot; extension point instead.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-2.1
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;plugin.xml&lt;/code&gt; file in the &lt;code&gt;org.eclipse.ui&lt;/code&gt; plugin makes extensive use of the &lt;code&gt;org.eclipse.ui.commands&lt;/code&gt; extension point.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-This is no public API for declaring commands, categories, key bindings, key configurations, or contexts other than this extension point. Public API for querying and setting contexts, as well as registering actions to handle specific commands can be found in &lt;code&gt;org.eclipse.ui.IKeyBindingService&lt;/code&gt;.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/commonAction.exsd b/bundles/org.eclipse.ui/schema/commonAction.exsd
deleted file mode 100644
index 466c74e..0000000
--- a/bundles/org.eclipse.ui/schema/commonAction.exsd
+++ /dev/null
@@ -1,175 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="commonAction" name="Common Action"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="menu">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-         <documentation>
-            This element is used to defined a new menu.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="separator" minOccurs="1" maxOccurs="unbounded"/>
-            <element ref="groupMarker" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference this menu.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used by the Workbench for this new menu. The name should include mnemonic information.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="path" type="string">
-            <annotation>
-               <documentation>
-                  the location of the new menu starting from the root of the menu. Each token in the path must refer to an existing menu, except the last token which should represent a named group in the last menu in the path. If omitted, the new menu will be added to the &lt;samp&gt;additions&lt;/samp&gt; named group of the menu.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="separator">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-         <documentation>
-            This element is used to create a menu separator in the new menu.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the menu separator. This name can later be referenced as the last token in a menu path. Therefore, a separator also serve as named group into which actions and menus can be added.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="groupMarker">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-         <documentation>
-            This element is used to create a named group in the new menu. It has no visual representation in the new menu, unlike the &lt;samp&gt;separator&lt;/samp&gt; element.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the group marker. This name can later be referenced as the last token in the menu path. It serves as named group into which actions and menus can be added.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="selection">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="class"/>
-         </appInfo>
-         <documentation>
-            This element is used to help determine the action enablement based on the current selection. Ignored if the &lt;samp&gt;enablement&lt;/samp&gt; element is specified.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class or interface that each object in the selection must implement in order to enable the action.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.lang.Object"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional wild card filter for the name that can be applied to all objects in the selection. If specified and the match fails, the action will be disabled.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/commonExpression.exsd b/bundles/org.eclipse.ui/schema/commonExpression.exsd
deleted file mode 100644
index 25a2a89..0000000
--- a/bundles/org.eclipse.ui/schema/commonExpression.exsd
+++ /dev/null
@@ -1,274 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui" id="commonExpression" name="Common Expressions"/>

-      </appInfo>

-      <documentation>

-         An action&apos;s enablement and/or visibility can be defined using the elements &lt;samp&gt;enablement&lt;/samp&gt; and &lt;samp&gt;visibility&lt;/samp&gt; respectively. These two elements contain a boolean expression that is evaluated to determine the enablement and/or visibility.

-&lt;p&gt;

-The syntax is the same for the &lt;samp&gt;enablement&lt;/samp&gt; and &lt;samp&gt;visibility&lt;/samp&gt; elements. Both contain only one boolean expression sub-element. In the simplest case, this will be an &lt;samp&gt;objectClass&lt;/samp&gt;, &lt;samp&gt;objectState&lt;/samp&gt;, &lt;samp&gt;pluginState&lt;/samp&gt;, or &lt;samp&gt;systemProperty&lt;/samp&gt; element. In the more complex case, the &lt;samp&gt;and&lt;/samp&gt;, &lt;samp&gt;or&lt;/samp&gt;, and &lt;samp&gt;not&lt;/samp&gt; elements can be combined to form a boolean expression. Both the &lt;samp&gt;and&lt;/samp&gt;, and &lt;samp&gt;or&lt;/samp&gt; elements must contain 2 sub-elements. The &lt;samp&gt;not&lt;/samp&gt; element must contain only 1 sub-element.

-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <element name="enablement">

-      <annotation>

-         <documentation>

-            This element is used to define the enablement for the extension.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="visibility">

-      <annotation>

-         <documentation>

-            This element is used to define the visibility for the extension.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="and">

-      <annotation>

-         <documentation>

-            This element represent a boolean AND operation on the result of evaluating it&apos;s two sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice minOccurs="2" maxOccurs="2">

-            <element ref="and"/>

-            <element ref="or"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="or">

-      <annotation>

-         <documentation>

-            This element represent a boolean OR operation on the result of evaluating it&apos;s two sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice minOccurs="2" maxOccurs="2">

-            <element ref="and"/>

-            <element ref="or"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="not">

-      <annotation>

-         <documentation>

-            This element represent a boolean NOT operation on the result of evaluating it&apos;s sub-element expressions.

-         </documentation>

-      </annotation>

-      <complexType>

-         <choice>

-            <element ref="and"/>

-            <element ref="or"/>

-            <element ref="not"/>

-            <element ref="objectClass"/>

-            <element ref="objectState"/>

-            <element ref="pluginState"/>

-            <element ref="systemProperty"/>

-         </choice>

-      </complexType>

-   </element>

-

-   <element name="objectClass">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the class or interface of each object in the current selection. If each object in the selection implements the specified class or interface, the expression is evaluated as true.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  a fully qualified name of a class or interface.  The expression is evaluated as true only if all objects within the selection implement this class or interface.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="java.lang.Object"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="objectState">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the attribute state of each object in the current selection. If each object in the selection has the specified attribute state, the expression is evaluated as true. To evaluate this type of expression, each object in the selection must implement, or adapt to, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt; interface.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  the name of an object&apos;s attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the required value of the object&apos;s attribute. The acceptable values for the object&apos;s attribute should be publicly declared.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="pluginState">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the state of a plug-in. The state of the plug-in may be one of the following: &lt;samp&gt;installed&lt;/samp&gt; or &lt;samp&gt;activated&lt;/samp&gt;.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  the identifier of a plug-in which may or may not exist in the plug-in registry.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="value" use="default" value="installed">

-            <annotation>

-               <documentation>

-                  the required state of the plug-in. The state of the plug-in may be one of the following: &lt;samp&gt;installed&lt;/samp&gt; or &lt;samp&gt;activated&lt;/samp&gt;.

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="installed">

-                  </enumeration>

-                  <enumeration value="activated">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="systemProperty">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-         <documentation>

-            This element is used to evaluate the state of some system property.  The property value is retrieved from the &lt;samp&gt;java.lang.System&lt;/samp&gt;.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  the name of the system property.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  the required value of the system property.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Release 2.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies 

-this distribution, and is available at 

-&lt;a 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/bundles/org.eclipse.ui/schema/contexts.exsd b/bundles/org.eclipse.ui/schema/contexts.exsd
deleted file mode 100644
index 843629b..0000000
--- a/bundles/org.eclipse.ui/schema/contexts.exsd
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="contexts" name="Contexts"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;org.eclipse.ui.contexts&lt;/code&gt; extension point is used to declare contexts and associated elements.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="context"/>
-            <element ref="contextContextBinding"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  An optional identifier of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  An optional name of the extension instance.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <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="context">
-      <annotation>
-         <documentation>
-            This element is used to define contexts. If more than one of these elements exist with the same &lt;code&gt;id&lt;/code&gt; attribute, only the last declared element (in order of reading the registry) is considered valid.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable short description of this context for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The unique identifier of this context.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The translatable name of this context for display in the UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of the parent of this context.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-3.0
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The &lt;code&gt;plugin.xml&lt;/code&gt; file in the &lt;code&gt;org.eclipse.ui&lt;/code&gt; plugin makes use of the &lt;code&gt;org.eclipse.ui.contexts&lt;/code&gt; extension point.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-There is currently no public API for declaring contexts or associated elements other than this extension point.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/decorators.exsd b/bundles/org.eclipse.ui/schema/decorators.exsd
deleted file mode 100644
index 50f11be..0000000
--- a/bundles/org.eclipse.ui/schema/decorators.exsd
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="decorators" name="Decorators"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add decorators to views that subscribe to a decorator manager. As of 2.1 there is the concept of a lightweight decorator that will handle the image management for the decorator. It is also possible to declare a lightweight decorator that simply overlays an icon when enabled that requires no implementation from the plug-in.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="decorator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="decorator">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this decorator.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the workbench window menu to represent this decorator.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified name of a class which implements &lt;samp&gt;org.eclipse.jface.viewers.ILabelDecorator&lt;/samp&gt;
-if &lt;b&gt;&lt;i&gt; lightweight&lt;/i&gt;&lt;/b&gt; is false or  &lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt; if lightweight is true. The default value is false. If there is no &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; element it is assumed to be true.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ILabelDecorator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="objectClass" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified name of a class which this decorator will be applied to. Deprecated in 2.1. Make this value part of the enablement.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.lang.Object" deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="adaptable" type="boolean">
-            <annotation>
-               <documentation>
-                  a flag that indicates if types that adapt to IResource should use this object contribution.
-This flag is used only if objectClass adapts to IResource.  Default value is false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  a flag that indicates if the decorator is on by default.  Default value is false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="lightweight">
-            <annotation>
-               <documentation>
-                  The lightweight flag indicates that the decorator is either
-declarative or implements 
-&lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="true">
-                  </enumeration>
-                  <enumeration value="false">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; and the &lt;b&gt;&lt;i&gt;class&lt;/i&gt;&lt;/b&gt; is not specified this is the path to the overlay image to apply
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="location">
-            <annotation>
-               <documentation>
-                  if the decorator is &lt;b&gt;&lt;i&gt;lightweight&lt;/i&gt;&lt;/b&gt; this is the location to apply the decorator to. Defaults to BOTTOM_RIGHT.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="TOP_LEFT">
-                  </enumeration>
-                  <enumeration value="TOP_RIGHT">
-                  </enumeration>
-                  <enumeration value="BOTTOM_LEFT">
-                  </enumeration>
-                  <enumeration value="BOTTOM_RIGHT">
-                  </enumeration>
-                  <enumeration value="UNDERLAY">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body should contain text providing a short description of the decorator. This will be shown in the Decorators preference page so it is recommended that this is included. Default value is an empty String.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following are example of decorators:
-&lt;p&gt;
-A full decorator. The plug-in developer must handle their own image support.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.decorator&quot; 
-            label=&quot;XYZ Decorator&quot; 
-            state=&quot;true&quot; 
-            class=&quot;com.xyz.DecoratorContributor&quot;&gt;
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-A lightweight decorator. There is a concrete class but as it is an
-ILightweightLabelDecorator it only needs to supply text and an ImageDescriptor and therefore needs no resource handling.
-&lt;/p&gt;
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.lightweight.decorator&quot; 
-            label=&quot;XYZ Lightweight Decorator&quot;                 
-            state=&quot;false&quot; 
-            class=&quot;com.xyz.LightweightDecoratorContributor&quot; 
-            lightweight=&quot;true&quot; &gt;
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;A declarative lightweight decorator. There is no concrete class so it
-supplies an icon and a quadrant to apply that icon.
-&lt;/p&gt;
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.decorators&quot;&gt; 
-        &lt;decorator
-            id=&quot;com.xyz.lightweight.declarative.decorator&quot; 
-            label=&quot;XYZ Lightweight Declarative Decorator&quot; 
-            state=&quot;false&quot; 
-            lightweight=&quot;true&quot; 
-            icon=&quot;icons/full/declarative.gif&quot; 
-            location=&quot;TOP_LEFT&quot;&gt; 
-            &lt;enablement&gt;
-                &lt;objectClass name=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-            &lt;/enablement&gt;
-        &lt;/decorator&gt;
-    &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be the fully qualified name of a class that implements  &lt;samp&gt;org.eclipse.jface.viewers.ILabelDecorator&lt;/samp&gt; (if lightweight is false) or &lt;samp&gt;org.eclipse.jface.viewers.ILightweightLabelDecorator&lt;/samp&gt;.  This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed. Declarative decorators do not entail any plug-in activation and should be used whenever possible. Non-lightweight decorators will eventually be deprecated.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Plug-ins may use this extension point to add new decorators to be applied to views that use the decorator manager as their label decorator.
-To use the decorator manager, use the result of IViewPart.getDecoratorManager() as the decorator for an instance of DecoratingLabelProvider.
-This is currently in use by the Resource Navigator.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/dropActions.exsd b/bundles/org.eclipse.ui/schema/dropActions.exsd
deleted file mode 100644
index 29cbe1d..0000000
--- a/bundles/org.eclipse.ui/schema/dropActions.exsd
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="dropActions" name="Drop Actions"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add drop behaviour to 
-views defined by other plugins. 
-&lt;p&gt;
-Due to the UI layering imposed by the plugin 
-mechanism, views are often not aware of the content 
-and nature of other views. This can make drag and 
-drop operations between plugins difficult. 
-For example, one may wish to provide Java 
-refactoring support whereby the user drags a 
-method from the Java editor&apos;s content outliner 
-into another java file in the resource navigator. 
-Since the resource navigator doesn&apos;t know anything 
-about Java content, it doesn&apos;t know how to behave 
-when java methods are dropped onto it.  
-Similarly, an ISV may want to drop some of 
-their content into one of the Java viewers. 
-&lt;p&gt;
-The &lt;samp&gt;org.eclipse.ui.dropActions&lt;/samp&gt; extension point is 
-provided by the Platform to address these situations. 
-This mechanism delegates the drop behaviour back to 
-the originator of the drag operation. 
-This behaviour is contained in an action that 
-must implement 
-&lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;.  
-The viewer that is the source of the drag 
-operation must support 
-&lt;samp&gt;the org.eclipse.ui.part.PluginTransfer&lt;/samp&gt;
-transfer type, and place a 
-&lt;samp&gt;PluginTransferData&lt;/samp&gt; object in the drag event.
-See org.eclipse.jface.viewers.StructuredViewer#addDragSupport 
-to learn how to add drag support to a viewer.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference this action
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the fully qualified class that implements 
-&lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.IDropActionDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a drop action extension: 
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point=&quot;org.eclipse.ui.dropActions&quot;&gt; 
-        &lt;action 
-            id=&quot;my_drop_action&quot; 
-            class=&quot;com.xyz.eclipse.TestDropAction&quot;&gt; 
-        &lt;/action&gt; 
-    &lt;/extension&gt;  
-&lt;/pre&gt;
-&lt;/p&gt;
-Here is an example of a drag listener that makes use of the drop
-action defined above.
-&lt;p&gt;
-&lt;pre&gt; 
-class MyDragListener extends DragSourceAdapter { 
-    public void dragSetData(DragSourceEvent event) { 
-        if (PluginTransfer.getInstance().isSupportedType(event.dataType)) { 
-            byte[] dataToSend = ...//enter the data to be sent. 
-            event.data = new PluginTransferData( 
-                &quot;my_drop_action&quot;, dataToSend); 
-        } 
-    } 
-} 
-&lt;/pre&gt;
-&lt;/p&gt;
-For a more complete example, see the Platform 
-readme example.  In that example, a drop action is 
-defined in ReadmeDropActionDelegate, and it is used 
-by ReadmeContentOutlineDragListener.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the class attribute must be a fully qualified name of a Java class that implements &lt;samp&gt;org.eclipse.ui.part.IDropActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench does not provide an implementation for this extension point. Plug-ins can contribute to this extension point to add drop behavior to views defined by other plugins.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/editorActions.exsd b/bundles/org.eclipse.ui/schema/editorActions.exsd
deleted file mode 100644
index 7ca4d97..0000000
--- a/bundles/org.eclipse.ui/schema/editorActions.exsd
+++ /dev/null
@@ -1,483 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="editorActions" name="Editor Menus, Toolbars and Actions"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add actions to the menu 
-and toolbar for editors registered by other plug-ins. 
-&lt;p&gt;
-The initial contribution set for an editor is defined 
-by another extension point (org.eclipse.ui.editors). 
-One set of actions is created and shared by all 
-instances of the same editor type.  When invoked, 
-these action act upon the active editor.  This 
-extension point follows the same pattern.  Each 
-action extension is created and shared by all 
-instances of the same editor type.  The action 
-class is required to implement 
-&lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;.  
-The active editor is passed to the delegate by invoking 
-&lt;samp&gt;IEditorActionDelegate.setActiveEditor&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="commonAction.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="editorContribution" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="editorContribution">
-      <annotation>
-         <documentation>
-            This element is used to define a group of editor actions and/or menus.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used to reference this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier of a registered editor that is the target of this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-         <documentation>
-            This element defines an action that the user can invoke in the UI.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </choice>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used as a reference for this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="accelerator" type="string">
-            <annotation>
-               <documentation>
-                  &lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Deprecated:&lt;/font&gt;&lt;/b&gt; Use the &lt;samp&gt;definitionId&lt;/samp&gt; attribute instead.
-               </documentation>
-               <appInfo>
-                  <meta.attribute deprecated="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="definitionId" type="string">
-            <annotation>
-               <documentation>
-                  Specifies the command that this action will handle. By specifying and action, the key binding service can assign a key sequence to this action. See the extension point &lt;a href=&quot;org_eclipse_ui_commands.html&quot;&gt;org.eclipse.ui.commands&lt;/a&gt; for more information.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="menubarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the menu bar.
-Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the menu bar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="toolbarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) that is used to specify the location of this action in the toolbar. The first token represents the toolbar identifier (with &quot;Normal&quot; being the default toolbar), while the second token is the named group within the toolbar that this action will be added to. If the group does not exist in the toolbar, it will be created.
-If toolbarPath is omitted, the action will not appear in the toolbar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in toolbars but not in menus. Enabled actions will be represented in menus by the hoverIcon.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="disabledIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in toolbars but not in menus. Icons for disabled actions in menus will be supplied by the OS.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="hoverIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="tooltip" type="string">
-            <annotation>
-               <documentation>
-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="style" use="default" value="push">
-            <annotation>
-               <documentation>
-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="push">
-                  </enumeration>
-                  <enumeration value="radio">
-                  </enumeration>
-                  <enumeration value="toggle">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorActionDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="actionID" type="string">
-            <annotation>
-               <documentation>
-                  Internal tag for use by the text editors. Should not be used by plug-in developers.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an editor action extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
-      &lt;editorContribution 
-         id=&quot;com.xyz.xyzContribution&quot; 
-         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
-         &lt;menu
-            id=&quot;XYZ&quot;
-            label=&quot;&amp;amp;XYZ Menu&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;XYZ/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a check box item in the new top-level menu named &quot;XYZ Menu&quot;, and as a toggle button in the toolbar. The action is enabled if the selection contains only Java file resources.
-&lt;p&gt;
-The following is an other example of an editor action extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.editorActions&quot;&gt; 
-      &lt;editorContribution 
-         id=&quot;com.xyz.xyz2Contribution&quot; 
-         targetID=&quot;com.ibm.XMLEditor&quot;&gt; 
-         &lt;menu 
-            id=&quot;XYZ2&quot; 
-            label=&quot;&amp;amp;XYZ2 Menu&quot; 
-            path=&quot;edit/additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;edit/XYZ2/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/editorContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item in the sub-menu named &quot;XYZ2 Menu&quot; in the top level &quot;Edit&quot; menu. The action is enabled if the selection contains no Java file resources.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the class attribute must be a fully qualified
-name of a Java class that implements 
-&lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;. 
-This class is loaded as late as possible to 
-avoid loading the entire plug-in before it is really 
-needed. The method &lt;samp&gt;setActiveEditor&lt;/samp&gt; will be 
-called each time an editor of the specified type is 
-activated. Only one set of actions and menus will be 
-created for all instances of the specified editor 
-type, regardless of the number of editor instances 
-currently opened in the Workbench. 
-&lt;p&gt;
-This extension point can be used to contribute actions 
-into menus previously created by the target editor. 
-In addition, menus and actions can be contributed to 
-the Workbench window.  The identifiers for actions and 
-major groups within the Workbench window are defined in 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchActionConstants&lt;/samp&gt;.  
-These should be used as a reference point for 
-the addition of new actions.  Top level menus are 
-created by using the following values for the 
-path attribute: 
-&lt;ul&gt;
-&lt;li&gt;
-additions - represents a named group immediately to the left of the &lt;samp&gt;Window&lt;/samp&gt; menu. 
-&lt;/li&gt;
-&lt;/ul&gt;
-Omitting the path attribute will result in adding the new menu into the additions menu bar group.
-&lt;p&gt;
-Actions and menus added into these paths will only 
-be shown while the associated editor is active. When 
-the editor is closed, menus and actions will be removed.
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single
-extension the actions will appear in the reverse order of how they are
-listed in the plugin.xml file. This behavior is admittedly unintuitive. 
-However, it was discovered after the Eclipse Platform API was frozen. 
-Changing the behavior now would break every plug-in which relies upon the
-existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The Workbench provides a built-in &quot;Default Text Editor&quot;. Plug-ins can contribute into this default editor or editors provided by other plug-ins.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/editors.exsd b/bundles/org.eclipse.ui/schema/editors.exsd
deleted file mode 100644
index 4d69d22..0000000
--- a/bundles/org.eclipse.ui/schema/editors.exsd
+++ /dev/null
@@ -1,303 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="editors" name="Internal and External Editors"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add new editors to the 
-workbench.  A editor is a visual component within a 
-workbench page. It is typically used to edit or browse 
-a document or input object.  To open an editor, the user 
-will typically invoke &quot;Open&quot; on an &lt;samp&gt;IFile&lt;/samp&gt;.  
-When this action is performed the workbench registry 
-is consulted to determine an appropriate editor for 
-the file type and then a new instance of the editor 
-type is created.  The actual result depends on the 
-type of the editor.  The workbench provides support 
-for the creation of internal editors, which are tightly 
-integrated into the workbench, and external editors, 
-which are launched in a separate frame window.  
-There are also various level of integration between 
-these extremes. 
-&lt;p&gt;
-In the case of an internal editor tight integration can 
-be achieved between the workbench window and the editor 
-part.  The workbench menu and toolbar are pre-loaded 
-with a number of common actions, such as cut, copy, and 
-paste.  The active part, view or editor, is expected to 
-provide the implementation for these actions. An internal 
-editor may also define new actions which appear in the 
-workbench window.  These actions only appear when the 
-editor is active. 
-&lt;p&gt;
-The integration between the workbench and external
-editors is more tenuous.  In this case the workbench 
-may launch an editor but after has no way of determining
-the state of the external editor or collaborating 
-with it by any means except through the file system.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="editor" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="editor">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this editor
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the UI for this editor
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative name of the icon that will be used for all resources that match the specified extensions. 
-An icon is not required if you specify a command rather than a class. In that case, the workbench 
-will use the icon provided by the operating system.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="extensions" type="string">
-            <annotation>
-               <documentation>
-                  an optional field containing the list of file types understood by the editor.  This is a string containing comma separate file extensions.  For instance, an editor which understands hypertext documents may register for &quot;htm, html&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;. The attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt;, and &lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive. If this attribute is defined then &lt;samp&gt;contributorClass&lt;/samp&gt; should also be defined.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorPart"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="command" type="string">
-            <annotation>
-               <documentation>
-                  a command to run in order to launch an external editor. The executable command must be located on the system path or in the plug-in&apos;s directory. The attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt;, and &lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="launcher" type="string">
-            <annotation>
-               <documentation>
-                  the name of a class which that implements &lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
-A launcher will open an external editor. The attributes &lt;samp&gt;class&lt;/samp&gt;, &lt;samp&gt;command&lt;/samp&gt;, and &lt;samp&gt;launcher&lt;/samp&gt; are mutually exclusive.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IEditorLauncher"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="contributorClass" type="string">
-            <annotation>
-               <documentation>
-                  the name of a class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;. This attribute should only be defined if the &lt;samp&gt;class&lt;/samp&gt; attribute is defined. This class is used to add new actions to the workbench menu and tool bar which reflect the features of the editor type.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorActionBarContributor"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="default" type="boolean" use="default" value="false">
-            <annotation>
-               <documentation>
-                  if true, this editor will be used as the default editor for the
-type. This is only relevant in a case where more than one editor
-is registered for the same type. If an editor is not the default
-for the type, it can still be launched using &quot;Open with...&quot;
-submenu for the selected resource.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="filenames" type="string">
-            <annotation>
-               <documentation>
-                  an optional field containing the list of file names 
-understood by the editor.  This is a string 
-containing comma separate file names.  For instance, 
-an editor which understands specific hypertext 
-documents may register for &quot;ejb.htm, ejb.html&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="symbolicFontName" type="string">
-            <annotation>
-               <documentation>
-                  the symbolic name of a font. The symbolic font name must be the id of a defined font (see org.eclipse.ui.fontDefinitions). If this attribute is missing or invalid then the font name is the value of &quot;org.eclipse.jface.textfont&quot; in the editor&apos;s preferences store. If there is no preference store or the key is not defined then the JFace text font will be used. The editor implementation decides if it uses this symbolic font name to set the font.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example 
-of an internal editor extension definition: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.editors&quot;&gt; 
-      &lt;editor 
-         id=&quot;com.xyz.XMLEditor&quot; 
-         name=&quot;Fancy XYZ XML editor&quot; 
-         icon=&quot;./icons/XMLEditor.gif&quot; 
-         extensions=&quot;xml&quot; 
-         class=&quot;com.xyz.XMLEditor&quot; 
-         contributorClass=&quot;com.xyz.XMLEditorContributor&quot; 
-         symbolicFontName=&quot;org.eclipse.jface.textfont&quot;
-         default=&quot;false&quot;&gt; 
-      &lt;/editor&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         If the command attribute is used, it will be treated 
-as an external program command line that will be executed
- in a platform-dependent manner. 
-&lt;p&gt;
-If the launcher attribute is used the editor will also 
-be treated as an external program.  In this case the 
-specified class must implement 
-&lt;samp&gt;org.eclipse.ui.IEditorLauncher&lt;/samp&gt;. 
-The launcher will be instantiated and then 
-&lt;samp&gt;open(IFile file)&lt;/samp&gt; will be invoked to 
-launch the editor. 
-&lt;p&gt;
-If the class attribute is used, the workbench will 
-assume that it is an internal editor and the specified 
-class must implement &lt;samp&gt;org.eclipse.ui.IEditorPart&lt;/samp&gt;.
-It is common practice to 
-&lt;samp&gt;subclass org.eclipse.ui.EditorPart&lt;/samp&gt; when 
-defining a new editor type.  It is also necessary to 
-define a &lt;samp&gt;contributorClass&lt;/samp&gt; attribute.  
-The specified class must implement 
-&lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;, 
-and is used to add new actions to the workbench 
-menu and tool bar which reflect the features of the 
-editor type. 
-&lt;p&gt;
-Within the workbench there may be more than one open 
-editor of a particular type.  For instance, there may 
-be one or more open Java Editors.  To avoid the creation
-of duplicate actions and action images the editor 
-concept has been split into two.  An 
-&lt;samp&gt;IEditorActionBarContributor&lt;/samp&gt; is responsible
-for the creation of actions.  The editor is responsible 
-for action implementation.  Furthermore, the contributor 
-is shared by each open editor.  As a result of this 
-design there is only one set of actions for one or 
-more open editors. 
-&lt;p&gt;
-The contributor will add new actions to the workbench 
-menu and toolbar which reflect the editor type.  These 
-actions are shared and, when invoked, act upon the 
-active editor.  The active editor is passed to the 
-contributor by invoking 
-&lt;samp&gt;IEditorActionBarContributor.setActiveEditor&lt;/samp&gt;.  
-The identifiers for actions and major groups within 
-the workbench window are defined in 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchActionConstants&lt;/samp&gt;.  
-These should be used as a reference point for the 
-addition of new actions.   Top level menus are created 
-by using the following values for the path attribute: 
-&lt;ul&gt;
-&lt;li&gt;
-additions - represents a group to the left of the Window menu. 
-&lt;/li&gt;
-&lt;/ul&gt;
-Actions and menus added into these paths will only be 
-shown while the associated editor is active. When the 
-editor is closed, menus and actions will be removed.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides a &quot;Default Text Editor&quot;. The end user product may contain other editors as part of the shipping bundle. In that case, editors will be registered as extensions using the syntax described above.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/elementFactories.exsd b/bundles/org.eclipse.ui/schema/elementFactories.exsd
deleted file mode 100644
index e152c7e..0000000
--- a/bundles/org.eclipse.ui/schema/elementFactories.exsd
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="elementFactories" name="Element Factories"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add element factories 
-to the workbench.  An element factory is used to 
-recreate &lt;samp&gt;IAdaptable&lt;/samp&gt; objects which are 
-persisted during workbench shutdown. 
-&lt;p&gt;
-As an example, the element factory is used to 
-persist editor input.  The input for an 
-editor must implement 
-&lt;samp&gt;org.eclipse.ui.EditorInput&lt;/samp&gt;.  
-The life cycle of an &lt;samp&gt;IEditorInput&lt;/samp&gt; within 
-an editor has a number of phases. 
-&lt;ol&gt;
-&lt;li&gt;
-The initial input for an editor is passed in during 
-editor creation. 
-&lt;/li&gt;
-&lt;li&gt;
-On shutdown the workbench state is captured.  
-In this process the workbench will create a memento 
-for each open editor and its input.  The input is 
-saved as a two part memento containing a factory ID 
-and any primitive data required to recreate the 
-element on startup.  For more information see 
-the documentation on 
-&lt;samp&gt;org.eclipse.ui.IPersistableElement&lt;/samp&gt;. 
-&lt;/li&gt;
-&lt;li&gt;
-On startup the workbench state is read and the 
-editors from the previous session are recreated.  
-In this process the workbench will recreate the input 
-element for each open editor.  To do this it will 
-map the original factory ID for the input element 
-to a concrete factory class defined in the registry.  
-If a mapping exists, and the factory class is valid, 
-an instance of the factory class is created.  Then 
-the workbench asks the factory to recreate the original 
-element from the remaining primitive data within the 
-memento.  The resulting &lt;samp&gt;IAdaptable&lt;/samp&gt; is cast
-to an &lt;samp&gt;IEditorInput&lt;/samp&gt; and passed to the 
-new editor. 
-&lt;/li&gt;
-&lt;/ol&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="factory" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="factory">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this factory.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of a class that implements 
-&lt;samp&gt;org.eclipse.ui.IElementFactory&lt;/samp&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IElementFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an element factory extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-        point = &quot;org.eclipse.ui.elementFactories&quot;&gt; 
-        &lt;factory 
-           id =&quot;com.xyz.ElementFactory&quot; 
-           class=&quot;com.xyz.ElementFactory&quot;&gt; 
-        &lt;/factory&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must 
-be a fully qualified name of a class that implements 
-&lt;samp&gt;org.eclipse.ui.IElementFactory&lt;/samp&gt;. An instance 
-of this class must create an &lt;samp&gt;IAdaptable&lt;/samp&gt; 
-object from a workbench memento.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides an &lt;samp&gt;IResource&lt;/samp&gt; factory.  
-Additional factories should be added to recreate other 
-&lt;samp&gt;IAdaptable&lt;/samp&gt; types commonly found in other 
-object models, such as the Java Model.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/encodings.exsd b/bundles/org.eclipse.ui/schema/encodings.exsd
deleted file mode 100644
index 8233521..0000000
--- a/bundles/org.eclipse.ui/schema/encodings.exsd
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="encodings" name="Encodings"/>
-      </appInfo>
-      <documentation>
-         A list of encodings that will be made available to the user for selection of file encodings. This list corresponds to the values of Charset#getName() for a series of Charsets. Those that are specified but not avaiable will be indicated as such in the workbench and will not be selectable by the user.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="encoding" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="encoding">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The name of the charset. If this value is sent to Charset#getName(String) the corresponding Charset would be returned.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/exportWizards.exsd b/bundles/org.eclipse.ui/schema/exportWizards.exsd
deleted file mode 100644
index b761a1d..0000000
--- a/bundles/org.eclipse.ui/schema/exportWizards.exsd
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="exportWizards" name="Export Wizards"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register export wizard extensions. Export wizards appear as choices within the &quot;Export Dialog&quot;, and are used to export resources from the workbench. 
-&lt;p&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="wizard" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="wizard">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-         <documentation>
-            an element that will be used to create export wizard
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this wizard
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the dialog box to represent this wizard
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements &lt;tt&gt;org.eclipse.ui.IExportWizard&lt;/tt&gt;
-interface
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.IExportWizard"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative name of the icon that will be used 
-alongside the wizard name in the export engine listing.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body should represent a short description
-of the export engine functionality.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="selection">
-      <annotation>
-         <documentation>
-            an optional element that restricts the types and names of objects that can be selected 
-when the wizard is invoked.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an export extension definition:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-       point=&quot;org.eclipse.ui.exportWizards&quot;&gt; 
-      &lt;wizard 
-         id=&quot;com.xyz.ExportWizard1&quot; 
-         name=&quot;XYZ Web Exporter&quot; 
-         class=&quot;com.xyz.exports.ExportWizard1&quot; 
-         icon=&quot;./icons/import1.gif&quot;&gt; 
-         &lt;description&gt; 
-            A simple engine that exports Web project 
-         &lt;/description&gt; 
-         &lt;selection class=&quot;org.eclipse.core.resources.IProject&quot;/&gt; 
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute 
-must be a name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IExportWizard&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench comes preloaded with basic export engines 
-for files and directories.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/fontDefinitions.exsd b/bundles/org.eclipse.ui/schema/fontDefinitions.exsd
deleted file mode 100644
index f9b28eb..0000000
--- a/bundles/org.eclipse.ui/schema/fontDefinitions.exsd
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="fontDefinitions" name="Font Definitions"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register fonts with the JFace FontRegistry and with the workbench preference store for use by the Fonts preference page.
-
-This extension point has been deprecated in 3.0.  You should now add fontDefinition elements to org.eclipse.ui.themes.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="fontDefinition" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontDefinition">
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this font definition.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the font to be presented to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  &lt;p&gt;the font value.  This is in the form: &lt;code&gt;fontname-style-height&lt;/code&gt; where &lt;code&gt;fontname&lt;/code&gt; is the name of a font, &lt;code&gt;style&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;height&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;  
-&lt;p&gt;
-Only one (or neither) of value or defaultsTo may be used.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  the optional id of the presentation category this font belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="defaultsTo" type="string">
-            <annotation>
-               <documentation>
-                  the id of another font definition that is the default setting for the receiver. When there is no preference for this font the font registry will have the value of defaultsTo set for it in the registry.
-&lt;p&gt;
-Only one or neither of value or defaultsTo may be used.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            a short description of the fonts usage
-         </documentation>
-      </annotation>
-      <complexType>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of an a font definition extension:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.fontDefinition&quot;&gt; 
-      &lt;fontDefinition 
-         id=&quot;org.eclipse.examples.textFont&quot; 
-         label=&quot;Text&quot;&gt; 
-         &lt;description&gt;
-            The text font
-         &lt;/description&gt;
-      &lt;/fontDefinition&gt; 
-
-      &lt;fontDefinition 
-        id=&quot;org.eclipse.examples.userFont&quot; 
-        label=&quot;User&quot;
-        defaultsTo=&quot;org.eclipse.jface.textFont&quot;&gt; 
-        &lt;description&gt;
-           The user font
-        &lt;/description&gt;
-      &lt;/fontDefinition&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The defaultsTo tag is used as a directive by
-the Workbench to set the value of the font definition to the value of defaultsTo
-whenever the defaultsTo fontDefinition is updated. This only occurs if the
-fontDefinition is at its default value - once it is set by the user this updates
-will not occur. The workbench provides 4 fonts: 
-&lt;P&gt;&lt;b&gt;org.eclipse.jface.bannerfont&lt;/b&gt;. The banner font is used in wizard banners.&lt;br&gt;
-&lt;b&gt;org.eclipse.jface.dialogfont&lt;/b&gt;. The dialog font is the font for widgets in dialogs.&lt;br&gt;
-&lt;b&gt;org.eclipse.jface.headerfont&lt;/b&gt;. The header font is used for section headers in composite text pages.&lt;br&gt;
-&lt;b&gt;org.eclipse.jface.textfont&lt;/b&gt;. The text font is used by text editors.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides the font
-definitions for the text, dialog, banner and header fonts.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/helpSupport.exsd b/bundles/org.eclipse.ui/schema/helpSupport.exsd
deleted file mode 100644
index cd05055..0000000
--- a/bundles/org.eclipse.ui/schema/helpSupport.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="helpSupport" name="HelpSupport"/>
-      </appInfo>
-      <documentation>
-         This extension point is for contributing the help system UI. The platform should be configured with no more than one help system UI.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="config" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="config">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the implementation class for displaying online and context-sensitive
-help.  This class must implement the &lt;samp&gt;org.eclipse.ui.help.AbstractHelpUI&lt;/samp&gt;
-interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.help.AbstractHelpUI"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0 (originally named org.eclipse.help.support)
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is a sample usage of the help support extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ui.helpSupport&quot;&gt;
-  &lt;config class=&quot;com.example.XYZHelpUI&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The supplied class must implement a subclass of &lt;samp&gt;org.eclipse.ui.help.AbstractHelpUI&lt;/samp&gt;. 
-Implementation of the abstract methods in that class
-determine what happens when a user asks for online help or context-sensitive help. The implementation should access contributed help information using org.eclipse.help.HelpSystem.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The &lt;samp&gt;org.eclipse.help.ui&lt;/samp&gt; plug-in contains an implementation of the help system UI.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/importWizards.exsd b/bundles/org.eclipse.ui/schema/importWizards.exsd
deleted file mode 100644
index e152d87..0000000
--- a/bundles/org.eclipse.ui/schema/importWizards.exsd
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="importWizards" name="Import Wizards"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register import wizard extensions. Import wizards appear as choices within the &quot;Import Dialog&quot; and are used to import resources into the workbench. 
-&lt;p&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="wizard" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="wizard">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-         <documentation>
-            an element that will be used to create import wizard
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this wizard
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the dialog box to represent this wizard
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements &lt;samp&gt;org.eclipse.ui.IImportWizard&lt;/samp&gt; interface
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.IImportWizard"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative name of the icon that will be used alongside the wizard name in the import engine listing.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body should represent a short description of the import engine functionality.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="selection">
-      <annotation>
-         <documentation>
-            an optional element that restricts the types and names of objects that can be selected when the wizard is invoked.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an import extension definition: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-       point=&quot;org.eclipse.ui.importWizards&quot;&gt; 
-      &lt;wizard 
-         id=&quot;com.xyz.ImportWizard1&quot; 
-         name=&quot;XYZ Web Scraper&quot; 
-         class=&quot;com.xyz.imports.ImportWizard1&quot; 
-         icon=&quot;./icons/import1.gif&quot;&gt; 
-         &lt;description&gt; 
-            A simple engine that searches the Web and imports files 
-         &lt;/description&gt; 
-         &lt;selection class=&quot;org.eclipse.core.resources.IResource&quot;/&gt; 
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must represent a name of the class that implements 
- &lt;samp&gt;org.eclipse.ui.IImportWizard&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench comes preloaded with the basic import engines for files and directories.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/intro.exsd b/bundles/org.eclipse.ui/schema/intro.exsd
deleted file mode 100644
index 4a18e7a..0000000
--- a/bundles/org.eclipse.ui/schema/intro.exsd
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="intro" name="Intro Part"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;This extension point is used to register implementations of special workbench parts, called intro parts, that are responsible for introducing a product to new users. An intro part is typically shown the first time a product is started up. Rules for associating an intro part implementation with particular products are also contributed via this extension point.
-&lt;/p&gt;
-The life cycle is as follows:
-&lt;ul&gt;
-&lt;li&gt;The intro area is created on workbench start up. As with editor and view areas, this area is managed by an intro site (implementing &lt;code&gt;org.eclipse.ui.intro.IIntroSite&lt;/code&gt;).&lt;/li&gt;
-&lt;li&gt;The id of the current product (Platform.getProduct()) is used to choose the relevant intro part implementation.
-&lt;/li&gt;
-&lt;li&gt;The intro part class (implementing &lt;code&gt;org.eclipse.ui.intro.IIntroPart&lt;/code&gt;) is created and initialized with the intro site.
-&lt;/li&gt;
-&lt;li&gt;While the intro part is showing to the user, it can transition back and forth between full and standby mode (either programmatically or explicitly by the user).
-&lt;/li&gt;
-&lt;li&gt;Eventually the intro part is closed (either programmatically or explicitly by the user). The current perspective takes over the entire workbench window area.
-&lt;/li&gt;
-&lt;/ul&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="intro" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="introProductBinding" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="intro">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="id" icon="icon"/>
-         </appInfo>
-         <documentation>
-            Specifies an introduction. An introduction is a product-specific presentation shown to first-time users on product start up.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier for this introduction
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a plug-in-relative file name of the icon that will be associated with this introduction
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class implementing the &lt;code&gt;org.eclipse.ui.intro.IIntroPart&lt;/code&gt; interface.  A common practice 
-is to subclass &lt;samp&gt;org.eclipse.ui.part.intro.IntroPart&lt;/samp&gt; 
-in order to inherit the default functionality.  This class implements the introduction.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.intro.IIntroPart"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="introProductBinding">
-      <annotation>
-         <documentation>
-            Specifies a binding between a product and an introduction. These bindings determine which introduction is appropriate for the current product (as defined by &lt;code&gt;org.eclipse.core.runtime.Platform.getProduct()&lt;/code&gt;).
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="productId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique id of a product
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="introId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  unique id of an introduction
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an intro part extension that contributes an particular introduction and associates it with a particular product:
-&lt;p&gt;
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.ui.intro&quot;&gt;
-     &lt;intro
-        id=&quot;com.example.xyz.intro.custom&quot;
-        class=&quot;com.example.xyz.intro.IntroPart&quot;/&gt;
-     &lt;introProductBinding
-        productId=&quot;com.example.xyz.Product&quot;
-        introId=&quot;com.example.xyz.intro.custom&quot;/&gt;
-  &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;code&gt;class&lt;/code&gt; attribute must be the fully qualified name of a class that implements the&lt;code&gt;org.eclipse.ui.intro.IIntroPart&lt;/code&gt; interface by subclassing &lt;code&gt;org.eclipse.ui.part.intro.IntroPart&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         There are no default implementations of the initial user experience. Each Eclipse-based product is responsible for providing one that is closely matched to its branding and function.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/keywords.exsd b/bundles/org.eclipse.ui/schema/keywords.exsd
deleted file mode 100644
index 185f516..0000000
--- a/bundles/org.eclipse.ui/schema/keywords.exsd
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="keywords" name="Keywords"/>
-      </appInfo>
-      <documentation>
-         The keywords extension point defines keywords and a unique id for reference by other schemas.
-
-See propertyPages and preferencePages.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <choice>
-            <element ref="keyword" minOccurs="0" maxOccurs="unbounded"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keyword">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id is the unique id used to reference the keyword.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The human readable label of the keyword
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/newWizards.exsd b/bundles/org.eclipse.ui/schema/newWizards.exsd
deleted file mode 100644
index 061da1a..0000000
--- a/bundles/org.eclipse.ui/schema/newWizards.exsd
+++ /dev/null
@@ -1,324 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="newWizards" name="Creation Wizards"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register resource creation wizard extensions. Creation wizards appear as choices within the &quot;New Dialog&quot;, and are typically used to create folders and files. 
-&lt;p&gt;
-In the &quot;New Dialog&quot;, wizards are organized into categories which usually reflect a particular problem domain.  For instance, a Java oriented plugin may define a category called &quot;Java&quot; which is appropriate for &quot;Class&quot; or &quot;Package&quot; creation wizards.  The categories defined by one plug-in can be referenced by other plug-ins using the category attribute. Uncategorized wizards, as well as wizards with invalid category paths, will end up in an &quot;Other&quot; category. 
-&lt;/p&gt;
-
-&lt;p&gt;
-Wizards may optionally specify a description subelement whose body should contain short text about the wizard.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="category"/>
-            <element ref="wizard"/>
-            <element ref="primaryWizard"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the category that will be used in the dialog box
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parentCategory" type="string">
-            <annotation>
-               <documentation>
-                  a path to another category if this category should be added as a child
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="wizard">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this wizard
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the wizard that will be used in the dialog box
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon that will be used together with the name to represent the wizard 
-as one of the choices in the creation dialog box.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) of category IDs. Each token in the
-path must represent a valid category ID previously defined
-by this or some other plug-in. If omitted, the wizard will be
-added to the &quot;Other&quot; category.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the Java class implementing &lt;samp&gt;org.eclipse.ui.INewWizard&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.ui.INewWizard"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="project" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the wizard will create an IProject resource.
-Also causes the wizard to appear as a choice within the &quot;New Project Dialog&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="finalPerspective" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute which identifies a perspective to activate when IProject resource creation is finished.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="preferredPerspectives" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute specifying a comma-separated list of perspective IDs.  If the current perspective is in this list, then no perspective activation occurs when IProject resource creation is finished.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="helpHref" type="string">
-            <annotation>
-               <documentation>
-                  a help url that can describe this wizard in detail.
-&lt;p&gt;
-Since 3.0
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="descriptionImage" type="string">
-            <annotation>
-               <documentation>
-                  a larger image that can help describe this wizard.
-&lt;p&gt;
-Since 3.0
-&lt;/p&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body contains a short text describing what the wizard will do when started
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="selection">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified class name.  If each object in the workbench selection implements this interface the selection will be passed to the wizard.  Otherwise, an empty selection is passed
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name filter.  Each object in the workbench selection must match the name filter to be passed to the wizard
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="primaryWizard">
-      <annotation>
-         <documentation>
-            a means of declaring that a wizard is &quot;primary&quot; in the UI.  A primary wizard is emphasized in the new wizard dialog.  Please note that this element is not intended to be used by plug in developers!  This element exists so that product managers may emphasize a set of wizards for their products.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of a wizard that should be made primary.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of creation wizard configuration: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.newWizards&quot;&gt; 
-      &lt;category 
-        id=&quot;com.xyz.XYZ&quot; 
-        name=&quot;XYZ Wizards&quot;&gt; 
-      &lt;/category&gt; 
-      &lt;category 
-        id=&quot;com.xyz.XYZ.Web&quot; 
-        name=&quot;Web Wizards&quot; 
-        parentCategory=&quot;com.xyz.XYZ&quot;&gt; 
-      &lt;/category&gt; 
-      &lt;wizard 
-          id=&quot;com.xyz.wizard1&quot; 
-          name=&quot;XYZ artifact&quot; 
-          category=&quot;com.xyz.XYZ/com.xyz.XYZ.Web&quot; 
-          icon=&quot;./icons/XYZwizard1.gif&quot; 
-          class=&quot;com.xyz.XYZWizard1&quot;&gt; 
-          &lt;description&gt; 
-              Create a simple XYZ artifact and set initial content 
-          &lt;/description&gt; 
-           &lt;selection class=&quot;org.eclipse.core.resources.IResource&quot;/&gt;          
-      &lt;/wizard&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the class attribute must represent a class 
-that implements &lt;samp&gt;org.eclipse.ui.INewWizard&lt;/samp&gt;. 
-If the wizard is created from within the 
-New Wizard it will be inserted into the existing wizard.  
-If the wizard is launched as a shortcut 
-(from the File New menu or a toolbar button) it will 
-appear standalone as a separate dialog box.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench comes with wizards for creating empty 
-resources of the following types: 
-project, folder and file. These wizards are registered 
-using the same mechanism as described above. 
-Additional wizards may also appear, subject to 
-particular platform installation.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd b/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
deleted file mode 100644
index 924e74b..0000000
--- a/bundles/org.eclipse.ui/schema/perspectiveExtensions.exsd
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="perspectiveExtensions" name="Perspective Extensions"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to extend perspectives 
-registered by other plug-ins. A perspective defines 
-the initial contents of the window action bars 
-(menu and toolbar) and the initial set of views 
-and their layout within a workbench page.  
-Other plug-ins may contribute actions or views to 
-the perspective which appear when the perspective 
-is selected.  Optional additions by other plug-ins 
-are appended to the initial definition.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="perspectiveExtension" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="perspectiveExtension">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="targetID"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="actionSet"/>
-            <element ref="viewShortcut"/>
-            <element ref="perspectiveShortcut"/>
-            <element ref="newWizardShortcut"/>
-            <element ref="view"/>
-            <element ref="showInPart"/>
-         </choice>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the perspective (as specified in the registry) into which the contribution is made.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="actionSet">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the action set which will be added to the perspective.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="viewShortcut">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the view which will be added to the perspective&apos;s &quot;Show View&quot; submenu of the &quot;Window&quot; menu.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="perspectiveShortcut">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the perspective which will be added to the perspective&apos;s &quot;Open Perspective&quot; submenu of the &quot;Window&quot; menu.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="newWizardShortcut">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the new wizard which will be added to the perspective&apos;s &quot;New&quot; submenu of the &quot;File&quot; menu.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="showInPart">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  the unique identifier of the view which will be added to the perspective&apos;s &quot;Show In...&quot; prompter in the Navigate menu.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="view">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of the view which will be added to the perspective layout.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="relative" type="string">
-            <annotation>
-               <documentation>
-                  the unique identifier of a view which already exists in the perspective.  This will be used as a reference point for placement of the view.  The relationship between these two views is defined by &lt;samp&gt;relationship&lt;/samp&gt;.  Ignored if relationship is &quot;fast&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="relationship" use="required">
-            <annotation>
-               <documentation>
-                  specifies the relationship between &lt;samp&gt;id&lt;/samp&gt; and
-&lt;samp&gt;relative&lt;/samp&gt;. 
-The following values are supported:
-&lt;ul&gt;
-&lt;b&gt;fast&lt;/b&gt; - the view extension will be created as a fast view.
-&lt;br&gt;&lt;b&gt;stack&lt;/b&gt; - the view extension will be stacked with the relative
-view in a folder.
-&lt;br&gt;&lt;b&gt;left, right, top, bottom&lt;/b&gt; - the view extension will be placed
-beside the relative view. In this case a &lt;samp&gt;ratio&lt;/samp&gt; must also
-be defined.&lt;/ul&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="stack">
-                  </enumeration>
-                  <enumeration value="left">
-                  </enumeration>
-                  <enumeration value="right">
-                  </enumeration>
-                  <enumeration value="top">
-                  </enumeration>
-                  <enumeration value="bottom">
-                  </enumeration>
-                  <enumeration value="fast">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="ratio" type="string">
-            <annotation>
-               <documentation>
-                  the percentage of area within the relative view which will be donated to the view extension. If the view extension is a fast view, the ratio is the percentage of the workbench the fast view will cover when active. This must be defined as a floating point value and lie between 0.05 and 0.95.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="visible" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is initially visible when the perspective is opened.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.
-If this attribute is not used, the view will be initially visible by default.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="closeable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is closeable in the target perspective. This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.  If this attribute is not used, the view will be closeable, unless the perspective itself is marked as fixed.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="moveable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is moveable.  A non-moveable view cannot be moved either within the same folder, or moved between folders in the perspective.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.
-If this attribute is not used, the view will be moveable, unless the perspective itself is marked as fixed.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="standalone" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view is a standalone view.  A standalone view cannot be docked together with others in the same folder.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.  This attribute is ignored if the relationship attribute is &quot;fast&quot; or &quot;stacked&quot;.  If this attribute is not used, the view will be a regular view, not a standalone view (default is &quot;false&quot;).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="showTitle" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the view&apos;s title is shown.  This attribute should have a value of &quot;true&quot; or &quot;false&quot; if used.  This attribute only applies to standalone views.  If this attribute is not used, the view&apos;s title will be shown (default is &quot;true&quot;).
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a perspective extension (note the subelements and the way attributes are used):
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point=&quot;org.eclipse.ui.perspectiveExtensions&quot;&gt; 
-        &lt;perspectiveExtension 
-            targetID=&quot;org.eclipse.ui.resourcePerspective&quot;&gt; 
-            &lt;actionSet id=&quot;org.eclipse.jdt.ui.JavaActionSet&quot;/&gt; 
-            &lt;viewShortcut id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot;/&gt; 
-            &lt;newWizardShortcut id=&quot;org.eclipse.jdt.ui.wizards.NewProjectCreationWizard&quot;/&gt; 
-            &lt;perspectiveShortcut id=&quot;org.eclipse.jdt.ui.JavaPerspective&quot;/&gt; 
-            &lt;view id=&quot;org.eclipse.jdt.ui.PackageExplorer&quot; 
-                relative=&quot;org.eclipse.ui.views.ResourceNavigator&quot; 
-                relationship=&quot;stack&quot;/&gt; 
-            &lt;view id=&quot;org.eclipse.jdt.ui.TypeHierarchy&quot; 
-                relative=&quot;org.eclipse.ui.views.ResourceNavigator&quot; 
-                relationship=&quot;left&quot; 
-                ratio=&quot;0.50&quot;/&gt; 
-        &lt;/perspectiveExtension&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, an action set, view shortcut, 
-new wizard shortcut, and perspective shortcut are 
-contributed to the initial contents of the 
-Resource Perspective.  In addition, the 
-Package Explorer view is stacked on the 
-Resource Navigator and the Type Hierarchy View is 
-added beside the Resource Navigator. 
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The items defined within the perspective extension are contributed to the initial contents of the target perspective.  Following this, the user may remove any contribution or add others to a perspective from within the workbench user interface.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/perspectives.exsd b/bundles/org.eclipse.ui/schema/perspectives.exsd
deleted file mode 100644
index 7d59afc..0000000
--- a/bundles/org.eclipse.ui/schema/perspectives.exsd
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="perspective" name="Perspectives"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add perspective factories to the workbench.  A perspective factory is used to define the initial layout and visible action sets for a perspective.  The user can select a perspective by invoking the &quot;Open Perspective&quot; submenu of the &quot;Window&quot; menu.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="perspective" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="perspective">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this perspective.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the workbench window menu bar to represent this perspective.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IPerspectiveFactory&lt;/samp&gt; interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IPerspectiveFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative name of the icon that will be associated 
-with this perspective.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="fixed" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether the layout of the perspective is fixed.  If true, then views created by the perspective factory are not closeable, and cannot be moved.  The default is false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body should contain text providing a short description of the perspective.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a perspective extension: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-        point=&quot;org.eclipse.ui.perspectives&quot;&gt; 
-        &lt;perspective 
-            id=&quot;org.eclipse.ui.resourcePerspective&quot; 
-            name=&quot;Resource&quot; 
-            class=&quot;org.eclipse.ui.internal.ResourcePerspective&quot; 
-            icon=&quot;icons/MyIcon.gif&quot;&gt; 
-        &lt;/perspective&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be the 
-fully qualified name of a class that implements 
-&lt;samp&gt;org.eclipse.ui.IPerspectiveFactory&lt;/samp&gt;. 
-The class must supply the initial layout for a 
-perspective when asked by the workbench.
-&lt;p&gt;
-The &lt;samp&gt;plugin_customization.ini&lt;/samp&gt; file is used to define the default perspective.  The &lt;i&gt;default perspective&lt;/i&gt; is the first perspective which appears when the product is launched after install.  It is also used when the user opens a page or window with no specified perspective.  The default perspective is defined as a property within the plugin_customization.ini, as shown below.  The user may also override this perspective from the workbench perspectives preference page. 
-&lt;pre&gt;
-    defaultPerspectiveId = org.eclipse.ui.resourcePerspective 
-&lt;/pre&gt;
-The perspectives which appear in the &quot;Open Perspective&quot; menu are shortcuts for perspective selection.  This set is defined by the active perspective itself, and extensions made through the perspectiveExtensions extension point.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides a &quot;Resource Perspective&quot;.  
-Additional perspectives may be added by plug-ins. 
-They are selected using the &quot;Open Perspective&quot; submenu of the &quot;Window&quot; menu.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/popupMenus.exsd b/bundles/org.eclipse.ui/schema/popupMenus.exsd
deleted file mode 100644
index e313e01..0000000
--- a/bundles/org.eclipse.ui/schema/popupMenus.exsd
+++ /dev/null
@@ -1,582 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="popupMenus" name="Pop-up Menus"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add new actions to context menus owned by other plug-ins.  Action contribution may be made against a specific object type (&lt;samp&gt;objectContribution&lt;/samp&gt;) or against a specific context menu of a view or editor part (&lt;samp&gt;viewerContribution&lt;/samp&gt;). When using &lt;samp&gt;objectContribution&lt;/samp&gt;, the contribution will appear in all view or editor part context menus where objects of the specified type are selected. In contrast, using &lt;samp&gt;viewerContribution&lt;/samp&gt;, the contribution will only appear in the specified view or editor part context menu, regardless of the selection.
-&lt;p&gt;
-When selection is heterogeneous, contribution will be applied if registered against a common type of the selection, if possible. If a direct match is not possible, matching against superclasses and superinterfaces will be attempted. 
-&lt;p&gt;
-Selection can be further constrained through the use of a name filter. If used, all the objects in the selection must match the filter in order to apply the contribution. 
-&lt;p&gt;
-Individual actions in an object contribution can use attribute enablesFor to specify if it should only apply for a single, multiple, or any other selection type. 
-&lt;p&gt;
-If these filtering mechanisms are inadequate an action contribution may use the &lt;samp&gt;filter&lt;/samp&gt; mechanism.  In this case the attributes of the target object are described in a series of name value pairs.  The attributes which apply to the selection are type specific and beyond the domain of the workbench itself, so the workbench will delegate filtering at this level to the actual selection.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="commonAction.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="objectContribution"/>
-            <element ref="viewerContribution"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="objectContribution">
-      <annotation>
-         <documentation>
-            This element is used to define a group of actions and/or menus for any viewer context menus for which the objects of the specified type are selected.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="visibility" minOccurs="0" maxOccurs="1"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used to reference this contribution
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="objectClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class or interface that all objects in the 
-selection must subclass or implement.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.lang.object"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="nameFilter" type="string">
-            <annotation>
-               <documentation>
-                  an optional wild card filter for the name that can be applied to all objects in the selection. No contribution will take place if there is no match.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="adaptable" type="boolean" use="default" value="false">
-            <annotation>
-               <documentation>
-                  a flag that indicates if types that adapt to IResource should use this object contribution. This flag is used only if objectClass adapts to IResource.  Default value is false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="viewerContribution">
-      <annotation>
-         <documentation>
-            This element is used to define a group of actions and/or menus for a specific view or editor part context menu.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="visibility" minOccurs="0" maxOccurs="1"/>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used to reference this contribution
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of a context menu inside a view or editor part.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-         <documentation>
-            This element defines an action that the user can invoke in the UI.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used as a reference for this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used as the menu item text. The name can include mnenomic information.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="definitionId" type="string">
-            <annotation>
-               <documentation>
-                  This specifies the command that this action is handling.  This is used to decide which key binding to display in the pop-up menu.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="menubarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the context menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will be added to the standard additions group defined by &lt;samp&gt;IWorkbenchActionConstants.MB_ADDITIONS&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context.
-The path is relative to the location of the plugin.xml file of the contributing plug-in.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="style">
-            <annotation>
-               <documentation>
-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;pulldown&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a cascading style menu item.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="push">
-                  </enumeration>
-                  <enumeration value="radio">
-                  </enumeration>
-                  <enumeration value="toggle">
-                  </enumeration>
-                  <enumeration value="pulldown">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IObjectActionDelegate&lt;/samp&gt; (for object contributions), &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; (for viewer contributions to a view part), or &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt; (for viewer contributions to an editor part).  For backwards compatibility, &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; may be implemented for object contributions.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-&lt;p&gt;
-The enablement criteria for an action extension are initially defined 
-by &lt;samp&gt;enablesFor&lt;/samp&gt;, &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt;.  However, once the action
-delegate has been instantiated it may control the action enable state directly 
-within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="overrideActionId" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that specifies the identifier of an action which this action overrides. The action represented by this identifier will not be contributed to the context menu. The action identifier must be from a prerequisite plug-in only. This attribute is only applicable to action elements of an object contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="tooltip" type="string">
-            <annotation>
-               <documentation>
-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filter">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-         <documentation>
-            This element is used to evaluate the attribute state of each object in the current selection. A match only if each object in the selection has the specified attribute state. Each object in the selection must implement, or adapt to, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of an object&apos;s attribute. Acceptable names reflect the object type, and should be publicly declared by the plug-in where the object type is declared.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the required value of the object&apos;s attribute. The acceptable values for the object&apos;s attribute should be publicly declared.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a pop-up menu extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;objectContribution 
-         id=&quot;com.xyz.C1&quot; 
-         objectClass=&quot;org.eclipse.core.resources.IFile&quot; 
-         nameFilter=&quot;*.java&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            path=&quot;additions&quot; 
-            label=&quot;&amp;amp;XYZ Java Tools&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot;
-            style=&quot;push&quot;
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZToolActionDelegate&quot; 
-            enablesFor=&quot;1&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/objectContribution&gt; 
-      &lt;viewerContribution 
-         id=&quot;com.xyz.C2&quot; 
-         targetID=&quot;org.eclipse.ui.views.TaskList&quot;&gt; 
-         &lt;action
-            id=&quot;com.xyz.showXYZ&quot; 
-            label=&quot;&amp;amp;Show XYZ&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot;
-            menubarPath=&quot;additions&quot; 
-            icon=&quot;icons/showXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.show_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZShowActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/viewerContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-In the example above, the specified object contribution action will only enable for a single selection (&lt;samp&gt;enablesFor&lt;/samp&gt; attribute). In addition, each object in the selection must implement the specified interface (&lt;samp&gt;IFile&lt;/samp&gt;) and must be a Java file. This action will be added into a submenu previously created. This contribution 
-will be effective in any view that has the required selection. 
-&lt;p&gt;
-In contrast, the viewer contribution above will only appear in the Tasks view context menu, and will not be affected by the selection in the view. 
-&lt;p&gt;
-The following is an example of the filter mechanism. In this case the action will only appear for IMarkers which are completed and have high priority. 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;objectContribution 
-         id=&quot;com.xyz.C3&quot; 
-         objectClass=&quot;org.eclipse.core.resources.IMarker&quot;&gt; 
-         &lt;filter name=&quot;done&quot; value=&quot;true&quot;/&gt; 
-         &lt;filter name=&quot;priority&quot; value=&quot;2&quot;/&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;High Priority Completed Action Tool&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            class=&quot;com.xyz.actions.MarkerActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/objectContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-The following is an other example of using the visibility element: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.popupMenus&quot;&gt; 
-      &lt;viewerContribution 
-         id=&quot;com.xyz.C4&quot; 
-         targetID=&quot;org.eclipse.ui.views.TaskList&quot;&gt;
-         &lt;visibility&gt;
-            &lt;and&gt;
-               &lt;pluginState id=&quot;com.xyz&quot; value=&quot;activated&quot;/&gt;
-               &lt;systemProperty name=&quot;ADVANCED_MODE&quot; value=&quot;true&quot;/&gt;
-            &lt;/and&gt;
-         &lt;/visibility&gt;
-         &lt;action
-            id=&quot;com.xyz.showXYZ&quot; 
-            label=&quot;&amp;amp;Show XYZ&quot;
-            style=&quot;push&quot;
-            menubarPath=&quot;additions&quot; 
-            icon=&quot;icons/showXYZ.gif&quot; 
-            helpContextId=&quot;com.xyz.show_action_context&quot; 
-            class=&quot;com.xyz.actions.XYZShowActionDelegate&quot;&gt; 
-         &lt;/action&gt; 
-      &lt;/viewerContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item in the Task view context menu, but only if the &quot;com.xyz&quot; plug-in is active and the specified system property is set to true.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the action attribute &lt;samp&gt;class&lt;/samp&gt;
-must be a fully qualified class name of a Java class 
-that implements &lt;samp&gt;org.eclipse.ui.IObjectActionDelegate&lt;/samp&gt;
-in the case of object contributions, 
-&lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;
-for contributions to context menus that belong to views, 
-or &lt;samp&gt;org.eclipse.ui.IEditorActionDelegate&lt;/samp&gt;
-for contributions to context menus that belong to editors.  
-In all cases, the implementing class is loaded as late 
-as possible to avoid loading the entire plug-in before 
-it is really needed. 
-&lt;p&gt;
-Note: For backwards compatibility, 
-&lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; may be 
-implemented for object contributions. 
-&lt;p&gt;
-Conext menu extension within a part is only possible 
-when the target part publishes a menu for extension.  
-This is strongly encouraged, as it improves the 
-extensibility of the product. To accomplish this 
-each part should publish any context menus which are 
-defined by calling 
-&lt;samp&gt;IWorkbenchPartSite.registerContextMenu&lt;/samp&gt;.  
-Once this has been done the workbench will 
-automatically insert any action extensions which exist. 
-&lt;p&gt;
-A menu id must be provided for each registered menu.  
-For consistency across parts the following strategy 
-should be adopted by all part implementors. 
-&lt;p&gt;
-&lt;ul&gt;
-&lt;li&gt;
-If the target part has only one context menu it 
-should be registered with id == part id.  This can be 
-done easily by calling 
-&lt;samp&gt;registerContextMenu(MenuManager, ISelectionProvider)&lt;/samp&gt;.  
-Extenders may use the part id itself as the targetID for 
-the action extension. &lt;/li&gt;
-&lt;li&gt;
-If the target part has more than one context menu a 
-unique id should be defined for each.  Prefix each id 
-with the part id and publish these id&apos;s within 
-the javadoc for the target part.  Register each 
-menu at runtime by calling 
-&lt;samp&gt;registerContextMenu(String, MenuManager, ISelectionProvider)&lt;/samp&gt;. 
-Extenders will use the unique menu id as the targetID 
-for the action extension. &lt;/li&gt;&lt;/ul&gt;
-&lt;p&gt;
-Any context menu which is registered with the workbench 
-also should contain a standard insertion point with id 
-&lt;samp&gt;IWorkbenchActionConstants.MB_ADDITIONS&lt;/samp&gt;.  
-Other plug-ins will use this value as a reference 
-point for insertion.  The insertion point may be 
-defined by adding a GroupMarker to the menu at an 
-appropriate location for insertion. 
-&lt;p&gt;
-An object in the workbench which is the selection 
-in a context menu may define an 
-&lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.  This is a 
-filtering strategy which can perform type specific 
-filtering.  The workbench will retrieve the filter 
-for the selection by testing to see if it implements 
-&lt;samp&gt;IActionFilter&lt;/samp&gt;.  If that fails, the 
-workbench will ask for a filter through the 
-&lt;samp&gt;IAdaptable&lt;/samp&gt; mechanism.
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics which are specified using the ampersand (&apos;&amp;amp;&apos;) character in front of a selected character in the translated text. Since ampersand is not allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity. 
-&lt;p&gt;
-If two or more actions are contributed to a menu by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench views have built-in context menus 
-that already come loaded with a number of actions. 
-Plug-ins can contribute to these menus. If a viewer 
-has reserved slots for these contributions and they 
-are made public, slot names can be used as paths. 
-Otherwise, actions and submenus will be added at 
-the end of the pop-up menu.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/preferencePages.exsd b/bundles/org.eclipse.ui/schema/preferencePages.exsd
deleted file mode 100644
index d77de6c..0000000
--- a/bundles/org.eclipse.ui/schema/preferencePages.exsd
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="preferencePages" name="Preference Pages"/>
-      </appInfo>
-      <documentation>
-         The workbench provides one common dialog box for preferences.
-The purpose of this extension point is to allow plug-ins to add
-pages to the preference dialog box. When preference dialog box
-is opened (initiated from the menu bar), pages contributed in
-this way will be added to the dialog box. 
-
-&lt;p&gt;
-The preference dialog
-box provides for hierarchical grouping of the pages. For this
-reason, a page can optionally specify a &lt;samp&gt;category&lt;/samp&gt; attribute.
-This
-attribute represents a path composed of parent page IDs separated
-by &apos;/&apos;. If this attribute is omitted or if any of the parent
-nodes in the path cannot be found, the page will be added at
-the root level.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="group" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="keyword" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="page">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="keywordReference" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this page.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the UI for this page.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a name of the fully qualified class that implements 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchPreferencePage&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.preference.PreferencePage:org.eclipse.ui.IWorkbenchPreferencePage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  a path indicating the location of the page in the preference tree. The path may either be a parent node ID or a sequence
-     of IDs separated by &apos;/&apos;, representing the full path from the root node.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keywordReference">
-      <annotation>
-         <documentation>
-            A reference by a preference page to a keyword. See the keywords extension point.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id of the keyword being referred to.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example for the preference extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-       point=&quot;org.eclipse.ui.preferencePages&quot;&gt; 
-      &lt;page 
-         id=&quot;com.xyz.prefpage1&quot; 
-         name=&quot;XYZ&quot; 
-         class=&quot;com.xyz.prefpages.PrefPage1&quot;&gt; 
-         &lt;keywordReference id=&quot;xyz.Keyword&quot;/&gt;
-      &lt;/page&gt; 
-      &lt;page 
-         id=&quot;com.xyz.prefpage2&quot; 
-         name=&quot;Keyboard Settings&quot; 
-         class=&quot;com.xyz.prefpages.PrefPage2&quot; 
-         category=&quot;com.xyz.prefpage1&quot;&gt; 
-      &lt;/page&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the attribute class must represent a fully qualified name of the class that implements
-&lt;samp&gt;org.eclipse.ui.IWorkbenchPreferencePage&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench adds several pages for setting the preferences of the platform. Pages registered
-through this extension will be added after them according to their category information.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/preferenceTransfer.exsd b/bundles/org.eclipse.ui/schema/preferenceTransfer.exsd
deleted file mode 100644
index 1b12641..0000000
--- a/bundles/org.eclipse.ui/schema/preferenceTransfer.exsd
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="preferenceTransfer" name="Preference Transfer"/>
-      </appInfo>
-      <documentation>
-         The workbench provides support for maintaining preferences.
-The purpose of this extension point is to allow plug-ins to add
-specific support for saving and loading specific groups of preferences.
-Typically this is used for operations such as Import and Export.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="transfer" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="transfer">
-      <complexType>
-         <sequence>
-            <element ref="mapping" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this transfer
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in UI when listing this item
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements &lt;tt&gt;org.eclipse.core.runtime.preferences.IPreferenceFilter&lt;/tt&gt;
-interface.  Either the class attribute OR 1 or more mapping elements must be specified.  If both are provided then the mapping element(s) will be used.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.core.runtime.preferences.IPreferenceFilter"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative name of the icon that will be used when displaying the transfer
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body should represent a short description
-of the transfer engine functionality.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="mapping">
-      <annotation>
-         <documentation>
-            a subelement which represents a &lt;tt&gt;org.eclipse.core.runtime.preferences.IPreferenceFilter&lt;/tt&gt;.  It specifies 1 or more mappings from a scope &lt;tt&gt;org.eclipse.core.runtime.preferences.IScope&lt;/tt&gt; to 0 or more nodes where 0 or more keys are specified per node.  The rules for export and import behaviour for a filter can be found in the specifications in &lt;tt&gt;org.eclipse.core.runtime.preferences.IPreferenceFilter&lt;/tt&gt;.  Either the class attribute for a transfer OR 1 or more mapping elements must be specified.  If both are provided then the mapping element will be chosen.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="entry" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="scope" type="string" use="required">
-            <annotation>
-               <documentation>
-                  an attribute specifying the name of the scope to map the provided nodes and keys to (for example &quot;instance&quot;)
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="entry">
-      <annotation>
-         <documentation>
-            a subelement specifing the nodes and keys that are to be transferred for a given scope
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="node" type="string">
-            <annotation>
-               <documentation>
-                  an attribute specifing the preference node within the given scope to be transferred
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="keys" type="string">
-            <annotation>
-               <documentation>
-                  an attribute specifing a comma separated list of preference keys within the given node to be transferred
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
- Example that export all tranfers, exports all nodes for specified scopes.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.preferenceTransfer&quot;&gt;
-       &lt;transfer
-            icon=&quot;XYZ.gif&quot;
-            name=&quot;Export All Transfer Test&quot;
-            id=&quot;org.eclipse.ui.tests.all&quot;&gt;
-            &lt;mapping scope=&quot;instance&quot;&gt;
-            &lt;/mapping&gt;
-   &lt;mapping scope=&quot;configuration&quot;&gt;
-            &lt;/mapping&gt;
-            &lt;mapping scope=&quot;project&quot;&gt;
-            &lt;/mapping&gt;
-   &lt;description&gt;
-             Export all tranfer, exports all nodes for specified scopes
-      &lt;/description&gt;
-    &lt;/transfer&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-   Very Simple Transfer only provides required info and no more.  
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.preferenceTransfer&quot;&gt;
-       &lt;transfer
-            name=&quot;Bare Bones Transfer Test&quot;
-            id=&quot;org.eclipse.ui.tests.all&quot;&gt;
-            &lt;mapping scope=&quot;instance&quot;&gt;
-            &lt;/mapping&gt;
-    &lt;/transfer&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-   Example that exports many combinations of keys and nodes 
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.preferenceTransfer&quot;&gt;
-       &lt;transfer
-            icon=&quot;XYZ.gif&quot;
-            name=&quot;Export many preferences&quot;
-            id=&quot;org.eclipse.ui.tests.all&quot;&gt;
-            &lt;mapping scope=&quot;instance&quot;&gt;
-                &lt;entry node=&quot;org.eclipse.ui&quot; keys=&quot;showIntro,DOCK_PERSPECTIVE_BAR&quot;/&gt;
-                &lt;entry node=&quot;org.eclipse.ui.workbench&quot; keys=&quot;bogus,RUN_IN_BACKGROUND&quot;/&gt;
-                &lt;entry node=&quot;org.eclipse.ui.ide&quot;/&gt;
-                &lt;entry node=&quot;org.eclipse.core.resources&quot;/&gt;
-            &lt;/mapping&gt;
-   &lt;mapping scope=&quot;configuration&quot;&gt;
-            &lt;/mapping&gt;
-   &lt;description&gt;
-             Export many combinations of keys and nodes
-      &lt;/description&gt;
-    &lt;/transfer&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the attribute class if provided must represent a fully qualified name of a class that implements
-&lt;samp&gt;org.eclipse.core.runtime.preferences.IPreferenceFilter&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/presentationFactories.exsd b/bundles/org.eclipse.ui/schema/presentationFactories.exsd
deleted file mode 100644
index 1d35e0c..0000000
--- a/bundles/org.eclipse.ui/schema/presentationFactories.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.workbench">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.workbench" id="presentationFactories" name="Presentation Factories"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add presentation factories to the workbench.
-         A presentation factory defines the overall look and feel of the workbench,
-         including how views and editors are presented.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="factory" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="factory">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Specify the fully qualified class to be used for the presentation factory.  The specified value must be a subclass of &lt;code&gt;org.eclipse.ui.presentations.AbstractPresentationFactory&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.presentations.AbstractPresentationFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this presentation factory
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that can be used to show this presentation factory in the UI
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a presentationFactory extension:
-&lt;pre&gt;
-  &lt;extension point=&quot;org.eclipse.ui.presentationFactories&quot;&gt;
-     &lt;factory
-        class=&quot;org.eclipse.ui.workbench.ExampleWorkbenchPresentationFactory&quot;/&gt;
-  &lt;/extension&gt;
-  &lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The class specified in the factory element must be a concrete subclass of &lt;code&gt;org.eclipse.ui.presentations.AbstractPresentationFactory&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         If a presentation factory is not specified or is missing then the implementation in &lt;code&gt;org.eclipse.ui.presentations.WorkbenchPresentationFactory&lt;/code&gt; will be used.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/propertyPages.exsd b/bundles/org.eclipse.ui/schema/propertyPages.exsd
deleted file mode 100644
index 2794e16..0000000
--- a/bundles/org.eclipse.ui/schema/propertyPages.exsd
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="propertyPages" name="Property Pages"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add additional property page for objects of a given type.  Once defined, these property pages will appear in the Properties Dialog for objects of that type. 
-&lt;p&gt;
-A property page is a user friendly way to interact with the properties of an object.  Unlike the Properties view, which restricts the space available for editing an object property, a property page may benefit from the freedom to define larger, more complex controls with labels, icons, etc.  Properties which logically go together may also be clustered in a page, rather than scattered in the property sheet. However, in most applications it will be appropriate to expose some properties of an object via the property sheet and some via the property pages. 
-&lt;/p&gt;
-
-&lt;p&gt;
-Property pages are shown in a dialog box that is normally visible when the &quot;Properties&quot; menu item is selected on a pop-up menu for an object. In addition to the object class, the name filter can optionally be supplied to register property pages only for specific object types. 
-&lt;/p&gt;
-
-&lt;p&gt;
-If these filtering mechanisms are inadequate a property page may use the filter mechanism.  In this case the attributes of the target object are described in a series of key value pairs.  The attributes which apply to the selection are type specific and beyond the domain of the workbench itself, so the workbench will delegate filtering at this level to the actual selection.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="page" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="page">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="filter" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this page
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the UI for this page
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path to an icon that will be used in the UI in addition to the page name
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="objectClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class for which the page is registered.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements &lt;tt&gt;org.eclipse.ui.IWorkbenchPropertyPage&lt;/tt&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.dialogs.PropertyPage:org.eclipse.ui.IWorkbenchPropertyPage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="nameFilter" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that allows registration conditional on
-wild card match applied to the target object name.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="adaptable" type="boolean">
-            <annotation>
-               <documentation>
-                  a flag that indicates if types that adapt to IResource should use this property page.
-This flag is used if objectClass adapts to IResource.  Default value is false.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  A path indicating the location of the page in the properties tree. The path may either be a parent node ID or a sequence of IDs separated by &apos;/&apos;, representing the full path from the root node.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filter">
-      <annotation>
-         <documentation>
-            This element is used to evaluate the attribute state of each object in the current selection. A match only if each object in the selection has the specified attribute state. Each object in the selection must implement, or adapt to, &lt;samp&gt;org.eclipse.ui.IActionFilter&lt;/samp&gt;.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of an object attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the value of an object attribute.  In combination with
-the name attribute, the name value pair is used to 
-define the target object for a property page.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="keywordReference">
-      <annotation>
-         <documentation>
-            A reference by a property page to a keyword. See the keywords extension point.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  The id of the keyword being referred to.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of the property page definition: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.propertyPages&quot;&gt; 
-        &lt;page 
-            id=&quot;com.xyz.projectPage&quot; 
-            name=&quot;XYZ Java Properties&quot; 
-            objectClass=&quot;org.eclipse.core.resources.IFile&quot; 
-            class=&quot;com.xyz.ppages.JavaPropertyPage&quot; 
-            nameFilter=&quot;*.java&quot;&gt; 
-            &lt;filter name=&quot;readOnly&quot; value=&quot;true&quot;/&gt; 
-        &lt;/page&gt; 
-    &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The attribute &lt;samp&gt;class&lt;/samp&gt; must specify a fully qualified name 
-of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IWorkbenchPropertyPage&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Some objects provided by the workbench may have 
-property pages registered. Plug-ins are allowed 
-to add more property pages for these objects. 
-Property pages are not limited to workbench 
-resources: all objects showing up in the workbench 
-(even domain specific objects created by the plug-ins) 
-may have property pages and other plug-ins are 
-allowed to register property pages for them.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/startup.exsd b/bundles/org.eclipse.ui/schema/startup.exsd
deleted file mode 100644
index 172dd97..0000000
--- a/bundles/org.eclipse.ui/schema/startup.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="startup" name="Startup"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to register plugins that want to be activated on startup. The plugin class or the class given as the attribute on the startup element must implement the interface &lt;samp&gt;org.eclipse.ui.IStartup&lt;/samp&gt;. Once the workbench is started, the method earlyStartup() will be called from a separate thread. 
-
-If the startup element has a class attribute, the method earlyStartup() will be called on this class.  Otherwise, this method will be called from the plugin class.
-
-These plugins are listed in the workbench preferences and the user may disable any plugin from early startup.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="startup" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="startup">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IStartup&lt;/samp&gt;.
-Since release 3.0.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IStartup"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of a startup extension: 
-&lt;pre&gt;
-&lt;p&gt;
-   &lt;extension point=&quot;org.eclipse.ui.startup&quot;/&gt; 
-&lt;/p&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         See interface &lt;samp&gt;org.eclipse.ui.IStartup&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/systemSummarySections.exsd b/bundles/org.eclipse.ui/schema/systemSummarySections.exsd
deleted file mode 100644
index e6465a2..0000000
--- a/bundles/org.eclipse.ui/schema/systemSummarySections.exsd
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="systemSummarySections" name="System Summary Sections"/>
-      </appInfo>
-      <documentation>
-         The Eclipse UI provides an AboutDialog that can be branded and reused by client product plugins.  This dialog includes a SystemSummary dialog that contains configuration details.  By extending the org.eclipse.ui.systemSummarySections extension point clients are able to put their own information into the log.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="section" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="section">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The fully qualified name of a class the implements 
-&lt;code&gt;org.eclipse.ui.about.ISystemSummarySection&lt;/code&gt;.  The class must provide a default constructor.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="sectionTitle" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be displayed as the title of this section in the system summary
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional, unique name that will be used to identify this system summary section
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of a systemSummarySections extension: 
-&lt;pre&gt;
-&lt;extension
- point=&quot;org.eclipse.ui.systemSummarySections&quot;&gt;
- &lt;section
-  sectionTitle=&quot;Cookie Manager Plugin&quot;
-  class=&quot;org.eclipse.ui.examples.rcp.browser.ConfigDetails&quot;
-  id=&quot;RCPBrowser.ConfigDetails&quot;&gt;
- &lt;/section&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The class specified in the section element must be a concrete subclass of &lt;code&gt;org.eclipse.ui.about.ISystemSummarySection&lt;/code&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The Workbench uses this extension point to provide the following sections in the system summary dialog:
-
-- System properties: The contents of the table returned by java.lang.System.getProperties.
-
-- Features: The id of all features found by eclipse.
-
-- Plug-in Registry: The id of all plugins found by eclipse.
-
-- User Preferences: The contents of the Eclipse PreferencesService.
-
-- Error Log: The contents of the platform&apos;s error log.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/themes.exsd b/bundles/org.eclipse.ui/schema/themes.exsd
deleted file mode 100644
index 3f00335..0000000
--- a/bundles/org.eclipse.ui/schema/themes.exsd
+++ /dev/null
@@ -1,657 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="themes" name="Themes"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to customize the appearance of the UI.  It allows definition of color and font entities as well as theme entitities.  Themes allow applications to selectivly override default color and font specifications for particular uses.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="theme" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="colorDefinition" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="fontDefinition" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="themeElementCategory" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="data" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="categoryPresentationBinding" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="theme">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-         <documentation>
-            A collection of font, color and data overrides.  Such a collection may be used to alter the appearance of the workbench.  Many theme elements may exist with the same id.  This allows compontent authors to contribute to existing themes.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorOverride" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="fontOverride" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-            <element ref="data" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this theme
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  a translatable name of the theme to be presented to the user.  At least one theme definition with any given id should contain this attribute.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="themeElementCategory">
-      <annotation>
-         <documentation>
-            A logical grouping of theme element definitions.  This category may include colors and fonts.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id for this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="parentId" type="string">
-            <annotation>
-               <documentation>
-                  the id of the parent category, if any.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IThemePreview&lt;/code&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IPresentationPreview"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string">
-            <annotation>
-               <documentation>
-                  a translatable name of the theme element category to be presented to the user
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="colorDefinition">
-      <annotation>
-         <documentation>
-            A symbolic color definition.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorFactory" minOccurs="0" maxOccurs="1"/>
-            <element ref="colorValue" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  a unique id that can be used to identify this color definition.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the color to be presented to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="defaultsTo" type="string">
-            <annotation>
-               <documentation>
-                  the id of another color definition that is the default setting for the receiver. When there is no preference for this color the color registry will have the value of defaultsTo set for it in the registry.
-
-Only one of &lt;code&gt;defaultsTo&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  The default value of this color.  The value may be specified in the following ways:
-&lt;ul&gt;
-&lt;li&gt;a String containing comma seperated integers in the form red,green,blue 
-&lt;li&gt;a String that maps to an SWT color constant (ie:  COLOR_RED).
-&lt;/ul&gt;
-Only one of &lt;code&gt;defaultsTo&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.  If &lt;code&gt;value&lt;/code&gt; is specified, additional value definitions may be specified on a per platform/windowing system basis via the &lt;code&gt;colorValue&lt;/code&gt; element.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  the optional id of the &lt;code&gt;themeElementCategory&lt;/code&gt; this color belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="colorFactory" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  This may be used instead of &lt;code&gt;value&lt;/code&gt; to specify the default value of the color.  Please be advised that this should be used with caution - usage of this attribute will cause plugin activation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.themes.IColorFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="isEditable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the user should be allowed to edit this color in the preference page.  If this is &lt;code&gt;false&lt;/code&gt; then the contribution is not shown to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontDefinition">
-      <annotation>
-         <documentation>
-            A symbolic font definition.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fontValue" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this font definition.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name of the font to be presented to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  &lt;p&gt;the font value.  This is in the form: &lt;code&gt;fontname-style-height&lt;/code&gt; where &lt;code&gt;fontname&lt;/code&gt; is the name of a font, &lt;code&gt;style&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;height&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;  
-&lt;p&gt;Only one (or neither) of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;defaultsTo&lt;/code&gt; may be used.&lt;/p&gt;  If &lt;code&gt;value&lt;/code&gt; is specified, additional value definitions may be specified on a per platform/windowing system basis via the &lt;code&gt;fontValue&lt;/code&gt; element.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="categoryId" type="string">
-            <annotation>
-               <documentation>
-                  the optional id of the &lt;code&gt;themeElementCategory&lt;/code&gt; this font belongs to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="defaultsTo" type="string">
-            <annotation>
-               <documentation>
-                  the id of another font definition that is the default setting for the receiver. When there is no preference for this font the font registry will have the value of defaultsTo set for it in the registry.
-&lt;p&gt;
-Only one (or neither) of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;defaultsTo&lt;/code&gt; may be used.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="isEditable" type="boolean">
-            <annotation>
-               <documentation>
-                  whether the user should be allowed to edit this color in the preference page.  If this is &lt;code&gt;false&lt;/code&gt; then the contribution is not shown to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="colorOverride">
-      <annotation>
-         <documentation>
-            Allows overriding of colors defined in &lt;code&gt;colorDefinition&lt;/code&gt; elements.  These colors will be applied when the theme is in use.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorFactory" minOccurs="0" maxOccurs="1"/>
-            <element ref="colorValue" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique id that can be used to identify this color definition override.  This should match an existing font identifier.  Strictly speaking, you may ovverride colors that do not exist in the base theme although this practice is not recommended.  In effect, such overrides will have behaviour similar to &lt;code&gt;colorDefinition&lt;/code&gt;s that have &lt;code&gt;isEditable&lt;/code&gt; set to &lt;code&gt;false&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  the overriding value of this color.  The value may be specified in the following ways:
-&lt;ul&gt;
-&lt;li&gt;a String containing comma seperated integers in the form red,green,blue 
-&lt;li&gt;a String that maps to an SWT color constant (ie:  COLOR_RED).
-&lt;/ul&gt;
-Only one of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.
-Unlike a &lt;code&gt;colorDefinition&lt;/code&gt;, you may not supply a &lt;code&gt;defaultsTo&lt;/code&gt; for an override.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="colorFactory" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  This may be used instead of &lt;code&gt;value&lt;/code&gt; to specify the default value of the color.  Please be advised that this should be used with caution - usage of this attribute will cause plugin activation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontOverride">
-      <annotation>
-         <documentation>
-            Allows overriding of fonts defined in &lt;code&gt;fontsDefinition&lt;/code&gt; elements.  These fonts will be applied when the theme is in use.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fontValue" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique id that can be used to identify this font definition override.  This should match an existing font identifier.  Strictly speaking, you may ovverride fonts that do not exist in the base theme although this practice is not recommended.  In effect, such overrides will have behaviour similar to &lt;code&gt;fontDefinition&lt;/code&gt;s that have &lt;code&gt;isEditable&lt;/code&gt; set to &lt;code&gt;false&lt;/code&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  &lt;p&gt;the overriding value of this font.  This is in the form: &lt;code&gt;fontname-style-height&lt;/code&gt; where &lt;code&gt;fontname&lt;/code&gt; is the name of a font, &lt;code&gt;style&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;height&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;
-&lt;p&gt;&lt;code&gt;value&lt;/code&gt; must be defined for a font override.
-Unlike a &lt;code&gt;fontDefinition&lt;/code&gt;, you may not supply a &lt;code&gt;defaultsTo&lt;/code&gt; for a &lt;code&gt;fontOverride&lt;/code&gt;.&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            A short description of the elements usage.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="colorFactory">
-      <annotation>
-         <documentation>
-            The element version of the &lt;code&gt;colorFactory&lt;/code&gt; attribute.  This is used when the colorFactory implements &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt; and there is parameterized data that you wish used in its initialization.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  It may also implement &lt;code&gt;org.eclipse.core.runtime.IExecutableExtension&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.themes.IColorFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="plugin" type="string">
-            <annotation>
-               <documentation>
-                  the identifier of the plugin that contains the class
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="parameter">
-      <annotation>
-         <documentation>
-            A parameter element to be used within the colorFactory element.  This will be passed as initialization data to the colorFactory class.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the parameter name
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the parameter value
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="data">
-      <annotation>
-         <documentation>
-            &lt;p&gt;An element that allows arbitrary data to be associated with a theme or the default theme.  This data may be gradient directions or percentages, labels, author information, etc.&lt;/p&gt;
-&lt;p&gt;This element has behaviour similar to definitions and overrides.  If a key is present in both the default theme and an identified theme, then the identified themes value will be used when that theme is accessed.  If the identified theme does not supply a value then the default is used.&lt;/p&gt;
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the data name,
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the data value
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="colorValue">
-      <annotation>
-         <documentation>
-            This element allows specification of a color value on a per-platform basis.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="colorFactory" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of color based on current OS. eg: win32,linux
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="ws" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of color based on current WS. eg: win32,gtk
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string">
-            <annotation>
-               <documentation>
-                  The default value of this color.  The value may be specified in the following ways:
-&lt;ul&gt;
-&lt;li&gt;a String containing comma seperated integers in the form red,green,blue 
-&lt;li&gt;a String that maps to an SWT color constant (ie:  COLOR_RED).
-&lt;/ul&gt;
-Only one of &lt;code&gt;value&lt;/code&gt; or &lt;code&gt;colorFactory&lt;/code&gt; may be defined.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="colorFactory" type="string">
-            <annotation>
-               <documentation>
-                  a class that implements &lt;code&gt;org.eclipse.ui.themes.IColorFactory&lt;/code&gt;.  This may be used instead of &lt;code&gt;value&lt;/code&gt; to specify the value of the color.  Please be advised that this should be used with caution - usage of this attribute will cause plugin activation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.themes.IColorFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fontValue">
-      <annotation>
-         <documentation>
-            This element allows specification of a font value on a per-platform basis.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="os" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of font based on current OS. eg: win32,linux
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="ws" type="string">
-            <annotation>
-               <documentation>
-                  an optional os string to enable choosing of font based on current WS. eg: win32,gtk
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  &lt;p&gt;the font value.  This is in the form: &lt;code&gt;fontname-style-height&lt;/code&gt; where &lt;code&gt;fontname&lt;/code&gt; is the name of a font, &lt;code&gt;style&lt;/code&gt; is a font style (one of &lt;code&gt;&quot;regular&quot;&lt;/code&gt;, &lt;code&gt;&quot;bold&quot;&lt;/code&gt;, &lt;code&gt;&quot;italic&quot;&lt;/code&gt;, or &lt;code&gt;&quot;bold italic&quot;&lt;/code&gt;) and &lt;code&gt;height&lt;/code&gt; is an integer representing the font height.&lt;/p&gt;
-&lt;p&gt;Example: &lt;code&gt;Times New Roman-bold-36&lt;/code&gt;.&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="categoryPresentationBinding">
-      <annotation>
-         <documentation>
-            This element allows a category to be bound to a specific presentation as described by the &lt;code&gt;org.eclipse.ui.presentationFactory&lt;/code&gt; extension point.  If a category has any presentation bindings then it (and it&apos;s children) is only configurable by the user if it is bound to the active presentation.  This is useful for removing unused items from user consideration.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="categoryId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="presentationId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides the font definitions for the text, dialog, banner, header and part title fonts.  it also supplies color definitions for the hyperlink, active hyperlink, error, active part (background gradient parts and forground) and the inactive part (background gradient parts and forground).  The workbench also provides data constants for the title gradient percentages (active and inactive) and the gradient directions (active and inactive).  The workbench does not provide any named themes.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The &lt;code&gt;org.eclipse.ui.IWorkbench.getThemeManager()&lt;/code&gt; provides &lt;code&gt;org.eclipse.ui.themes.IThemeManager&lt;/code&gt;.  This class may be used to obtain a named theme (by id, including the default theme which has an id of &lt;code&gt;IThemeManager.DEFAULT_THEME&lt;/code&gt;) or the current theme.  From an &lt;code&gt;org.eclipse.ui.themes.ITheme&lt;/code&gt; you may obtain a &lt;code&gt;org.eclipse.jface.resources.ColorRegistry&lt;/code&gt;, an &lt;code&gt;org.eclipse.jface.resources.FontRegistry&lt;/code&gt; and the arbitrary data associated with a theme.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of several color and font definitions as well as a theme that overrides them.
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.themes&quot;&gt;
-      &lt;themeElementCategory
-       id=&quot;com.xyz.ThemeCategory&quot;
-       class=&quot;com.xyz.XYZPreview&quot;
-       label=&quot;XYZ Elements&quot;/&gt;
-      &lt;colorDefinition 
-        id=&quot;com.xyz.Forground&quot;
-        categoryId=&quot;com.xyz.ThemeCategory&quot;
-        label=&quot;XYZ Foreground Color&quot;
-        value=&quot;COLOR_BLACK&quot;&gt;
-         &lt;!-- white should be used on GTK --&gt;
-         &lt;colorValue
-          value=&quot;COLOR_WHITE&quot;
-          os=&quot;linux&quot;
-          ws=&quot;gtk&quot;/&gt;
-        &lt;description&gt;
-        This color is used for the forground color of the XYZ plugin editor.
-        &lt;/description&gt;
-      &lt;/colorDefinition&gt;
-      &lt;colorDefinition 
-        id=&quot;com.xyz.Background&quot;
-        categoryId=&quot;com.xyz.ThemeCategory&quot;        
-        label=&quot;XYZ Background Color&quot;&gt;
-        &lt;colorFactory
-         class=&quot;org.eclipse.ui.themes.RGBBlendColorFactory&quot;
-         plugin=&quot;org.eclipse.ui&quot;&gt;
-         &lt;parameter
-          name=&quot;color1&quot;
-          value=&quot;COLOR_WHITE&quot;/&gt;
-         &lt;parameter
-          name=&quot;color2&quot;
-          value=&quot;COLOR_BLUE&quot;/&gt;         
-        &lt;/colorFactory&gt;
-        &lt;!-- black should be used on GTK --&gt;
-        &lt;colorValue
-         value=&quot;COLOR_BLACK&quot;
-         os=&quot;linux&quot;
-         ws=&quot;gtk&quot;/&gt;
-        &lt;description&gt;
-        This color is used for the background color of the XYZ plugin editor.
-        &lt;/description&gt;
-      &lt;/colorDefinition&gt;      
-      &lt;fontDefinition
-        id=&quot;com.xyz.TextFont&quot;
-        categoryId=&quot;com.xyz.ThemeCategory&quot;        
-        label=&quot;XYZ Editor Font&quot;
-        defaultsTo=&quot;org.eclipse.jface.textfont&quot;&gt;
-        &lt;description&gt;
-        This font is used by the XYY plugin editor.
-        &lt;/description&gt;
-      &lt;/fontDefinition&gt;
-      &lt;data
-       name=&quot;com.xyz.EditorMarginWidth&quot;
-       value=&quot;5&quot;/&gt;      
-      &lt;theme
-        id=&quot;com.xyz.HarshTheme&quot;
-        label=&quot;Harsh Colors for XYZ&quot;&gt;
-        &lt;colorOverride
-         id=&quot;com.xyz.Forground&quot;
-         value=&quot;COLOR_CYAN&quot;/&gt;
-        &lt;colorOverride
-         id=&quot;com.xyz.Background&quot;
-         value=&quot;COLOR_MAGENTA&quot;/&gt;
-      &lt;data
-           name=&quot;com.xyz.EditorMarginWidth&quot;
-           value=&quot;1&quot;/&gt;      
-      &lt;/theme&gt;        
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/viewActions.exsd b/bundles/org.eclipse.ui/schema/viewActions.exsd
deleted file mode 100644
index 900aa4d..0000000
--- a/bundles/org.eclipse.ui/schema/viewActions.exsd
+++ /dev/null
@@ -1,419 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="viewActions" name="View Menus,Toolbars and Actions"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to add actions to the pulldown menu and toolbar for views registered by other plug-ins. Each view has a local pulldown menu normally activated 
-by clicking on the top right triangle button. Other plug-ins can contribute submenus and actions to this menu. Plug-ins may also contribute actions to a view toolbar. View owners are first given a chance to populate these areas. Optional additions by other plug-ins are appended.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="commonAction.exsd"/>
-
-   <include schemaLocation="commonExpression.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="viewContribution" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="viewContribution">
-      <annotation>
-         <documentation>
-            This element is used to define a group of view actions and/or menus.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="action" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used to reference this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="targetID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier of a registered view that is the target of this contribution.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="action">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-         <documentation>
-            This element defines an action that the user can invoke in the UI.
-         </documentation>
-      </annotation>
-      <complexType>
-         <choice>
-            <element ref="selection" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </choice>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier used as a reference for this action.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name used either as the menu item text or toolbar button label. The name can include mnenomic information.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="menubarPath" type="string">
-            <annotation>
-               <documentation>
-                  a slash-delimited path (&apos;/&apos;) used to specify the location of this action in the pulldown menu. Each token in the path, except the last one, must represent a valid identifier of an existing menu in the hierarchy. The last token represents the named group into which this action will be added. If the path is omitted, this action will not appear in the pulldown menu.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="toolbarPath" type="string">
-            <annotation>
-               <documentation>
-                  a named group within the local toolbar of the target view. If the group does not exist, it will be created. If omitted, the action will not appear in the local toolbar.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context.
-If omitted and the action appears in the toolbar, the Workbench will use a placeholder icon. The path is relative to the location of the plugin.xml file of the contributing plug-in. The icon will appear in the toolbar but not in the pulldown menu.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="disabledIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the action is disabled. If omitted, the normal icon will simply appear greyed out. The path is relative to the location of the plugin.xml file of the contributing plug-in. The disabled icon will appear in the toolbar but not in the pulldown menu.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="hoverIcon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon used to visually represent the action in its context when the mouse pointer is over the action. If omitted, the normal icon will be used. The path is relative to the location of the plugin.xml file of the contributing plug-in.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="tooltip" type="string">
-            <annotation>
-               <documentation>
-                  a translatable text representing the action&apos;s tool tip. Only used if the action appears in the toolbar.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  a unique identifier indicating the help context for this action. If the action appears as a menu item, then pressing F1 while the menu item is highlighted will display help.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="style" use="default" value="push">
-            <annotation>
-               <documentation>
-                  an optional attribute to define the user interface style type for the action. If defined, the attribute value will be one of the following:
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;push&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a regular menu item or tool item.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;radio&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a radio style menu item or tool item. Actions with the radio style within the same menu or toolbar group behave as a radio set. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;toggle&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- as a checked style menu item or as a toggle tool item. The initial value is specified by the &lt;samp&gt;state&lt;/samp&gt; attribute.&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="push">
-                  </enumeration>
-                  <enumeration value="radio">
-                  </enumeration>
-                  <enumeration value="toggle">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="state" type="boolean">
-            <annotation>
-               <documentation>
-                  an optional attribute indicating the initial state (either &lt;samp&gt;true&lt;/samp&gt; or &lt;samp&gt;false&lt;/samp&gt;), used when the &lt;samp&gt;style&lt;/samp&gt; attribute has the value &lt;samp&gt;radio&lt;/samp&gt; or &lt;samp&gt;toggle&lt;/samp&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IViewActionDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="enablesFor" type="string">
-            <annotation>
-               <documentation>
-                  a value indicating the selection count which must be met to enable the action.
-If this attribute is specified and the condition is met, the action is enabled.
-If the condition is not met, the action is disabled.
-If no attribute is specified, the action is enabled for any number of items selected.
-The following attribute formats are supported: 
-    &lt;table border=&quot;0&quot; width=&quot;80%&quot;&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;!&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;?&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 0 or 1 items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 1 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;multiple, 2+&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- 2 or more items selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- a precise number of items selected.a precise number of items selected.&amp;nbsp;
-          For example: enablesFor=&amp;quot; 4&amp;quot; enables the action only when 4
-          items are selected&lt;/td&gt;
-      &lt;/tr&gt;
-      &lt;tr&gt;
- &lt;td valign=&quot;top&quot; width=&quot;25&quot;&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot; nowrap&gt;&lt;b&gt;*&lt;/b&gt;&lt;/td&gt;
-        &lt;td valign=&quot;top&quot;&gt;- any number of items selected&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/table&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a view action extension:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action
-            id=&quot;com.xyz.runXYZ&quot; 
-            label=&quot;&amp;amp;Run XYZ Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot; 
-            toolbarPath=&quot;Normal/additions&quot;
-            style=&quot;toggle&quot;
-            state=&quot;true&quot; 
-            icon=&quot;icons/runXYZ.gif&quot; 
-            tooltip=&quot;Run XYZ Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context&quot; 
-            class=&quot;com.xyz.actions.RunXYZ&quot;&gt; 
-            &lt;selection class=&quot;org.eclipse.core.resources.IFile&quot; name=&quot;*.java&quot;/&gt; 
-         &lt;/action&gt; 
-     &lt;/viewContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will only enable for a single selection (&lt;samp&gt;enablesFor&lt;/samp&gt; attribute). In addition, the object in the selection must be a Java file resource.
-&lt;/p&gt;
-&lt;p&gt;
-The following is an other example of a view action extension: 
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.viewActions&quot;&gt; 
-      &lt;viewContribution 
-         id=&quot;com.xyz.xyzViewC1&quot; 
-         targetID=&quot;org.eclipse.ui.views.navigator.ResourceNavigator&quot;&gt; 
-         &lt;menu
-            id=&quot;com.xyz.xyzMenu&quot; 
-            label=&quot;XYZ Menu&quot; 
-            path=&quot;additions&quot;&gt; 
-            &lt;separator name=&quot;group1&quot;/&gt; 
-         &lt;/menu&gt; 
-         &lt;action 
-            id=&quot;com.xyz.runXYZ2&quot; 
-            label=&quot;&amp;amp;Run XYZ2 Tool&quot; 
-            menubarPath=&quot;com.xyz.xyzMenu/group1&quot;
-            style=&quot;push&quot;
-            icon=&quot;icons/runXYZ2.gif&quot; 
-            tooltip=&quot;Run XYZ2 Tool&quot; 
-            helpContextId=&quot;com.xyz.run_action_context2&quot; 
-            class=&quot;com.xyz.actions.RunXYZ2&quot;&gt; 
-            &lt;enablement&gt;
-               &lt;and&gt;
-                  &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-                  &lt;not&gt;
-                     &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-                  &lt;/not&gt;
-               &lt;/and&gt;
-            &lt;/enablement&gt;
-         &lt;/action&gt; 
-      &lt;/viewContribution&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-In the example above, the specified action will appear as a menu item. The action is enabled if the selection contains no Java file resources.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a fully qualified name of a Java class that implements &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt;. This class is loaded as late as possible to avoid loading the entire plug-in before it is really needed.
-&lt;p&gt;
-The interface &lt;samp&gt;org.eclipse.ui.IViewActionDelegate&lt;/samp&gt; extends &lt;samp&gt;org.eclipse.ui.IActionDelegate&lt;/samp&gt; and adds an additional method that allows the 
-delegate to initialize with the view instance it is contributing into.
-&lt;/p&gt;
-&lt;p&gt;
-This extension point can be used to contribute actions into menus previously created by the target view. Omitting the menu path attribute will result in adding the new menu or action at the end of the pulldown menu.
-&lt;/p&gt;
-&lt;p&gt;
-The enablement criteria for an action extension is initially defined by &lt;samp&gt;enablesFor&lt;/samp&gt;, and also either &lt;samp&gt;selection&lt;/samp&gt; or &lt;samp&gt;enablement&lt;/samp&gt;. However, once the action delegate has been instantiated, it may control the action enable state directly within its &lt;samp&gt;selectionChanged&lt;/samp&gt; method.
-&lt;/p&gt;
-&lt;p&gt;
-Action and menu labels may contain special characters that encode mnemonics using the following rules:
-&lt;ol&gt;
-&lt;li&gt;
-Mnemonics are specified using the ampersand (&apos;&amp;amp;&apos;) character in front
-of a selected character in the translated text. Since ampersand is not
-allowed in XML strings, use &lt;samp&gt;&amp;amp;amp;&lt;/samp&gt; character entity.&lt;/li&gt;
-&lt;/ol&gt;
-If two or more actions are contributed to a menu or toolbar by a single extension the actions will appear in the reverse order of how they are listed in the plugin.xml file. This behavior is admittedly unintuitive.  However, it was discovered after the  Eclipse Platform API was frozen.  Changing the behavior now would break every plug-in which relies upon the existing behavior.
-&lt;p&gt;
-The &lt;samp&gt;selection&lt;/samp&gt; and &lt;samp&gt;enablement&lt;/samp&gt; elements are mutually exclusive. The &lt;samp&gt;enablement&lt;/samp&gt; element can replace the &lt;samp&gt;selection&lt;/samp&gt; element using the sub-elements &lt;samp&gt;objectClass&lt;/samp&gt; and &lt;samp&gt;objectState&lt;/samp&gt;. For example, the following:
-&lt;pre&gt;
- &lt;selection
-  class=&quot;org.eclipse.core.resources.IFile&quot;
-  name=&quot;*.java&quot;&gt;
- &lt;/selection&gt;
-&lt;/pre&gt;
-can be expressed using:
-&lt;pre&gt;
- &lt;enablement&gt;
-  &lt;and&gt;
-   &lt;objectClass name=&quot;org.eclipse.core.resources.IFile&quot;/&gt;
-   &lt;objectState name=&quot;extension&quot; value=&quot;java&quot;/&gt;
-  &lt;/and&gt;
- &lt;/enablement&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         Each view normally comes with a number of standard items on the pulldown menu and local toolbar. Additions from other plug-ins will be appended to the standard complement.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/views.exsd b/bundles/org.eclipse.ui/schema/views.exsd
deleted file mode 100644
index f00f73a..0000000
--- a/bundles/org.eclipse.ui/schema/views.exsd
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="views" name="Views"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define additional views 
-for the workbench.  A view is a visual component 
-within a workbench page.  It is typically used to 
-navigate a hierarchy of information (like the workspace), 
-open an editor,  or display properties for 
-the active editor.  The user can make a view 
-visible from the View menu or close it from the 
-view local title bar. 
-&lt;p&gt;
-In order to reduce the visual clutter in the Show View Dialog, views should be grouped using categories.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <choice minOccurs="0" maxOccurs="unbounded">
-            <element ref="category"/>
-            <element ref="view"/>
-            <element ref="stickyView"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="category">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this category
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the UI for this category
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="parentCategory" type="string">
-            <annotation>
-               <documentation>
-                  an optional path composed of category IDs separated by &apos;/&apos;. This
-attribute provides for creating category hierarchy.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="view">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="description" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that will be used to identify this view
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a translatable name that will be used in the UI for this view
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that is composed of the category IDs separated
-by &apos;/&apos;. Each referenced category must exist prior to being referenced
-in this attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;. A common practice 
-is to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt; 
-in order to inherit the default functionality.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.part.ViewPart"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative name of the icon that will 
-be associated with the view.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="fastViewWidthRatio" type="string">
-            <annotation>
-               <documentation>
-                  the percentage of the width of the workbench that the view will take up as an active fast view.
-This must be defined as a floating point value and lie between 0.05 and 0.95.
-If no value is supplied, a default ratio will be used.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="allowMultiple" type="boolean">
-            <annotation>
-               <documentation>
-                  flag indicating whether this view allows multiple instances to be created using IWorkbenchPage.showView(String id, String secondaryId).  The default is false.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="description" type="string">
-      <annotation>
-         <appInfo>
-            <meta.element translatable="true"/>
-         </appInfo>
-         <documentation>
-            an optional subelement whose body should contain text providing a short description of the view.
-         </documentation>
-      </annotation>
-   </element>
-
-   <element name="stickyView">
-      <annotation>
-         <documentation>
-            A sticky view is a view that will appear by default across all perspectives in a window once it is opened.  Its initial placement is governemed by the location attribute, but nothing prevents it from being moved or closed by the user.  Use of this element will only cause a placeholder for the view to be created, it will not show the view.  Please note that usage of this element should be done with great care and should only be applied to views that truely have a need to live across perspectives.
-
-Since 3.0
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the id of the view to be made sticky.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="location">
-            <annotation>
-               <documentation>
-                  optional attribute that specifies the location of the sticky view relative to the editor area.  If absent, the view will be docked to the right of the editor area.
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="RIGHT">
-                  </enumeration>
-                  <enumeration value="LEFT">
-                  </enumeration>
-                  <enumeration value="TOP">
-                  </enumeration>
-                  <enumeration value="BOTTOM">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="closeable" type="boolean">
-            <annotation>
-               <documentation>
-                  optional attribute that specifies wether the view should be closeable.  If absent it will be closeable.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="moveable" type="boolean">
-            <annotation>
-               <documentation>
-                  optional attribute that specifies wether the view should be moveable.  If absent it will be moveable.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of the extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
-      &lt;category 
-         id=&quot;com.xyz.views.XYZviews&quot; 
-         name=&quot;XYZ&quot;&gt; 
-      &lt;/category&gt; 
-      &lt;view 
-         id=&quot;com.xyz.views.XYZView&quot; 
-         name=&quot;XYZ View&quot; 
-         category=&quot;com.xyz.views.XYZviews&quot; 
-         class=&quot;com.xyz.views.XYZView&quot; 
-         icon=&quot;icons/XYZ.gif&quot;&gt; 
-      &lt;/view&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-The following is an example of a sticky view declaration:
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ui.views&quot;&gt; 
-      &lt;stickyView
-         id=&quot;com.xyz.views.XYZView&quot; /&gt;
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the &lt;samp&gt;class&lt;/samp&gt; attribute must be a 
-fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.ui.IViewPart&lt;/samp&gt;.  It is common 
-practice to subclass &lt;samp&gt;org.eclipse.ui.part.ViewPart&lt;/samp&gt;
- when developing a new view.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides a number of standard views including Navigator, Properties, Outline and Tasks. From the user point of view, these views are no different from any other view provided by the plug-ins. All the views can be shown from the &quot;Show View&quot; submenu of the &quot;Window&quot; menu. The position of a view is persistent: it is saved when the view is closed and restored when the view is reopened in a single session.  The position is also persisted between workbench sessions.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/schema/workingSets.exsd b/bundles/org.eclipse.ui/schema/workingSets.exsd
deleted file mode 100644
index 19a488d..0000000
--- a/bundles/org.eclipse.ui/schema/workingSets.exsd
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui" id="workingSets" name="Working Sets"/>
-      </appInfo>
-      <documentation>
-         This extension point is used to define a working set wizard page. Working sets contain a number of elements of type IAdaptable and can be used to group elements for presentation to the user or for operations on a set of elements. A working set wizard page is used to create and edit working sets that contain elements of a specific type.
-&lt;p&gt;
-To select a working set the user is presented with a list of working sets that exist in the workbench. From that list a working set can be selected and edited using one of the wizard pages defined using this extension point. An existing working set is always edited with the wizard page that was used to create it or with the default resource based working set page if the original page is not available.
-&lt;p&gt;
-A new working set can be defined by the user from the same working set selection dialog. When a new working set is defined, the plugin provided wizard page is preceded by a page listing all available working set types. This list is made up of the name attribute values of each working set extension. 
-&lt;p&gt;
-Views provide a user interface to open the working set selection dialog and must store the selected working set.
-&lt;p&gt;
-The resource navigator uses a working set to filter elements from the navigator view. Only parents and children of working set elements are shown in the view, in addition to the working set elements themselves.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="workingSet" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="workingSet">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique name that can be used to identify this working set dialog.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the element type that will be displayed and edited by the working set page. This should be a descriptive name like &quot;Resource&quot; or &quot;Java Element&quot;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  the relative path of an image that will be displayed in the working set type list on the first page of the working set creation wizard as well as in the working set selection dialog.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="pageClass" type="string">
-            <annotation>
-               <documentation>
-                  the fully qualified name of a Java class implementing &lt;samp&gt;org.eclipse.ui.dialogs.IWorkingSetPage&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.WizardPage:org.eclipse.ui.dialogs.IWorkingSetPage"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="updaterClass" type="string">
-            <annotation>
-               <documentation>
-                  the fully qualified name of a Java class implementing &lt;samp&gt;org.eclipse.ui.IWorkingSetUpdater&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.IWorkingSetUpdater"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         Release 2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of how the resource working set dialog extension is defined to display and edit generic IResource elements: 
-&lt;p&gt;
-&lt;pre&gt;
-    &lt;extension point=&quot;org.eclipse.ui.workingSets&quot;&gt;
-        &lt;workingSet
-            id=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;
-            name=&quot;Resource&quot;
-            icon=&quot;icons/resworkset.gif&quot;
-            pageClass=&quot;org.eclipse.ui.internal.dialogs.ResourceWorkingSetPage&quot;&gt;
-        &lt;/workingSet&gt;
-    &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         The value of the pageClass attribute must represent a class that implements the &lt;samp&gt;org.eclipse.ui.dialogs.IWorkingSetPage&lt;/samp&gt; interface.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The workbench provides a working set wizard page for creating and editing resource based working sets.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Common Public License v1.0 which 
-accompanies 
-this distribution, and is available at 
-&lt;a 
-href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.ui/scripts/exportplugin.xml b/bundles/org.eclipse.ui/scripts/exportplugin.xml
deleted file mode 100644
index 209e560..0000000
--- a/bundles/org.eclipse.ui/scripts/exportplugin.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- build script to create a plugin from org.eclipse.ui -->
-<project name="Export Eclipse UI" default="exportAll" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="plugin"  value="org.eclipse.ui" />
-		<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}/ui.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}/uisrc.zip">
-		    <fileset dir="src" />
-  		</zip>				
-	</target>
-
-	<target name="exportAll">
-		<antcall target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.text" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.jface" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.jface.text" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.views" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.editors" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.workbench" target="export"/>
-		<ant antfile="scripts/exportplugin.xml" dir="../org.eclipse.ui.workbench.texteditor" target="export"/>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java b/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.java
deleted file mode 100644
index 6c3dd02..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPlugin.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.ui.internal;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.ui.internal.util.PrefUtil;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The plug-in class for the org.eclipse.ui plug-in.
- * This class is internal to the workbench and should not be
- * referenced by clients.
- */
-public final class UIPlugin extends AbstractUIPlugin {
-
-    private static UIPlugin inst;
-
-    /**
-     * Creates an instance of the UIPlugin.
-     * 
-     * @since 3.0
-     */
-    public UIPlugin() {
-        super();
-        inst = this;
-    }
-
-    /**
-     * Returns the image registry for this plugin.
-     *
-     * Where are the images?  The images (typically gifs) are found in the 
-     * same plugins directory.
-     *
-     * @see ImageRegistry
-     *
-     * Note: The workbench uses the standard JFace ImageRegistry to track its images. In addition 
-     * the class WorkbenchGraphicResources provides convenience access to the graphics resources 
-     * and fast field access for some of the commonly used graphical images.
-     */
-    protected ImageRegistry createImageRegistry() {
-        /* Just to be sure that we don't access this
-         * plug-ins image registry.
-         */
-        Assert.isLegal(false);
-        return null;
-    }
-
-    public ImageRegistry getImageRegistry() {
-        /* Just to be sure that we don't access this
-         * plug-ins image registry.
-         */
-        Assert.isLegal(false);
-        return null;
-    }
-
-    /**
-     * Returns the default instance of the receiver. This represents the runtime plugin.
-     *
-     * @return UIPlugin the singleton instance of the receiver.
-     * @see AbstractUIPlugin for the typical implementation pattern for plugin classes.
-     */
-    public static UIPlugin getDefault() {
-        return inst;
-    }
-
-    /** 
-     * Set default preference values.
-     * This method must be called whenever the preference store is initially loaded
-     * because the default values are not stored in the preference store.
-     */
-    protected void initializeDefaultPreferences(IPreferenceStore store) {
-        // Do nothing.  This should not be called.
-        // Prefs are initialized in UIPreferenceInitializer.
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-     */
-    public void start(BundleContext context) throws Exception {
-        super.start(context);
-
-        // set a callback allowing the workbench plugin to obtain
-        // and save the UI plugin's preference store
-        PrefUtil.setUICallback(new PrefUtil.ICallback() {
-            public IPreferenceStore getPreferenceStore() {
-                return UIPlugin.this.getPreferenceStore();
-            }
-
-            public void savePreferences() {
-                UIPlugin.this.savePluginPreferences();
-            }
-        });
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java b/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java
deleted file mode 100644
index bb0fa9d..0000000
--- a/bundles/org.eclipse.ui/src/org/eclipse/ui/internal/UIPreferenceInitializer.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent;
-import org.eclipse.ui.IWorkbenchPreferenceConstants;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Implementation of the UI plugin's preference extension's customization
- * element. This is needed in order to force the UI plugin's preferences to be
- * initialized properly when running without
- * org.eclipse.core.runtime.compatibility. For more details, see bug 58975 - New
- * preference mechanism does not properly initialize defaults.
- * 
- * @since 3.0
- */
-public class UIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	public void initializeDefaultPreferences() {
-
-		IEclipsePreferences node = new DefaultScope().getNode(UIPlugin
-				.getDefault().getBundle().getSymbolicName());
-		node.put(IWorkbenchPreferenceConstants.OPEN_NEW_PERSPECTIVE,
-				IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-
-		//Deprecated but kept for backwards compatibility
-		node.put(IWorkbenchPreferenceConstants.PROJECT_OPEN_NEW_PERSPECTIVE,
-				IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		node.put(IWorkbenchPreferenceConstants.SHIFT_OPEN_NEW_PERSPECTIVE,
-				IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-		node.put(IWorkbenchPreferenceConstants.ALTERNATE_OPEN_NEW_PERSPECTIVE,
-				IWorkbenchPreferenceConstants.OPEN_PERSPECTIVE_REPLACE);
-
-		//Although there is no longer any item on the preference pages
-		//for setting the linking preference, since it is now a per-part
-		// setting, it remains as a preference to allow product overrides of the
-		//initial state of linking in the Navigator. By default, linking is
-		// off.
-		node.putBoolean(IWorkbenchPreferenceConstants.LINK_NAVIGATOR_TO_EDITOR,
-				false);
-
-		//Appearance / Presentation preferences
-		node.put(IWorkbenchPreferenceConstants.PRESENTATION_FACTORY_ID,
-				"org.eclipse.ui.presentations.default"); //$NON-NLS-1$
-		node
-				.putBoolean(
-						IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,
-						true);
-		node.putBoolean(IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS, true);
-		node.put(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR,
-				IWorkbenchPreferenceConstants.TOP_LEFT);
-		node.putBoolean(
-				IWorkbenchPreferenceConstants.SHOW_TEXT_ON_PERSPECTIVE_BAR,
-				true);
-
-		//the fast view bar should be on the bottom of a fresh workspace
-		node.put(IWorkbenchPreferenceConstants.INITIAL_FAST_VIEW_BAR_LOCATION,
-				IWorkbenchPreferenceConstants.BOTTOM);
-
-		//default to showing intro on startup
-		node.putBoolean(IWorkbenchPreferenceConstants.SHOW_INTRO, true);
-
-		//Default to the standard key configuration.
-		node.put(IWorkbenchPreferenceConstants.KEY_CONFIGURATION_ID,
-				"org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$
-
-		//Preference for showing system jobs in the jobs view
-		node.putBoolean(IWorkbenchPreferenceConstants.SHOW_SYSTEM_JOBS,false);
-
-		
-		//The default character width is undefined (i.e., -1)
-		node
-				.putInt(
-						IWorkbenchPreferenceConstants.EDITOR_MINIMUM_CHARACTERS,
-						-1);
-
-		//Set the workspace selection dialog to open by default
-		node.putBoolean(
-				IWorkbenchPreferenceConstants.SHOW_WORKSPACE_SELECTION_DIALOG,
-				true);
-		
-		//Option to show user jobs in a dialog
-		node.putBoolean(IWorkbenchPreferenceConstants.RUN_IN_BACKGROUND, false);
-
-
-		IEclipsePreferences rootNode = (IEclipsePreferences) Platform
-				.getPreferencesService().getRootNode()
-				.node(InstanceScope.SCOPE);
-
-		final String uiName = UIPlugin.getDefault().getBundle()
-				.getSymbolicName();
-		try {
-			if (rootNode.nodeExists(uiName))
-				((IEclipsePreferences) rootNode.node(uiName)).addPreferenceChangeListener(PlatformUIPreferenceListener.getSingleton());
-		} catch (BackingStoreException e) {
-			IStatus status = new Status(IStatus.ERROR, UIPlugin.getDefault().getBundle().getSymbolicName(),IStatus.ERROR,e.getLocalizedMessage(),e);
-			UIPlugin.getDefault().getLog().log(status);
-		}
-
-		rootNode
-				.addNodeChangeListener(new IEclipsePreferences.INodeChangeListener() {
-					/*
-					 * (non-Javadoc)
-					 * 
-					 * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener#added(org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent)
-					 */
-					public void added(NodeChangeEvent event) {
-						if (!event.getChild().name().equals(uiName))
-							return;
-						((IEclipsePreferences) event.getChild())
-								.addPreferenceChangeListener(PlatformUIPreferenceListener.getSingleton());
-
-					}
-
-					/*
-					 * (non-Javadoc)
-					 * 
-					 * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener#removed(org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent)
-					 */
-					public void removed(NodeChangeEvent event) {
-						// Nothing to do here
-
-					}
-
-				});
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/.classpath b/examples/org.eclipse.ui.examples.job/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.job/.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/examples/org.eclipse.ui.examples.job/.cvsignore b/examples/org.eclipse.ui.examples.job/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.job/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.job/.project b/examples/org.eclipse.ui.examples.job/.project
deleted file mode 100644
index bf9091f..0000000
--- a/examples/org.eclipse.ui.examples.job/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.job</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.job/README.TXT b/examples/org.eclipse.ui.examples.job/README.TXT
deleted file mode 100644
index b835369..0000000
--- a/examples/org.eclipse.ui.examples.job/README.TXT
+++ /dev/null
@@ -1,38 +0,0 @@
-This examples plug-in demonstrates the following features:

-

-1. deferred tree/table population

-    - serialized children fetch jobs or concurrent

-    - batching updates to the collector

-    - (optional) different ways of showing progress replacing current pending node (e.g. changing parent's label / image)

-    

-2. progress view

-    - cancellation

-    - showing progress, sub tasks

-    - showing errors

-    - progress groups

-    - appearing/disapearing as floating window

-    - system jobs aren't shown

-    

-3. requestInUI

-    - post a request

-    - post a request then cancel before user has launched it

-    - post a request, cancel, and replace with another

-    - post a request and allow the user to cancel without running the request

-    

-4. blocked foreground operation

-    - run a background job that locks the workspace

-    - run a foreground job that requires workspace (expect blocked dialog with progress view embeded)

-    - open an editor and type then save (progress dialog should show blocked)

-    

-5. workbench part support for progress

-    - run a job in the context of a view/editor

-    - get busy cursor plus animating something

-    - view or editor adding their own custom behavior when job is run

-    

-6. Creating progress groups

-    - that are run serialized

-    - that are run concurrently

-    - cancel one sub job

-    - parent is updated correctly

-    

-7. running action via busyCursorWhile
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/build.properties b/examples/org.eclipse.ui.examples.job/build.properties
deleted file mode 100644
index 5e1dbf6..0000000
--- a/examples/org.eclipse.ui.examples.job/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.ProgressExamples.jar = src/
-bin.includes = plugin.xml,\
-               *.jar,\
-               ProgressExamples.jar
diff --git a/examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt b/examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt
deleted file mode 100644
index 6d52538..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/Responsive UIs.ppt
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc b/examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc
deleted file mode 100644
index 235f922..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/eclipse-con-talk_2.doc
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/doc/responsive_ui.html b/examples/org.eclipse.ui.examples.job/doc/responsive_ui.html
deleted file mode 100644
index d1060f4..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/responsive_ui.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <title></title>
-</head>
- <body>
- 
-<h1>Towards a more responsive Eclipse UI</h1>
- 
-<font size="-1">Last modified: June 2, 2003</font> 
-<p>Eclipse is well known as a powerful integrated development environment,
-but it is perceived by users as sometimes being unwieldy or unresponsive
-to work with. The goal of this work is to uncover the underlying causes of
-the unresponsiveness and provide Eclipse developers with the tools they need
-to focus on making their code responsive.  </p>
- 
-<p>To begin with, it is important to note that, responsiveness is not the
-same as performance, and to some extent they are contradictory:</p>
- 
-<p>The <i>performance</i> of an application is a measure of how much work
-it can do in a given length of time. For example, the Eclipse Platform can
-operate on thousands of files per minute on a typical desktop system. One
-way to achieve high performance is to ensure that all available resources 
-are dedicated to each task until it is complete. Since most modern window
-systems require applications to regularly call system code to keep their
-user interfaces active, dedicating all processing resources to a non-user-interface
-task will cause the user interface to become unresponsive.</p>
- 
-<p>The <i>responsiveness</i> of an application is a measure of how often
-its user interface is in a state where the user can interact with it, how
-often those interactions can trigger new tasks being initiated, and how often
-the information the user interface is displaying accurately reflects the state
-of the system it is modeling. Implementing a responsive system will require
-the system resources to be split across multiple concurrent tasks, so although
-the user will typically be more productive, the time it takes the system
-to complete a particular task will be longer (i.e. Its performance on <u>that
-task</u> will be lower).</p>
- 
-<p>In order to increase the responsiveness of the Eclipse Platform we will
-be looking at the following two areas:</p>
- 
-<ol>
- 	<li>
-    <p>all of the user interface "features" of the 	Eclipse Platform will
-be investigated to remove any inherent 	limitations which prevent them from
-being used in a responsive 	fashion. We have not begun work on this aspect
-of the problem, so it 	is difficult to provide any definitive examples. However,
-some 	likely candidates for investigation, at least, would be:</p>
- </li>
-</ol>
-<ul>
- 	<li>
-    <p>the startup sequence, since the time between when the user 	starts
-the application and when they can start working is very 	important to their
-perception of its responsiveness.</p>
- 	</li>
-  <li>
-    <p>SWT widgets like the Table, Tree, and List whose API make it 	difficult
-to code in an "on demand" style where the 	contents are requested by the
-widget when they are required for 	display, rather than up front by the application.</p>
- 	</li>
-  <li>
-    <p>the Java text editor, which takes significantly longer to get 	to
-the point where the contents can be edited than the simple text 	editor.</p>
- </li>
-</ul>
- 
-<ol start="2">
- 	<li>
-    <p>certain operations like builds and searches which currently 	run synchronously
-and block the user (at the UI) from doing other 	work until they are completed
-will be modified to run asynchronously 	in the background. Implementing this
-requires an improved 	concurrency architecture. The remainder of this document
-describes 	the work which has been done so far in that area.</p>
- </li>
-</ol>
- 
-<h2>Overview of current problems</h2>
- 
-<ul>
- <li> Use of modal progress dialogs is pervasive in the UI, preventing the
-user from doing any other work (or even browsing) while long running tasks
-are processing. </li>
- <li> Very long running operations only update the UI once at the very end.
-For example, when searching, no search results are available for viewing
-until the entire search is complete.  When importing or checking out large
-projects, the project doesn't appear in the UI until every file in the project
-has been created. </li>
- <li> Many components have their own mechanism for managing background activity.
- Examples include: search indexing, UI decoration, Java editor reconciling,
-and workspace snapshot. Each component should not have to roll their own
-concurrency architecture for off-loading work into background threads. </li>
- <li>The current workspace lock is heavy handed.  There is a single write
-lock for the entire  workspace, and it is generally acquired for significant
-periods of time.  This can block other processes for several minutes.  When
-the lock is acquired, no other threads can modify the workspace in any way. 
-  </li>
- <li> The workspace locking mechanism is currently tied to the mechanism
-for batching workspace changes.  We widely advertise that compound workspace
-changes should be done within an IWorkspaceRunnable.  The workspace is always
-locked for the duration of the IWorkspaceRunnable even if it is not making
-changes to the workspace. </li>
- <li> Various plugins have their own locking mechanisms.  Since plugins don't
-always know about each other, these locks can conflict in unforeseeable ways,
-making Eclipse prone to deadlock. </li>
- 
-  <p> </p>
-</ul>
-  
-<h2>Proposed solutions</h2>
- 
-<h3>Job scheduling mechanism</h3>
- 
-<p> Platform core (runtime plugin) will introduce a new job manager API for
-background work.  This API will allow clients to: </p>
-<ul>
- <li> Schedule <i>Job</i> instances, units of runnable background activity.
-Jobs can be scheduled either for immediate execution, or execution after
-some specified delay.  The platform will maintain a queue for waiting jobs,
-and will manage a pool of worker threads for running the jobs. </li>
- <li> Specify job scheduling priority, as well as explicit dependencies between
-jobs (Job A must run after Job B but before Job C, etc). </li>
- <li> Specify job scheduling rules, which will allow implicit constraints
-to be created between jobs that don't know about each other.  For example,
-a Job can say: "While I'm running, I require exclusive access to resource
-X.  Don't run me until it's safe to do so, and don't run any other jobs that
-might conflict with me until I'm done".  The constraint system will be generic
-at the level of the job scheduling API, but other plugins can introduce standard
-constraints that apply to their components. </li>
- <li> Query, cancel and change priority of jobs that are waiting to run.  This
-allows clients to cancel jobs that have become irrelevant before they had
-a chance to run. (Example: cancel pending indexing or decoration jobs on
-a project when the project is deleted). </li>
- <li> Group jobs into families, and query, cancel, and manage entire job
-families as a unit. </li>
- <li> Register for notification when jobs are scheduled, started, finished,
-canceled, etc.  Clients can register for notification on a single job, or
-on all jobs. </li>
- <li> Provide a mechanism to allow jobs to carry their work over to another
- thread and finish asynchronously.  This is needed to allow jobs to asyncExec
- into the UI, but maintain scheduling rules and avoid notifiying listeners until
- the async block has returned.
- </li>
- <li> Add listeners to be hooked to the progress monitor callbacks of the
-running jobs.  This allows the UI to report progress on jobs that would otherwise
-have no way of connecting with the UI (such as indexing or snapshot jobs). 
-  </li>
- 
-</ul>
- 
-<p> This scheduling mechanism will replace most (if not all) existing background
-thread mechanisms in the SDK.  This includes: editor reconcilers, UI decoration, 
-search and Java indexing, workspace snapshot, and various threads used in the launch/debug
-framework: JDI thread for communicating with the VM, threads for monitoring
-input and output streams, debug view update thread, and the thread waiting
- for VM termination. </p>
- 
-<p> Also, the scheduling facility will make it easier for more components
-to off-load work into background threads, in order to free up the UI thread
-for responding to the user.  This includes all jobs that currently run in
-the context of a modal progress indicator, but also other processing work
-that currently executes in the UI.  Examples of activity that can be offloaded
-into jobs: decorating editors (marker ruler, overview ruler), type hierarchy
-computation, structure compare in compare editors, auto-refresh with file
-system, etc.  </p>
-   
-<h3>New UI look and feel for long running activity</h3>
- 
-<p> Long running operations will generally be run without a modal progress indicator 
-  by scheduling them with the core job manager API.   Most jobs currently using a
-  modal progress dialog will switch to this new non-modal way of running.
-  The platform UI will provide a view from which users can see the list of waiting and 
-  running background jobs, along with their current progress. This is a view rather than 
-  a dialog so the user can continue to manipulate the UI while background jobs are 
-  running. This view will likely take the form of a tree so that expanding a job will
-  give more detailed progress information.  The UI will also provide some ubiquitous 
-  feedback device (much like the page loading indicator in popular web browsers or the 
-  Macintosh user interface), that will indicate when background activity is happening. 
- </p>
-<p>Users will be able to cancel any background activity from the progress view. 
-  Users will also be able to pause, resume, or fast forward (increase priority 
-  of) any waiting job. Since we can never know which of several background jobs 
-  the user is most anxious to complete, this puts some power in the user's hands 
-  to influence the order of execution of waiting background jobs.</p>
-
-<p>
-  The platform UI will introduce a special job called a UI job, which is simply a job that 
-  needs to be run in the UI Thread. We define this type of job as a convenience for those 
-  who do not want to keep looking for a Display to asyncExec in.  Casting UI work
-  as jobs will allow the framework to control scheduling based on priority and user 
-  defined scheduling rules.  Note that although UI jobs should generally be brief
-  in duration, they may require locks and thus the framework must have a strategy
-  for avoiding deadlock when the UI thread is waiting for a lock.
- 
-<h3>Minimize use of long term workspace locks</h3>
- 
-<p> We will actively discourage clients from acquiring the workspace lock
-for indefinite periods of time.  <code>IWorkspaceRunnable</code> is the current
-mechanism that allows clients to lock the workspace for the duration of a
-runnable.  This API will be deprecated.   Clients that require exclusive
-access to portions of the workspace should  schedule background jobs with
-appropriate scheduling rules.  Scheduling rules can  specify smaller portions
-of the workspace, allowing clients to "lock" only the resources  they need.
-Longer running workspace API methods will be broken up as much as  possible
-to avoid locking the workspace for extended periods.  Clients that do not 
-run as jobs, or that run as jobs without the appropriate scheduling rules,
-will have to be tolerant of concurrent modifications to the workspace. </p>
-  
-<h3>New resource change notification and autobuild strategy</h3>
- 
-<p> The current mechanism for batching resource changes and auto-building
-is based on the <code>IWorkspaceRunnable</code> API.  This approach has two
-problems: </p>
-<ol>
- <li> Clients sometimes forget to use it, which results in severe performance
-problems because notifications and auto-builds happen more often than necessary. 
-  </li>
- <li> This can become too coarse-grained for long running operations.  If
-the user begins an operation that will take several minutes, it would be
-nice to perform some incremental updates (notifications) while the operation
-is still running. </li>
- 
-</ol>
- 
-<p></p>
- 
-<p> The resources plugin will adopt new heuristics for when builds and notifications 
-should happen.  These heuristics will likely require some fine-tuning and
-may need to be customizable, but generally: </p>
-<ul>
- <li>Resource change notifications will always start within a bounded  period
-after the workspace has changed (such as five seconds). This will ensure notifications
-occur periodically during long operations. </li>
- <li> Notification will begin immediately if there have been no workspace
-changing jobs in the job queue for a short period (such as 500 milliseconds).
- This ensures timely  user feedback when background activity has stopped.
- There will be a lower bound on the frequency of notifications to prevent
-listeners from hogging the CPU. </li>
- <li>There will be API for forcing an immediate notification if clients know
-it is either necessary or desirable for a notification to occur.  (actually,
-this mechanism  has existed since Eclipse 1.0 in the method <code>IWorkspace.checkpoint</code>). 
-UI actions will use this for indicating when a user action has completed.
- Other clients that absolutely depend on the results of notifications can
-also use this mechanism  (for example clients that depend on the java model
-being up to date). </li>
- <li> Autobuilds will begin (if needed) when the work queue has been idle
-for a sufficient period of time (such as 1 second).  If a background job
-that requires write access to the workspace is scheduled before autobuild
-completes, then auto-build will be canceled automatically.  Existing builders
-will need to improve their cancelation behaviour so that a minimal amount
-of work is lost. </li>
- <li> There will still be a mechanism to allow users or API clients to force
-a build to occur, and these explicit builds will not be canceled automatically
-by conflicting background activity. </li>
- <li> Both builders and listeners could adapt automatically if they start
-interfering with ongoing work by increasing their wait period. This would
-allow builders and listeners to adapt to changes in activity levels. </li>
- 
-</ul>
- 
-<p></p>
- 
-<p> Unless explicitly requested, builds and resource change listeners will
-always be run  asynchronously in a different thread from the one that initiated
-the change.  This will improve the responsiveness of workspace changing operations
-that are initiated from the UI thread. </p>
- 
-<h3>Centralized locking mechanism</h3>
- 
-<p> Platform core (runtime plugin) will introduce a smart locking facility.
- Clients that  require exclusive access to a code region should use these
-locks as a replacement for  Java object monitors in code that may interact
-with other locks.  This will allow the platform to detect and break potential
-deadlocks.  Note that these locks are orthogonal to the job scheduling rules
-described earlier.  Job scheduling rules typically ensure that only non conflicting
-jobs are running, but cannot guarantee protection from malicious or incorrect
-code. </p>
-  These locks will have the following features: 
-<ul>
- <li>They will be reentrant.  A single thread can acquire a given lock more
-than once, and it will only be released when the number of acquires equals
-the number of releases. </li>
- <li>They will automatically manage interaction with the SWT synchronizer
-to avoid  deadlocking in the face of a syncExec.  I.e., if the UI thread
-tries to acquire a lock, and another thread holding that lock tries to perform
-a syncExec, the UI thread will service the syncExec work and then continue
-to wait for the lock. </li>
- <li>They will avoid deadlocking with each other.  I.e., if thread A acquires
-lock 1, then waits on lock 2, while thread B acquires lock 2 and waits on
-lock 1, deadlock would normally ensue.  The platform locking facility will
-employ a release and wait protocol to ensure that threads waiting for locks
-do not block other threads. </li>
- 
-</ul>
-   
-<h2>Milestone targets</h2>
- 
-<ul>
- <li> M1: Core runtime job manager API defined and implemented.  UI API defined
-with reference implementation.  Prototype UI implementation of progress view
-and progress animation. All components should begin looking into thread safety
-issues with their API. </li>
- <li>M2: In a branch, a significant subset of the Eclipse platform converted
-to use the new mechanisms. Ongoing work in all components to become thread 
-safe and to port existing components to job manager API (reconciler, indexer,
-decorator, debug events). </li>
- <li> M3: all platform work moved from branch to HEAD at beginning of M3
-cycle.  Goal for end of M3 is some level of stability across entire SDK
-in new concurrent world.  All  component API must be thread safe. </li>
- 
-</ul>
-<p>
- This schedule is aggressive but the intent is to wrap up platform work by
-end of M3.  This allows plenty of time to shake out threading bugs and allow
-other components to stabilize by M4. 
-</p>
-
-(Plan item bug reference: <a
- href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36957">36957</a>)<br>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/doc/usecases.txt b/examples/org.eclipse.ui.examples.job/doc/usecases.txt
deleted file mode 100644
index f90c3ef..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/usecases.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-Basic concurrency use cases.  Some are overlapping, but each requires
-a different level of concurrency support.  Roughly ordered by perceived
-implementation difficulty.  1. and 2. are currently support in Eclipse 2.1,
-but we need to keep them in mind with any new story.
-
-1. Allow decoration tasks to continue in background without affecting
-   UI responsiveness or ability to modify resources.
-   
-   Examples:
-     a) User performs a CVS update.  While CVS is computing and updating 
-        new decorations in various views, the user wants to continue viewing
-        and modifying resources.  Duplicate decoration work should be detected
-        and avoided (don't decorate the same resource twice if possible).
-     b) User is typing in an editor.  Computation of effects such as
-        "red sea", and bracket matching should happen in the background
-        without affecting responsiveness.
-
-2. Very long running operations that do not modify resources, but must
-   be stoppable, and joinable.
-   
-   Examples:
-     a) User imports a JAR file.  This triggers an indexing job in the background.
-        User can continue to view and modify resources while indexing happens.
-        If the user deletes the JAR, or modifies it, duplicate or superfluous
-        background jobs should be canceled automatically.
-     b) User imports a JAR file.  This triggers an indexing job in the background.
-        User then requests a type hierarchy.  Priority of any index jobs
-        required by the type hierarchy should be bumped up and completed
-        immediately.
-
-3. Allow browsing during long operation
-
-  Example:
-    The user has started some long running background task (checkout,
-    import, build, etc).  They want a live UI so they can browse resources
-    (get children, get contents, dirty editors) while they wait for the long 
-    operation to finish.
-    
-  Deluxe:
-    The background task can complete in chunks, allowing the user to browse
-    and modify resources that were involved in the operation.  I.e., they
-    can edit imported resources before the import has completed.
-
-4. Allow edit during long running read-only operations
-  
-  Example:
-    The user starts a search.  Since searches don't modify resources,
-    the user may want to modify (add, delete, change) resources while
-    the search is happening.  This may or may not affect the search
-    results.
-
-5. Concurrent edit.
-
-  Examples:
-    a) The user does a CVS update on project A while project B is being deleted.
-    b) The user does a CVS update on project A while that same project is
-    being compiled, deleted, etc.  This is the extreme concurrency example.  
-
-    
-6. Allow preemption and restart on long-running operation.
-
-  Examples:
-  	a) The Mcq example.  User hits save on a file, and build starts.  User
-  	   realizes that there is an error, and they modify and save again.
-  	   They want to cancel the currently running build and start a new one.
-  	b) User selects a revision in the CVS repositories view, and hits
-  	   checkout.  While checkout is running, user realizes they chose
-  	   the wrong version, and they want to checkout a different one instead.
-  	   They want to cancel the current checkout and pre-empt with another.
-  	   
diff --git a/examples/org.eclipse.ui.examples.job/doc/workspace-lock.html b/examples/org.eclipse.ui.examples.job/doc/workspace-lock.html
deleted file mode 100644
index 83f19f3..0000000
--- a/examples/org.eclipse.ui.examples.job/doc/workspace-lock.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Workspace lock granularity</h1>
-<h2>The problem</h2>
-<ul>
-<li>The current workspace lock is heavy handed.  There is a single write lock for the entire 
-workspace, and it is generally acquired for significant periods of time.  This can block
-other processes for several minutes.  When the lock is acquired, no other threads
-can write to the workspace in any way. The write lock does not interfere with workspace
-readers, which are always allowed to proceed.
-</li>
-<p>
-<li>
-Processes often don't know in advance whether writes are necessary, so often the 
-lock is acquired for long periods even when no writing occurs (for example on searches).
-</li>
-<p>
-<li>
-The workspace locking mechanism is currently tied to the mechanism for batching
-workspace changes.  We widely advertise that compound workspace changes should
-be done within an IWorkspaceRunnable.  The workspace is always locked for the
-duration of the IWorkspaceRunnable even if it is not making changes to the workspace.
-</li>
-<p>
-<li>
-In the absence of other sync mechanisms, other clients use the workspace lock
-for working with operations that don't necessarily even operate on resources.
-</li>
-<p>
-<li>
-To avoid deadlock, many clients acquire the workspace lock "just in case", before
-acquiring their own private lock mechanism.
-</li>
-<p>
-<li>
-Although this problem is most evident with the workspace lock, there are other
-heavy-handed locks in Eclipse with which the same issues appear (the CVS lock is
-another example).
-</li>
-</ul>
-
-<h2>Proposed Solution</h2>
-<p>
-The current workspace lock is very coarse-grained both in how long the lock is held,
-and the scope of the resources that are locked by it.  To achieve better concurrency
-in the workspace, we need to attack the lock's physical granularity, its temporal
-granularity, or some combination of the two.
-</p>
-<p>
-We can improve the lock's temporal granularity by removing any public, general way 
-of locking for an arbitrary period of time. I.e., we make the simple change of not 
-acquiring the lock for IWorkspaceRunnables. (or even better, deprecate IWorkspaceRunnable entirely).
-</p>
-<p>
-Internally, the workspace would continue to use a single lock in critical regions to ensure
-the integrity of individual API calls.  However, a systematic effort would be made to
-break down the duration of locking within those calls, where possible.  For example,
-a best-effort copy method does not need to lock the workspace for its entire duration,
-but only for each unit of work where a new resource is created at the destination.
-</p>
-<p>
-The underlying design rule is to prevent an atomic operation from locking
-the workspace for a long period of time.  Without the presence of long term locks, 
-long running concurrent operations will interleave their access to the workspace, 
-enabling several workspace-modifying operations to run at the same time.
-</p>
-<p>
-This solution is optimistic. It assumes that concurrent writes to the same set 
-of resources in a conflicting manner are relatively rare. One could in fact go further, and
-say that if concurrent operations are modifying the same resources at the same time,
-then it is either a user or programming error, and the concurrent tasks should just fail.
-Serves them right for trying to do contradictory things on the same set of resources.
-</p>
-<p>
-However, this philosophy is not acceptable without a very strong visual indication
-to the user of what is happening and when it will be finished.  I.e., if we had a progress
-dialog saying, "Resource X is being modified, and I will let you know when I'm done",
-then it might be acceptable to blame the user if they start a conflicting task before
-it finishes.  Some of the drawbacks of this approach are:
-<ol style="a">
-<li>The dialog is a distraction to the user in the cases where the user
-doesn't care when the task ends and is not waiting for its result</li>
-<li>This interaction style puts the onus on the user to avoid making mistakes.  </li>
-<li>In many cases the user doesn't know what resources are modified by a given 
-operation. I.e., it is unrealistic to assume that users can compute the intersection
-between the set of resources that all current background threads may modify
-and the set of resources that might be modified by another task they are thinking
-of starting.</li>
-<li>The penalty to the user for making a mistake can be severe.  For example,
-if the user starts a CVS commit operation, and then, thinking the commit is about done,
-decides to delete the project, they will be unhappy if the deletion started before
-the commit finished.</li>
-</ol>
-<p>
-So, how do we schedule concurrent jobs in a way that prevents conflicts without
-employing a single long term lock? We can introduce a scheme where
-jobs can specify in advance whether they need exclusive access to a resource.
-That is, each job can optionally supply a <i>scheduling rule</i> that is used by
-the job scheduler when making decisions about which jobs to run.  The API for these 
-rules would look something like this:
-<pre>
-public interface ISchedulingRule {
-	public boolean isConflicting(ISchedulingRule);
-}
-</pre>
-<p>
-While these rules would remain generic at the job scheduling level, the workspace
-can introduce some standard rules.  For example, a rule could request an array
-of resources, or the entire workspace.  In this way, finer-grained portions of the workspace
-can be effectively locked by a job.
-</p>
-<p>
-The contract on these rules would be as follows: the job scheduling mechanism 
-guarantees that a job won't be started if there is a job currently running that conflicts
-with its scheduling rule.  This scheduling rule would be orthogonal to any locking 
-mechanism, thus avoiding some of the problems discussed earlier with regard
-to pre-specification of locks. We still need to revisit our previous objections to
-pre-specified locks to see how they apply to scheduling rules:
-<ul>
-<li>Scheduling performance. The scheduling rules need to be resolved every time
-a job is to be run.  It is true that this will still impose an overhead on scheduling.
-Most of the time, however, there will be few or no jobs running so very little rule
-analysis is needed.  As the number of concurrent operations grows, the cost will
-increase.  However, this has the nice property that it is fast most of the time, and 
-only starts to slow down in the uncommon case where the system is already very busy anyway.
-</li>
-<li>How to know what rules to use?  In some cases it is hard to predict what resources
-will be changed by a given unit of work.  When third party API is called, there is often
-no contract saying what will be touched.  This is still an issue.  In the worst case,
-clients will err on the side of caution and specify that the entire workspace is needed.
-We will need to educate users to specify rules carefully, and if necessary to break
-jobs up into separate units with different rules.  We will introduce a way of creating
-composite jobs that will be run in a specific order, but each job can have its
-own scheduling rules.
-</li>
-<li>How to enforce that rules are followed?  The proposal is that we don't enforce
-anything.  That is, a job can request arbitrary locks regardless of what rules were
-stated.  To avoid deadlock, lock ordering with release and wait (described earlier)
-will be used.  The theory is that if jobs are well behaved and specify their rules
-correctly, deadlock will be rare, so release and wait will rarely be necessary.  To put
-it another way, the penalty for not specifying your rules correctly is that you might
-have some locks taken away from you when you don't expect it.  This is a much
-more palatable failure mode than throwing an exception, for example.
-</li>
-<li>Pre-allocation can be wasteful if resources are only actually needed for a short
-period of time.  This is still a potential problem with scheduling rules.  Job writers
-will have to take this into consideration when designing jobs and their rules.  If a 
-job only needs access to a resource briefly at the end of a long operation, it can
-be coded as two jobs with different rules.  This is an area where scheduling rules
-introduce a new complication that clients need to be aware of.
-</li>
-</ul>
-<p>
-Scheduling rules may not be necessary at all in cases where contention is not likely,
-or where the job is written in such a way that concurrent changes are tolerated.
-if clients are confident that no contention is likely, they don't need to specify any
-rules.  A good example for this is search.  Search may create search result markers
-on arbitrary resources.  However, search could be implemented to not have
-any scheduling rules, and it could be tolerant of concurrent changes and deletion.
-Since it only creates search markers, it doesn't care if those markers are changed
-or deleted after they are created.  Thus it is possible that search can be implemented without
-using any scheduling rules at all, even though it may potentially make modifications
-to an arbitrary set of resources.  Another example of this is CVS metadata files.  Since
-the CVS client is the only one that ever views or modifies the CVS metadata files,
-it may not need to create a scheduling rule for them.
-</p>
-<p>
-Finally, when there is contention between jobs, we need a
-mechanism for giving more value to jobs initiated by users versus background jobs 
-that the user is not waiting on results for.  Each job belongs to a priority class that
-can be used to manage this interaction.  User initiated jobs belong to the INTERACTIVE
-priority class. To avoid blocking interactive jobs for unacceptable periods of time, we
-can employ various policies to ensure the job gets run, such as:
-<ul>
-<li>Only start non-interactive jobs when NO interactive jobs are running</li>
-<li>If an interactive job is waiting to be run, and its rule conflicts with a currently
-running non-interactive job, the non-interactive job may be canceled to let the interactive
-job proceed.</li>
-<li>If an interactive job is waiting on a lock held by a non-interactive job, 
-the non-interactive job may be canceled to let the interactive job proceed.</li>
-</ul>
-
-<h3>Locking issues</h3>
-<h4>Is the UI thread allowed to acquire locks?</h4>
-<b>Reasons for "No":</b><br>
-<p>
-Clearly there is a deadlock risk due to the interaction with syncExec.
-We can handle this risk in the same way that we handle it in Eclipse 2.1.  By ensuring
-the core locking mechanism and the SWT synchronizer are aware of each other, we
-can avoid potential deadlocks by servicing syncExecs in the UI thread in the case
-where the UI thread is waiting on an acquired lock.  
-</p>
-<p>
-Not allowing locks in the UI thread would also help improve UI responsiveness.  
-If the UI thread is waiting on a lock, it cannot be processing the event queue, and thus
-the UI will fail to paint.
-</p>
-<p>
-If we don't allow locks in the UI thread, then we can easily add the extra restriction
-that locks must be acquired from within the context of currently running jobs.  This
-would give us a story for cleaning up misbehaving locks.  I.e., if someone acquires
-a lock but fails to release it, we can release it automatically when the job completes.
-</p>
-<b>Reasons for "Yes":</b><br>
-<p>
-The main drawback is that this would be unweildy to program with.  Some operations
-that acquire locks may actually be very fast.  Forcing the UI to fork a 
-job every time a lock is needed may be overkill in many cases.  If third party code is 
-called from the UI, the caller may not know if locks will be acquired deep down in the 
-call stack.  To be defensive, the UI would have to fork jobs whenever third party
-code is called.
-</p>
-<p>
-Another problem is how this rule would be enforced.  Throwing an exception when
-the UI thread attempts to acquire a lock would result in unacceptable runtime errors.
-</p>
-<h4>Do we expose locks?</h4>
-<p>
-Do we allow third party clients to directly acquire, for example, the workspace lock?
-The answer to this question must be "No", if we don't have the restriction that jobs
-be acquired within running jobs.  Otherwise, we would have no way of cleaning up
-locks that clients acquire but fail to release.  Is this acceptable?  Do we know of 
-any cases where clients will need to acquire the workspace lock, given that we have
-a system of rules to prevent conflicting jobs from running concurrently?
-</p>
-
-
-
-</body>	
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/icons/job_view.gif b/examples/org.eclipse.ui.examples.job/icons/job_view.gif
deleted file mode 100644
index 81fb7b4..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/job_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/icons/sample.gif b/examples/org.eclipse.ui.examples.job/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/icons/suspend.gif b/examples/org.eclipse.ui.examples.job/icons/suspend.gif
deleted file mode 100644
index 0d71e42..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/suspend.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/icons/tree_view.gif b/examples/org.eclipse.ui.examples.job/icons/tree_view.gif
deleted file mode 100644
index ce8bdb9..0000000
--- a/examples/org.eclipse.ui.examples.job/icons/tree_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.job/plugin.xml b/examples/org.eclipse.ui.examples.job/plugin.xml
deleted file mode 100644
index c7cad63..0000000
--- a/examples/org.eclipse.ui.examples.job/plugin.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.job"
-   name="Progress Examples Plug-in"
-   version="3.0.0"
-   provider-name="IBM"
-   class="org.eclipse.ui.examples.jobs.ProgressExamplesPlugin">
-
-   <runtime>
-      <library name="ProgressExamples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Progress Examples"
-            id="ProgressExamples">
-      </category>
-      <view
-            name="Lazy Trees"
-            icon="icons/tree_view.gif"
-            category="ProgressExamples"
-            class="org.eclipse.ui.examples.jobs.views.LazyTreeView"
-            id="org.eclipse.ui.examples.jobs.views.LazyTreeView">
-      </view>
-      <view
-            name="Job Factory"
-            icon="icons/job_view.gif"
-            category="ProgressExamples"
-            class="org.eclipse.ui.examples.jobs.views.JobsView"
-            id="org.eclipse.ui.examples.jobs.views.JobsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               id="org.eclipse.ui.examples.jobs.views.LazyTreeView"
-               relationship="right">
-         </view>
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               id="org.eclipse.ui.examples.jobs.views.JobsView"
-               relationship="right">
-         </view>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Job Example Actions"
-            visible="true"
-            id="ProgressExamples.actionSet">
-         <menu
-               label="&amp;Job"
-               id="sampleMenu">
-            <separator
-                  name="sampleGroup">
-            </separator>
-         </menu>
-         <action
-               label="&amp;Suspend Job Manager"
-               icon="icons/suspend.gif"
-               style="toggle"
-               class="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction"
-               tooltip="Suspend the job manager"
-               menubarPath="sampleMenu/sampleGroup"
-               toolbarPath="sampleGroup"
-               id="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction">
-         </action>
-         <action
-               label="&amp;Dump Job Information"
-               icon="icons/sample.gif"
-               class="org.eclipse.ui.examples.jobs.actions.DebugJobManagerAction"
-               tooltip="Dump job information"
-               menubarPath="sampleMenu/sampleGroup"
-               id="org.eclipse.ui.examples.jobs.actions.SuspendJobManagerAction">
-         </action>
-      </actionSet>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
deleted file mode 100644
index 0279630..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/BusyShowWhileDialog.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.progress.ProgressManager;
-/**
- *BusyShowWhileDialog is a test of busyShowWhile in a modal dialog.
- */
-public class BusyShowWhileDialog extends IconAndMessageDialog {
-	/**
-	 * @param parentShell
-	 * @todo Generated comment
-	 */
-	public BusyShowWhileDialog(Shell parentShell) {
-		super(parentShell);
-		message = "Busy While Test"; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-	protected Image getImage() {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		Button detailsButton = createButton(parent, 4, "Start busy show while", false); //$NON-NLS-1$
-		detailsButton.addSelectionListener(new SelectionListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					ProgressManager.getInstance().busyCursorWhile(new IRunnableWithProgress() {
-						/* (non-Javadoc)
-						 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-						 */
-						public void run(IProgressMonitor monitor) throws InvocationTargetException,
-								InterruptedException {
-							long time = System.currentTimeMillis();
-							long delay = PlatformUI.getWorkbench().getProgressService().getLongOperationTime();
-							long end = time + delay + delay;
-							while (end > System.currentTimeMillis()) {
-								final Shell myShell = BusyShowWhileDialog.this.getShell();
-								myShell.getDisplay().asyncExec(new Runnable() {
-									/* (non-Javadoc)
-									 * @see java.lang.Runnable#run()
-									 */
-									public void run() {
-										if(myShell.isDisposed())
-											return;
-										myShell.getDisplay().sleep();
-										myShell.setText(String.valueOf(System.currentTimeMillis()));
-									}
-								});
-							}
-						}
-					});
-				} catch (InvocationTargetException error) {
-					error.printStackTrace();
-				} catch (InterruptedException error) {
-					error.printStackTrace();
-				}
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-			 */
-			public void widgetDefaultSelected(SelectionEvent e) {
-				//do nothing
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
deleted file mode 100644
index 2100d3e..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/ProgressExamplesPlugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.ui.examples.jobs;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.examples.jobs.views.ProgressExampleAdapterFactory;
-import org.eclipse.ui.examples.jobs.views.SlowElement;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ProgressExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ProgressExamplesPlugin plugin;
-	
-	/**
-	 * The constructor.
-	 */
-	public ProgressExamplesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ProgressExamplesPlugin getDefault() {
-		return plugin;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		IAdapterManager m = Platform.getAdapterManager();
-		IAdapterFactory f = new ProgressExampleAdapterFactory();
-		m.registerAdapters(f, SlowElement.class);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
deleted file mode 100644
index 27f9cde..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/TestJob.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.examples.jobs;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-/**
- * Base class for a simple test job with configurable parameters
- */
-public class TestJob extends Job {
-	/**
-	 * A family identifier for all test jobs
-	 */
-	public static final Object FAMILY_TEST_JOB = new Object();
-	/**
-	 * Total duration that the test job should sleep, in milliseconds.
-	 */
-	private long duration;
-	/**
-	 * Whether the test job should fail.
-	 */
-	private boolean failure;
-	/**
-	 * Whether the job should report unknown progress.
-	 */
-	private boolean unknown;
-	private boolean reschedule;
-	private long rescheduleWait;
-	/**
-	 * Creates a new test job
-	 * @param duration Total time that the test job should sleep, in milliseconds.
-	 * @param lock Whether the job should use a workspace scheduling rule
-	 * @param failure Whether the job should fail
-	 * @param indeterminate Whether the job should report indeterminate progress
-	 * @param rescheduleWait
-	 * @param reschedule
-	 */
-	public TestJob(long duration, boolean lock, boolean failure, boolean indeterminate, boolean reschedule, long rescheduleWait) {
-		super("Test job"); //$NON-NLS-1$
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		this.reschedule = reschedule;
-		this.rescheduleWait = rescheduleWait;
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		if(family instanceof TestJob) {
-			return true;
-		}
-		return family == FAMILY_TEST_JOB;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus run(IProgressMonitor monitor) {
-		if (failure) {
-			MultiStatus result = new MultiStatus("org.eclipse.ui.examples.jobs", 1, "This is the MultiStatus message", new RuntimeException("This is the MultiStatus exception")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			result.add(new Status(IStatus.ERROR, "org.eclipse.ui.examples.jobs", 1, "This is the child status message", new RuntimeException("This is the child exception"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			return result;
-		}
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		if(this.unknown)
-			monitor.beginTask(toString(), IProgressMonitor.UNKNOWN);
-		else
-			monitor.beginTask(toString(), ticks);
-		try {
-			for (int i = 0; i < ticks; i++) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-				try {
-					Thread.sleep(sleep);
-				} catch (InterruptedException e) {
-					Thread.interrupted();
-				}
-				monitor.worked(1);
-			}
-		} finally {
-			if(reschedule) 
-				schedule(rescheduleWait);
-			monitor.done();
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
deleted file mode 100644
index fbf8682..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/UITestJob.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.examples.jobs;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.progress.UIJob;
-/**
- * Base class for a simple test UI job with configurable parameters
- */
-public class UITestJob extends UIJob {
-	private long duration;
-	private boolean failure;
-	private boolean unknown;
-	public UITestJob(long duration, boolean lock, boolean failure, boolean indeterminate) {
-		super("Test job"); //$NON-NLS-1$
-		this.duration = duration;
-		this.failure = failure;
-		this.unknown = indeterminate;
-		
-		if (lock)
-			setRule(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	public IStatus runInUIThread(IProgressMonitor monitor) {
-		if (failure)
-			throw new RuntimeException();
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		if(unknown)
-			monitor.beginTask(toString(), IProgressMonitor.UNKNOWN);
-		else
-			monitor.beginTask(toString(), ticks);
-		try {
-			for (int i = 0; i < ticks; i++) {
-				if (monitor.isCanceled())
-					return Status.CANCEL_STATUS;
-				monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-				try {
-					Thread.sleep(sleep);
-				} catch (InterruptedException e) {
-					Thread.interrupted();
-				}
-				monitor.worked(1);
-			}
-		} finally {
-			monitor.done();
-		}
-		return Status.OK_STATUS;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.java
deleted file mode 100644
index 719ce0f..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/CreateJobsAction.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.ui.examples.jobs.actions;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.examples.jobs.TestJob;
-
-/**
- * Test action that creates a number of fake jobs, and then waits until they complete.
- */
-public class CreateJobsAction implements IWorkbenchWindowActionDelegate {
-	static final long DELAY = 100;
-
-	private IWorkbenchWindow window;
-
-	private long askForDuration() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How long?", "Enter the number of milliseconds per job", "1000", new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			public String isValid(String newText) {
-				try {
-					Long.parseLong(newText);
-				} catch (NumberFormatException e) {
-					return "Not a number"; //$NON-NLS-1$
-				}
-				return null;
-			}
-		});
-		if (dialog.open() == Window.CANCEL)
-			throw new OperationCanceledException();
-		return Long.parseLong(dialog.getValue());
-	}
-	private boolean askForExclusive() {
-		MessageDialog dialog =
-			new MessageDialog(
-				window.getShell(),
-				"Likes to be left alone?", //$NON-NLS-1$
-				null,
-				"Press yes if the jobs should be run one at a time, and no otherwise", //$NON-NLS-1$
-				MessageDialog.QUESTION,
-				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL },
-				1 // no is the default
-		);
-		return dialog.open() == 0;
-	}
-	private boolean askForFailure() {
-		MessageDialog dialog =
-			new MessageDialog(
-				window.getShell(),
-				"Born to fail?", //$NON-NLS-1$
-				null,
-				"Should the jobs return an error status?", //$NON-NLS-1$
-				MessageDialog.QUESTION,
-				new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL },
-				1 // no is the default
-		);
-		return dialog.open() == 0;
-	}
-	private int askForJobCount() {
-		InputDialog dialog = new InputDialog(window.getShell(), "How much work?", "Enter the number of jobs to run", "100", new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			public String isValid(String newText) {
-				try {
-					Integer.parseInt(newText);
-				} catch (NumberFormatException e) {
-					return "Not a number"; //$NON-NLS-1$
-				}
-				return null;
-			}
-		});
-		if (dialog.open() == Window.CANCEL)
-			throw new OperationCanceledException();
-		return Integer.parseInt(dialog.getValue());
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	public void run(IAction action) {
-		try {
-			int jobCount = askForJobCount();
-			long duration = askForDuration();
-			boolean exclusive = askForExclusive();
-			boolean failure = askForFailure();
-			for (int i = 0; i < jobCount; i ++) {
-				new TestJob(duration, exclusive, failure,false, false, 0).schedule(DELAY);
-			}
-//			ProgressMonitorDialog dialog = new ProgressMonitorDialog(window.getShell());
-//			dialog.run(true, true, new IRunnableWithProgress() {
-//				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-//					try {
-//						Platform.getJobManager().join(CreateJobsAction.this, monitor);
-//					} catch (OperationCanceledException e) {
-//					}
-//				}
-//			});
-		} catch (OperationCanceledException e) {
-//		} catch (InvocationTargetException e) {
-//			e.printStackTrace();
-//		} catch (InterruptedException e) {
-//			e.printStackTrace();
-		}
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
deleted file mode 100644
index 5b51717..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/DebugJobManagerAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.internal.jobs.JobManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * 
- */
-public class DebugJobManagerAction implements IWorkbenchWindowActionDelegate {
-	public DebugJobManagerAction() {
-		super();
-	}
-	public void dispose() {
-		//
-	}
-
-	public void init(IWorkbenchWindow window) {
-		//
-	}
-
-	public void run(IAction action) {
-		Job[] jobs = Platform.getJobManager().find(null);
-		System.out.println("**** BEGIN DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-		for (int i = 0; i < jobs.length; i++) {
-			System.out.println("" + jobs[i] + " state: " + JobManager.printState(jobs[i].getState())); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		System.out.println("**** END DUMP JOB MANAGER INFORMATION ****"); //$NON-NLS-1$
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		//
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
deleted file mode 100644
index 7d36c26..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/ForegroundAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public class ForegroundAction implements IWorkbenchWindowActionDelegate {
-	public void run(IAction action) {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) {
-					//no-op
-				}
-			}, null);
-		} catch (OperationCanceledException e) {
-			e.printStackTrace();
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
deleted file mode 100644
index e091ed0..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/JobAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class JobAction implements IWorkbenchWindowActionDelegate {
-	public void run(IAction action) {
-		final IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		Job job = new WorkspaceJob("Background job") { //$NON-NLS-1$
-			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Doing something in background", 100); //$NON-NLS-1$
-				for (int i = 0; i < 100; i++) {
-					try {
-						Thread.sleep(100);
-					} catch (InterruptedException e) {
-						//ignore
-					}
-					monitor.worked(1);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setRule(workspace.getRoot());
-		job.schedule();
-	}
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	public void dispose() {
-		//do nothing
-	}
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
deleted file mode 100644
index bab1674..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/actions/SuspendJobManagerAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.ui.examples.jobs.actions;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Toggles the suspend/resume state of the job manager.
- */
-public class SuspendJobManagerAction implements IWorkbenchWindowActionDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		try {
-			if (action.isChecked())
-				Platform.getJobManager().suspend();
-			else
-				Platform.getJobManager().resume();
-		} catch (OperationCanceledException e) {
-			//thrown if the user cancels the attempt to suspend
-			e.printStackTrace();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		//do nothing
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		//do nothing
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		//do nothing
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
deleted file mode 100644
index 32dcab3..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/DeferredContentProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.model.BaseWorkbenchContentProvider;
-import org.eclipse.ui.progress.DeferredTreeContentManager;
-
-public class DeferredContentProvider extends BaseWorkbenchContentProvider {
-
-	private DeferredTreeContentManager manager;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (viewer instanceof AbstractTreeViewer) {
-			manager = new DeferredTreeContentManager(this, (AbstractTreeViewer) viewer);
-		}
-		super.inputChanged(viewer, oldInput, newInput);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		// the + box will always appear, but then disappear
-		// if not needed after you first click on it.
-		if (manager != null) {
-			if (manager.isDeferredAdapter(element))
-				return manager.mayHaveChildren(element);
-		}
-
-		return super.hasChildren(element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.WorkbenchContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object element) {
-		if (manager != null) {
-			Object[] children = manager.getChildren(element);
-			if(children != null) {
-				return children;
-			}
-		}
-		return super.getChildren(element);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
deleted file mode 100644
index 706d563..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/JobsView.java
+++ /dev/null
@@ -1,543 +0,0 @@
-package org.eclipse.ui.examples.jobs.views;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.examples.jobs.TestJob;
-import org.eclipse.ui.examples.jobs.UITestJob;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.progress.IProgressConstants;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * A view that allows a user to create jobs of various types, and interact with
- * and test other job-related APIs.
- */
-public class JobsView extends ViewPart {
-	private Combo durationField;
-	private Button lockField, failureField, threadField, systemField, userField, groupField, rescheduleField, keepField, keepOneField, unknownField, gotoActionField;
-	private Text quantityField, delayField, rescheduleDelay;
-
-	protected void busyCursorWhile() {
-		try {
-			final long duration = getDuration();
-			final boolean shouldLock = lockField.getSelection();
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InterruptedException {
-					if (shouldLock)
-						doRunInWorkspace(duration, monitor);
-					else
-						doRun(duration, monitor);
-				}
-
-			});
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected void createJobs() {
-		int jobCount = Integer.parseInt(quantityField.getText());
-		boolean ui = threadField.getSelection();
-		long duration = getDuration();
-		boolean lock = lockField.getSelection();
-		boolean failure = failureField.getSelection();
-		boolean system = systemField.getSelection();
-		boolean useGroup = groupField.getSelection();
-		boolean unknown = unknownField.getSelection();
-		boolean user = userField.getSelection();
-		boolean reschedule = rescheduleField.getSelection();
-		final long rescheduleWait =  Long.parseLong(rescheduleDelay.getText());
-		boolean keep = keepField.getSelection();
-		boolean keepOne = keepOneField.getSelection();
-		boolean gotoAction = gotoActionField.getSelection();
-
-		int groupIncrement = IProgressMonitor.UNKNOWN;
-		IProgressMonitor group = new NullProgressMonitor();
-		int total = IProgressMonitor.UNKNOWN;
-
-		if (jobCount > 1) {
-			total = 100;
-			groupIncrement = 100 / jobCount;
-		}
-
-		if (useGroup) {
-			group = Platform.getJobManager().createProgressGroup();
-			group.beginTask("Group", total); //$NON-NLS-1$
-		}
-
-		long delay = Integer.parseInt(delayField.getText());
-		for (int i = 0; i < jobCount; i++) {
-			Job result;
-			if (ui)
-				result = new UITestJob(duration, lock, failure, unknown);
-			else
-				result = new TestJob(duration, lock, failure, unknown, reschedule, rescheduleWait);
-
-			result.setProperty(IProgressConstants.KEEP_PROPERTY, Boolean.valueOf(keep));
-			result.setProperty(IProgressConstants.KEEPONE_PROPERTY, Boolean.valueOf(keepOne));
-			
-			if(gotoAction)
-				result.setProperty(IProgressConstants.ACTION_PROPERTY, new Action("Pop up a dialog") { //$NON-NLS-1$
-					public void run() {
-						MessageDialog.openInformation(getSite().getShell(), "Goto Action", "The job can have an action associated with it"); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				});
-			
-			result.setProgressGroup(group, groupIncrement);
-			result.setSystem(system);
-			result.setUser(user);
-			result.schedule(delay);
-		}
-	}
-
-	/**
-	 * @see ViewPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		Composite body = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		body.setLayout(layout);
-
-		createEntryFieldGroup(body);
-		createPushButtonGroup(body);
-		createCheckboxGroup(body);
-	}
-
-	/**
-	 * Create all push button parts for the jobs view.
-	 * @param parent
-	 */
-	private void createPushButtonGroup(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		//create jobs
-		Button create = new Button(group, SWT.PUSH);
-		create.setText("Create jobs"); //$NON-NLS-1$
-		create.setToolTipText("Creates and schedules jobs according to above parameters"); //$NON-NLS-1$
-		create.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		create.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				createJobs();
-			}
-		});
-
-		//touch workspace
-		Button touch = new Button(group, SWT.PUSH);
-		touch.setText("Touch workspace"); //$NON-NLS-1$
-		touch.setToolTipText("Modifies the workspace in the UI thread"); //$NON-NLS-1$
-		touch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		touch.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				touchWorkspace();
-			}
-		});
-		//busy cursor while
-		Button busyWhile = new Button(group, SWT.PUSH);
-		busyWhile.setText("busyCursorWhile"); //$NON-NLS-1$
-		busyWhile.setToolTipText("Uses IProgressService.busyCursorWhile"); //$NON-NLS-1$
-		busyWhile.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		busyWhile.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				busyCursorWhile();
-			}
-		});
-		//progress monitor dialog with fork=false
-		Button noFork = new Button(group, SWT.PUSH);
-		noFork.setText("runInUI"); //$NON-NLS-1$
-		noFork.setToolTipText("Uses IProgressService.runInUI"); //$NON-NLS-1$
-		noFork.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		noFork.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				progressNoFork();
-			}
-		});
-
-		//progress monitor dialog with fork=false
-		Button exception = new Button(group, SWT.PUSH);
-		exception.setText("Runtime Exception"); //$NON-NLS-1$
-		exception.setToolTipText("NullPointerException when running"); //$NON-NLS-1$
-		exception.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		exception.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				jobWithRuntimeException();
-			}
-		});
-
-		//join the running test jobs
-		Button join = new Button(group, SWT.PUSH);
-		join.setText("Join Test Jobs"); //$NON-NLS-1$
-		join.setToolTipText("IJobManager.join() on test jobs"); //$NON-NLS-1$
-		join.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		join.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				joinTestJobs();
-			}
-		});
-
-		//join the running test jobs
-		Button window = new Button(group, SWT.PUSH);
-		window.setText("Runnable in Window"); //$NON-NLS-1$
-		window.setToolTipText("Using a runnable context in the workbench window"); //$NON-NLS-1$
-		window.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		window.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				runnableInWindow();
-			}
-		});
-
-		//join the running test jobs
-		Button sleep = new Button(group, SWT.PUSH);
-		sleep.setText("Sleep"); //$NON-NLS-1$
-		sleep.setToolTipText("Calls sleep() on all TestJobs"); //$NON-NLS-1$
-		sleep.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		sleep.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doSleep();
-			}
-		});
-
-		//join the running test jobs
-		Button wake = new Button(group, SWT.PUSH);
-		wake.setText("WakeUp"); //$NON-NLS-1$
-		wake.setToolTipText("Calls wakeUp() on all TestJobs"); //$NON-NLS-1$
-		wake.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		wake.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doWakeUp();
-			}
-		});
-	}
-	/**
-	 * Wakes up all sleeping test jobs.
-	 */
-	protected void doWakeUp() {
-		Platform.getJobManager().wakeUp(TestJob.FAMILY_TEST_JOB);
-	}
-	/**
-	 * Puts to sleep all waiting test jobs.
-	 */
-	protected void doSleep() {
-		Platform.getJobManager().sleep(TestJob.FAMILY_TEST_JOB);
-	}
-
-	/**
-	 * @param body
-	 */
-	private void createEntryFieldGroup(Composite body) {
-		//duration
-		Label label = new Label(body, SWT.NONE);
-		label.setText("Duration:"); //$NON-NLS-1$
-		durationField = new Combo(body, SWT.DROP_DOWN | SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		durationField.setLayoutData(data);
-		durationField.add("0"); //$NON-NLS-1$
-		durationField.add("1 millisecond"); //$NON-NLS-1$
-		durationField.add("1 second"); //$NON-NLS-1$
-		durationField.add("10 seconds"); //$NON-NLS-1$
-		durationField.add("1 minute"); //$NON-NLS-1$
-		durationField.add("10 minutes"); //$NON-NLS-1$
-		durationField.select(4);
-
-		//delay
-		label = new Label(body, SWT.NONE);
-		label.setText("Start delay (ms):"); //$NON-NLS-1$
-		delayField = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		delayField.setLayoutData(data);
-		delayField.setText("0"); //$NON-NLS-1$
-
-		//quantity
-		label = new Label(body, SWT.NONE);
-		label.setText("Quantity:"); //$NON-NLS-1$
-		quantityField = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		quantityField.setLayoutData(data);
-		quantityField.setText("1"); //$NON-NLS-1$
-		
-		//reschedule delay
-		label = new Label(body, SWT.NONE);
-		label.setText("Reschedule Delay (ms):"); //$NON-NLS-1$
-		rescheduleDelay = new Text(body, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		rescheduleDelay.setLayoutData(data);
-		rescheduleDelay.setText("1000"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates all of the checkbox buttons.
-	 */
-	private void createCheckboxGroup(Composite parent) {
-		Composite group = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		//lock
-		lockField = new Button(group, SWT.CHECK);
-		lockField.setText("Lock the workspace"); //$NON-NLS-1$
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		lockField.setLayoutData(data);
-
-		//system
-		systemField = new Button(group, SWT.CHECK);
-		systemField.setText("System job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		systemField.setLayoutData(data);
-
-		//thread
-		threadField = new Button(group, SWT.CHECK);
-		threadField.setText("Run in UI thread"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		threadField.setLayoutData(data);
-
-		//failure
-		failureField = new Button(group, SWT.CHECK);
-		failureField.setText("Fail"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		failureField.setLayoutData(data);
-
-		//groups
-		groupField = new Button(group, SWT.CHECK);
-		groupField.setText("Run in Group"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		groupField.setLayoutData(data);
-		
-		//	reschedule
-		rescheduleField = new Button(group, SWT.CHECK);
-		rescheduleField.setText("Reschedule"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		rescheduleField.setLayoutData(data);
-		
-		//	keep
-		keepField = new Button(group, SWT.CHECK);
-		keepField.setText("Keep"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		keepField.setLayoutData(data);
-		
-		//	keep one
-		keepOneField = new Button(group, SWT.CHECK);
-		keepOneField.setText("KeepOne"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		keepOneField.setLayoutData(data);
-
-		//IProgressMonitor.UNKNOWN
-		unknownField = new Button(group, SWT.CHECK);
-		unknownField.setText("Indeterminate Progress"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		unknownField.setLayoutData(data);
-
-		//whether the job is a user job
-		userField = new Button(group, SWT.CHECK);
-		userField.setText("User job"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		userField.setLayoutData(data);
-		
-		//	whether the job has a goto action
-		gotoActionField = new Button(group, SWT.CHECK);
-		gotoActionField.setText("Goto action"); //$NON-NLS-1$
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		gotoActionField.setLayoutData(data);
-	}
-
-	protected void doRun(long duration, IProgressMonitor monitor) {
-		final long sleep = 10;
-		int ticks = (int) (duration / sleep);
-		monitor.beginTask("Spinning inside IProgressService.busyCursorWhile", ticks); //$NON-NLS-1$
-		monitor.setTaskName("Spinning inside IProgressService.busyCursorWhile"); //$NON-NLS-1$
-		for (int i = 0; i < ticks; i++) {
-			monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-			if (monitor.isCanceled())
-				return;
-			try {
-				Thread.sleep(sleep);
-			} catch (InterruptedException e) {
-				//ignore
-			}
-			monitor.worked(1);
-		}
-	}
-
-	protected void doRunInWorkspace(final long duration, IProgressMonitor monitor) {
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					doRun(duration, monitor);
-				}
-			}, monitor);
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-	}
-
-	protected long getDuration() {
-		switch (durationField.getSelectionIndex()) {
-			case 0 :
-				return 0;
-			case 1 :
-				return 1;
-			case 2 :
-				return 1000;
-			case 3 :
-				return 10000;
-			case 4 :
-				return 60000;
-			case 5 :
-			default :
-				return 600000;
-		}
-	}
-
-	protected void jobWithRuntimeException() {
-		Job runtimeExceptionJob = new Job("Job with Runtime exception") { //$NON-NLS-1$
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected IStatus run(IProgressMonitor monitor) {
-				throw new NullPointerException();
-			}
-		};
-		runtimeExceptionJob.schedule();
-	}
-
-	/**
-	 * Example usage of the IJobManager.join method.
-	 */
-	protected void joinTestJobs() {
-		try {
-			//note that when a null progress monitor is used when in the UI
-			//thread, the workbench will create a default progress monitor
-			//that reports progress in a modal dialog with details area
-			Platform.getJobManager().join(TestJob.FAMILY_TEST_JOB, null);
-		} catch (OperationCanceledException e) {
-			//thrown if the user interrupts the join by canceling the progress monitor
-			//A UI component should swallow the exception and finish the action
-			//or operation. A lower level component should just propagate the
-			//exception
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			// Thrown if Thread.interrupt is called on this thread
-			// This can either be ignored (repeat the join attempt until success), or propagated
-			e.printStackTrace();
-		}
-	}
-
-	protected void progressNoFork() {
-		try {
-			final long duration = getDuration();
-			final boolean shouldLock = lockField.getSelection();
-			IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-			progressService.runInUI(progressService, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InterruptedException {
-					if (shouldLock)
-						doRunInWorkspace(duration, monitor);
-					else
-						doRun(duration, monitor);
-				}
-			}, ResourcesPlugin.getWorkspace().getRoot());
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * @see ViewPart#setFocus()
-	 */
-	public void setFocus() {
-		if (durationField != null && !durationField.isDisposed())
-			durationField.setFocus();
-	}
-
-	protected void touchWorkspace() {
-		//create an asyncExec to touch the workspace the specific number of times
-		int jobCount = Integer.parseInt(quantityField.getText());
-		for (int i = 0; i < jobCount; i++) {
-			getSite().getShell().getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					try {
-						ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-							public void run(IProgressMonitor monitor) {
-								//no-op
-							}
-						}, null);
-					} catch (OperationCanceledException e) {
-						//ignore
-					} catch (CoreException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * Run a workspace runnable in the application window.
-	 *
-	 */
-
-	public void runnableInWindow() {
-
-		final long time = getDuration();
-		final long sleep = 10;
-		IRunnableWithProgress runnableTest = new WorkspaceModifyOperation() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.actions.WorkspaceModifyOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-				int ticks = (int) (time / sleep);
-				monitor.beginTask("Spinning inside ApplicationWindow.run()", ticks); //$NON-NLS-1$
-				monitor.setTaskName("Spinning inside ApplicationWindow.run()"); //$NON-NLS-1$
-				for (int i = 0; i < ticks; i++) {
-					monitor.subTask("Processing tick #" + i); //$NON-NLS-1$
-					if (monitor.isCanceled())
-						return;
-					try {
-						Thread.sleep(sleep);
-					} catch (InterruptedException e) {
-						//ignore
-					}
-					monitor.worked(1);
-				}
-			}
-
-		};
-		try {
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, runnableTest);
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
deleted file mode 100644
index 43f74b8..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/LazyTreeView.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.ui.examples.jobs.views;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ViewPart;
-/**
- * This sample class demonstrates how to plug-in a new workbench view. The view
- * shows data obtained from the model. The sample creates a dummy model on the
- * fly, but a real implementation would connect to the model available either
- * in this or another plug-in (e.g. the workspace). The view is connected to
- * the model using a content provider.
- * <p>
- * The view uses a label provider to define how model objects should be
- * presented in the view. Each view can present the same model objects using
- * different labels and icons, if needed. Alternatively, a single label
- * provider can be shared between views in order to ensure that objects of the
- * same type are presented in the same way everywhere.
- * <p>
- */
-public class LazyTreeView extends ViewPart {
-	protected TreeViewer viewer;
-	protected Button serializeButton, batchButton;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite top) {
-		Composite parent = new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		parent.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		parent.setLayoutData(data);
-//		parent.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton = new Button(parent, SWT.CHECK | SWT.FLAT);
-		serializeButton.setText("Serialize fetch jobs"); //$NON-NLS-1$
-//		serializeButton.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton.setSelection(SlowElementAdapter.isSerializeFetching());
-		serializeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				SlowElementAdapter.setSerializeFetching(serializeButton.getSelection());
-			}
-		});
-		serializeButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		batchButton = new Button(parent, SWT.CHECK | SWT.FLAT);
-		batchButton.setText("Batch returned children"); //$NON-NLS-1$
-//		batchButton.setBackground(WorkbenchColors.getSystemColor(SWT.COLOR_WHITE));
-		serializeButton.setSelection(SlowElementAdapter.isBatchFetchedChildren());
-		batchButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				SlowElementAdapter.setBatchFetchedChildren(batchButton.getSelection());
-			}
-		});
-		batchButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		viewer.setContentProvider(new DeferredContentProvider());
-		viewer.setLabelProvider(new WorkbenchLabelProvider());
-		viewer.setInput(new SlowElement("root")); //$NON-NLS-1$
-		viewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.java
deleted file mode 100644
index 4218690..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/ProgressExampleAdapterFactory.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.ui.examples.jobs.views;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-
-public class ProgressExampleAdapterFactory implements IAdapterFactory {
-	private SlowElementAdapter slowElementAdapter = new SlowElementAdapter();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object object, Class type) {
-		if(object instanceof SlowElement) {
-			if(type == SlowElement.class || type == IDeferredWorkbenchAdapter.class || type == IWorkbenchAdapter.class)
-				return slowElementAdapter;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {
-				SlowElement.class, IDeferredWorkbenchAdapter.class, IWorkbenchAdapter.class
-				};
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
deleted file mode 100644
index c26b073..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElement.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.PlatformObject;
-
-public class SlowElement extends PlatformObject {
-	private String name;
-	private SlowElement parent;
-
-	SlowElement(String name) {
-		this(null, name, null);	
-	}
-	
-	SlowElement(String name, SlowElement[] children) {
-		this(null, name, children);	
-	}
-	
-	SlowElement(SlowElement parent, String name, SlowElement[] children) {
-		this.name = name;
-		this.parent = parent;
-	}
-	
-	public String getName() {
-		return name;
-	}
-	
-	public SlowElement getParent() {
-		return parent;
-	}
-	
-	public SlowElement[] getChildren() {
-		Random r = new Random();
-		int random = r.nextInt(15);
-		List children = new ArrayList();
-		for(int i = 0; i < random; i++) {
-			children.add(new SlowElement("child" + i)); //$NON-NLS-1$
-		}
-		return (SlowElement[]) children.toArray(new SlowElement[children.size()]);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java b/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
deleted file mode 100644
index ab7897c..0000000
--- a/examples/org.eclipse.ui.examples.job/src/org/eclipse/ui/examples/jobs/views/SlowElementAdapter.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.jobs.views;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.progress.IDeferredWorkbenchAdapter;
-import org.eclipse.ui.progress.IElementCollector;
-
-public class SlowElementAdapter implements IDeferredWorkbenchAdapter {
-
-	private static boolean serializeFetching = false;
-	private static boolean batchFetchedChildren = false;
-
-	final ISchedulingRule mutexRule = new ISchedulingRule() {
-		public boolean isConflicting(ISchedulingRule rule) {
-			return rule == mutexRule;
-		}
-		public boolean contains(ISchedulingRule rule) {
-			return rule == mutexRule;
-		}
-	};
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#fetchDeferredChildren(java.lang.Object,
-	 *           org.eclipse.jface.progress.IElementCollector,
-	 *           org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void fetchDeferredChildren(Object object, IElementCollector collector, IProgressMonitor monitor) {
-		if (object instanceof SlowElement) {
-			Object[] children = ((SlowElement) object).getChildren();
-			if (isBatchFetchedChildren()) {
-				sleep(4000);
-				collector.add(children, monitor);
-			} else {
-				for (int i = 0; i < children.length; i++) {
-					if (monitor.isCanceled()) {
-						return;
-					}
-					collector.add(children[i], monitor);
-					sleep(4000);
-				}
-			}
-		}
-	}
-
-	private void sleep(long mills) {
-		try {
-			Thread.sleep(1000);
-		} catch (InterruptedException e) {
-			//ignore
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#isContainer()
-	 */
-	public boolean isContainer() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.progress.IDeferredWorkbenchAdapter#getRule(java.lang.Object)
-	 */
-	public ISchedulingRule getRule(final Object object) {
-		if (isSerializeFetching())
-			return mutexRule;
-		// Allow several SlowElement parents to fetch children concurrently
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object object) {
-		if (object instanceof SlowElement) {
-			return ((SlowElement) object).getChildren();
-		}
-		return new Object[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof SlowElement) {
-			return ((SlowElement) o).getName();
-		}
-		return "unknown"; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		if (o instanceof SlowElement) {
-			return ((SlowElement) o).getParent();
-		}
-		return null;
-	}
-
-	/**
-	 * @return Returns the batchFetchedChildren.
-	 */
-	public static boolean isBatchFetchedChildren() {
-		return batchFetchedChildren;
-	}
-
-	/**
-	 * @param batchFetchedChildren
-	 *                   The batchFetchedChildren to set.
-	 */
-	public static void setBatchFetchedChildren(boolean batchFetchedChildren) {
-		SlowElementAdapter.batchFetchedChildren = batchFetchedChildren;
-	}
-
-	/**
-	 * @return Returns the serializeFetching.
-	 */
-	public static boolean isSerializeFetching() {
-		return serializeFetching;
-	}
-
-	/**
-	 * @param serializeFetching
-	 *                   The serializeFetching to set.
-	 */
-	public static void setSerializeFetching(boolean serializeFetching) {
-		SlowElementAdapter.serializeFetching = serializeFetching;
-	}
-
-}
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.classpath b/examples/org.eclipse.ui.examples.multipageeditor/.classpath
deleted file mode 100644
index d6156ef..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples MultiPageEditor"/>
-	<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/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore b/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.project b/examples/org.eclipse.ui.examples.multipageeditor/.project
deleted file mode 100644
index 82eae26..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.multipageeditor</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jface.text</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.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 42b98f6..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:10:56 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.java
deleted file mode 100644
index 1a8131c..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MessageUtil.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.ui.examples.multipageeditor;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps with managing messages.
- */
-/* package */class MessageUtil {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.examples.multipageeditor.messages";//$NON-NLS-1$
-
-    private static ResourceBundle fgResourceBundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private MessageUtil() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned, surrounded by '!'s.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return fgResourceBundle.getString(key);
-        } catch (MissingResourceException e) {
-            return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
deleted file mode 100644
index 4603ee1..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageContributor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.multipageeditor;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Manages the installation/deinstallation of global actions for multi-page editors.
- * Responsible for the redirection of global actions to the active editor.
- * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor.
- */
-public class MultiPageContributor extends MultiPageEditorActionBarContributor {
-    private IEditorPart activeEditorPart;
-
-    /**
-     * Creates a multi-page contributor.
-     */
-    public MultiPageContributor() {
-        super();
-    }
-
-    /**
-     * Returns the action registed with the given text editor.
-     * @return IAction or null if editor is null.
-     */
-    protected IAction getAction(ITextEditor editor, String actionID) {
-        return (editor == null ? null : editor.getAction(actionID));
-    }
-
-    /* (non-JavaDoc)
-     * Method declared in MultiPageEditorActionBarContributor.
-     */
-    public void setActivePage(IEditorPart part) {
-        if (activeEditorPart == part)
-            return;
-
-        activeEditorPart = part;
-
-        IActionBars actionBars = getActionBars();
-        if (actionBars != null) {
-
-            ITextEditor editor = (part instanceof ITextEditor) ? (ITextEditor) part
-                    : null;
-
-            actionBars.setGlobalActionHandler(ActionFactory.DELETE.getId(),
-                    getAction(editor, ActionFactory.DELETE.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(),
-                    getAction(editor, ActionFactory.UNDO.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(),
-                    getAction(editor, ActionFactory.REDO.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(),
-                    getAction(editor, ActionFactory.CUT.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(),
-                    getAction(editor, ActionFactory.COPY.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(),
-                    getAction(editor, ActionFactory.PASTE.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(),
-                    getAction(editor, ActionFactory.SELECT_ALL.getId()));
-            actionBars.setGlobalActionHandler(ActionFactory.FIND.getId(),
-                    getAction(editor, ActionFactory.FIND.getId()));
-            actionBars.setGlobalActionHandler(
-                    IDEActionFactory.BOOKMARK.getId(), getAction(editor,
-                            IDEActionFactory.BOOKMARK.getId()));
-            actionBars.setGlobalActionHandler(
-                    IDEActionFactory.ADD_TASK.getId(), getAction(editor,
-                            IDEActionFactory.ADD_TASK.getId()));
-            actionBars.updateActionBars();
-        }
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
deleted file mode 100644
index 0440990..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/MultiPageEditorExample.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.multipageeditor;
-
-import java.io.StringWriter;
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.FillLayout;
-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.FontDialog;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-/**
- * An example showing how to create a multi-page editor.
- * This example has 3 pages:
- * <ul>
- * <li>page 0 contains a nested text editor.
- * <li>page 1 allows you to change the font used in page 2
- * <li>page 2 shows the words in page 0 in sorted order
- * </ul>
- */
-public class MultiPageEditorExample extends MultiPageEditorPart implements
-        IGotoMarker {
-
-    /** The text editor used in page 0. */
-    private TextEditor editor;
-
-    /** The index of the page containing the text editor */
-    private int editorIndex = 0;
-
-    /** The font chosen in page 1. */
-    private Font font;
-
-    /** The text widget used in page 2. */
-    private StyledText text;
-
-    /**
-     * Creates a multi-page editor example.
-     */
-    public MultiPageEditorExample() {
-        super();
-    }
-
-    /**
-     * Creates page 0 of the multi-page editor,
-     * which contains a text editor.
-     */
-    void createPage0() {
-        try {
-            editor = new TextEditor();
-            editorIndex = addPage(editor, getEditorInput());
-            setPageText(editorIndex, MessageUtil.getString("Source")); //$NON-NLS-1$
-        } catch (PartInitException e) {
-            ErrorDialog
-                    .openError(
-                            getSite().getShell(),
-                            MessageUtil.getString("ErrorCreatingNestedEditor"), null, e.getStatus()); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Creates page 1 of the multi-page editor,
-     * which allows you to change the font used in page 2.
-     */
-    void createPage1() {
-
-        Composite composite = new Composite(getContainer(), SWT.NONE);
-        GridLayout layout = new GridLayout();
-        composite.setLayout(layout);
-        layout.numColumns = 2;
-
-        Button fontButton = new Button(composite, SWT.NONE);
-        GridData gd = new GridData(GridData.BEGINNING);
-        gd.horizontalSpan = 2;
-        fontButton.setLayoutData(gd);
-        fontButton.setText(MessageUtil.getString("ChangeFont")); //$NON-NLS-1$
-
-        fontButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent event) {
-                setFont();
-            }
-        });
-
-        int index = addPage(composite);
-        setPageText(index, MessageUtil.getString("Properties")); //$NON-NLS-1$
-    }
-
-    /**
-     * Creates page 2 of the multi-page editor,
-     * which shows the sorted text.
-     */
-    void createPage2() {
-        Composite composite = new Composite(getContainer(), SWT.NONE);
-        FillLayout layout = new FillLayout();
-        composite.setLayout(layout);
-        text = new StyledText(composite, SWT.H_SCROLL | SWT.V_SCROLL);
-        text.setEditable(false);
-
-        int index = addPage(composite);
-        setPageText(index, MessageUtil.getString("Preview")); //$NON-NLS-1$
-    }
-
-    /**
-     * Creates the pages of the multi-page editor.
-     */
-    protected void createPages() {
-        createPage0();
-        createPage1();
-        createPage2();
-    }
-
-    /**
-     * Saves the multi-page editor's document.
-     */
-    public void doSave(IProgressMonitor monitor) {
-        getEditor(0).doSave(monitor);
-    }
-
-    /**
-     * Saves the multi-page editor's document as another file.
-     * Also updates the text for page 0's tab, and updates this multi-page editor's input
-     * to correspond to the nested editor's.
-     */
-    public void doSaveAs() {
-        IEditorPart editor = getEditor(0);
-        editor.doSaveAs();
-        setPageText(0, editor.getTitle());
-        setInput(editor.getEditorInput());
-    }
-
-    /**
-     * The <code>MultiPageEditorExample</code> implementation of this method
-     * checks that the input is an instance of <code>IFileEditorInput</code>.
-     */
-    public void init(IEditorSite site, IEditorInput editorInput)
-            throws PartInitException {
-        if (!(editorInput instanceof IFileEditorInput))
-            throw new PartInitException(MessageUtil.getString("InvalidInput")); //$NON-NLS-1$
-        super.init(site, editorInput);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IEditorPart.
-     */
-    public boolean isSaveAsAllowed() {
-        return true;
-    }
-
-    /**
-     * Calculates the contents of page 2 when the it is activated.
-     */
-    protected void pageChange(int newPageIndex) {
-        super.pageChange(newPageIndex);
-        if (newPageIndex == 2) {
-            sortWords();
-        }
-    }
-
-    /**
-     * Sets the font related data to be applied to the text in page 2.
-     */
-    void setFont() {
-        FontDialog fontDialog = new FontDialog(getSite().getShell());
-        fontDialog.setFontList(text.getFont().getFontData());
-        FontData fontData = fontDialog.open();
-        if (fontData != null) {
-            if (font != null)
-                font.dispose();
-            font = new Font(text.getDisplay(), fontData);
-            text.setFont(font);
-        }
-    }
-
-    /**
-     * Sorts the words in page 0, and shows them in page 2.
-     */
-    void sortWords() {
-
-        String editorText = editor.getDocumentProvider().getDocument(
-                editor.getEditorInput()).get();
-
-        StringTokenizer tokenizer = new StringTokenizer(editorText,
-                " \t\n\r\f!@#$%^&*()-_=+`~[]{};:'\",.<>/?|\\"); //$NON-NLS-1$
-        ArrayList editorWords = new ArrayList();
-        while (tokenizer.hasMoreTokens()) {
-            editorWords.add(tokenizer.nextToken());
-        }
-
-        Collections.sort(editorWords, Collator.getInstance());
-        StringWriter displayText = new StringWriter();
-        for (int i = 0; i < editorWords.size(); i++) {
-            displayText.write(((String) editorWords.get(i)));
-            displayText.write("\n"); //$NON-NLS-1$
-        }
-        text.setText(displayText.toString());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.ide.IGotoMarker
-     */
-    public void gotoMarker(IMarker marker) {
-        setActivePage(editorIndex);
-        IDE.gotoMarker(editor, marker);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties b/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
deleted file mode 100644
index 74743a3..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/Eclipse UI Examples MultiPageEditor/org/eclipse/ui/examples/multipageeditor/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ErrorCreatingNestedEditor=Error creating nested text editor
-ChangeFont=Change Font...
-InvalidInput=Invalid Input: Must be IFileEditorInput
-Preview=Preview
-Properties=Properties
-Source=Source
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/about.html b/examples/org.eclipse.ui.examples.multipageeditor/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/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/examples/org.eclipse.ui.examples.multipageeditor/build.properties b/examples/org.eclipse.ui.examples.multipageeditor/build.properties
deleted file mode 100644
index f544c84..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/build.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.multipageeditor.jar = Eclipse UI Examples MultiPageEditor/
-
-bin.includes = doc-html/,\
-				icons/,\
-				.options,\
-				about.html,\
-				plugin.properties,\
-				plugin.xml,\
-				*.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/hglegal.htm
deleted file mode 100644
index c598113..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/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/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html b/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
deleted file mode 100644
index 069eb62..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/doc-html/ui_multipageeditor_ex.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Desktop - Multi-page Editor Example</title>
-</head>
-<body>
-
-<h2>
-<b>Example - Multi-page Editor</b></h2>
-
-<h3>
-Introduction</h3>
-The&nbsp; Multi Page Editor Example adds an editor for files with the .mpe
-extension. It shows how to create an editor that uses multiple pages by
-defining both an editor and a page contributor that can add entries to
-an action bar.
-<h3>
-Running the example</h3>
-To start using the Multi-page Editor Example, create a new file with .mpe
-extension.&nbsp; Select the file, bring up the popup menu, select the Open
-With menu and from the sub-menu select the Multi Page Editor Example menu
-item. You can then select the different editors by selecting the different
-tabs.
-<h4>
-<b>Creating a new mpe file</b></h4>
-Create a new file with file extension .mpe.&nbsp; From the File menu, select
-New and then select Other... from the sub-menu.&nbsp; Click on Simple in
-the wizard, then select
-<br>File in the list on the left.&nbsp; Click on Next to supply the file
-name (make sure the extension is .mpe) and the folder in which the file
-should be contained.
-<br>&nbsp;
-<h3>
-Details</h3>
-The&nbsp; Multi Page Editor Example demonstrates how to create an multi
-page editor with a custom page contributor.
-<p>The Multi Page Editor Example is constructed with two extensions - a
-document contributor (MultiPageContributor) and an editor (MultiPageEditor).
-The document contributor is a subclass of <tt>org.eclipse.ui.part.MultiPageEditorActionBarContributor</tt>
-and defines the actions that are added to an editor when the <tt>setActivePage</tt>
-method is called. The editor is an <tt>org.eclipse.ui.part.MultiPageEditorPart</tt>
-that creates 3 pages whose activation is handled by the <tt>pageChange</tt>
-method that in turn sends <tt>setActivePage</tt>
-to the contributor. These two classes do not refer to each other directly
-- the contributor for the editor is set using the contributorClass tag
-in the plugin.xml
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif b/examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif
deleted file mode 100644
index f962255..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/icons/copy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties b/examples/org.eclipse.ui.examples.multipageeditor/plugin.properties
deleted file mode 100644
index 2e5c9f4..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/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
-###############################################################################
-Plugin.name = Multi-Page Editor Example
-Plugin.providerName = Eclipse.org
-Editors.MultiPageEditorExample = Multi-Page Editor Example
diff --git a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml b/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
deleted file mode 100644
index 844ed98..0000000
--- a/examples/org.eclipse.ui.examples.multipageeditor/plugin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.multipageeditor"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName">
-
-   <runtime>
-      <library name="multipageeditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.text"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.MultiPageEditorExample"
-            icon="icons/copy.gif"
-            extensions="mpe"
-            contributorClass="org.eclipse.ui.examples.multipageeditor.MultiPageContributor"
-            class="org.eclipse.ui.examples.multipageeditor.MultiPageEditorExample"
-            id="org.eclipse.ui.examples.multipageeditor.MultiPageEditorExample">
-      </editor>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.classpath b/examples/org.eclipse.ui.examples.propertysheet/.classpath
deleted file mode 100644
index ad14fb0..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples PropertySheet"/>
-	<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/examples/org.eclipse.ui.examples.propertysheet/.cvsignore b/examples/org.eclipse.ui.examples.propertysheet/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.project b/examples/org.eclipse.ui.examples.propertysheet/.project
deleted file mode 100644
index 936d6d6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.propertysheet</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jface.text</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.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/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 992b23d..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:11:09 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
deleted file mode 100644
index fb6c508..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Address.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Example IPropertySource who itself is NOT editable, but whose children are.
- * The values of the children determine the value of the address.
- */
-public class Address implements IPropertySource {
-
-    //properties
-    private String city;
-
-    private Integer province;
-
-    private String postalCode;
-
-    private StreetAddress street;
-
-    //Property unique keys
-    public static final String P_ID_STREET = "Address.Street"; //$NON-NLS-1$
-
-    public static final String P_ID_CITY = "Address.City"; //$NON-NLS-1$
-
-    public static final String P_ID_PROVINCE = "Address.Province"; //$NON-NLS-1$
-
-    public static final String P_ID_POSTALCODE = "Address.PostalCode"; //$NON-NLS-1$
-
-    //Property display keys
-    public static final String P_STREET = MessageUtil.getString("Street"); //$NON-NLS-1$
-
-    public static final String P_CITY = MessageUtil.getString("City"); //$NON-NLS-1$
-
-    public static final String P_PROVINCE = MessageUtil.getString("Province"); //$NON-NLS-1$
-
-    public static final String P_POSTALCODE = MessageUtil
-            .getString("PostalCode"); //$NON-NLS-1$
-
-    public static final String P_DESCRIPTORS = "properties"; //$NON-NLS-1$
-
-    //default values	
-    private static final StreetAddress STREET_DEFAULT = new StreetAddress();
-
-    private static final String CITY_DEFAULT = MessageUtil
-            .getString("unspecified_city"); //$NON-NLS-1$
-
-    private static final Integer PROVINCE_DEFAULT = new Integer(0);
-
-    private static final String POSTALCODE_DEFAULT = "A1B2C3"; //$NON-NLS-1$
-
-    //
-    static private class ProvinceLabelProvider extends LabelProvider {
-        public String getText(Object element) {
-            String[] provinceValues = new String[] {
-                    MessageUtil.getString("British_Columbia"), MessageUtil.getString("Alberta"), MessageUtil.getString("Saskatchewan"), MessageUtil.getString("Manitoba"), MessageUtil.getString("Ontario"), MessageUtil.getString("Quebec"), MessageUtil.getString("Newfoundland"), MessageUtil.getString("Prince_Edward_Island"), MessageUtil.getString("Nova_Scotia"), MessageUtil.getString("New_Brunswick"), MessageUtil.getString("Yukon"), MessageUtil.getString("North_West_Territories"), MessageUtil.getString("Nunavut") }; //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            return provinceValues[((Integer) element).intValue()];
-        }
-    }
-
-    //
-    private static Vector descriptors;
-
-    private static String[] provinceValues;
-    static {
-        descriptors = new Vector();
-        provinceValues = new String[] {
-                MessageUtil.getString("British_Columbia"), MessageUtil.getString("Alberta"), MessageUtil.getString("Saskatchewan"), MessageUtil.getString("Manitoba"), MessageUtil.getString("Ontario"), MessageUtil.getString("Quebec"), MessageUtil.getString("Newfoundland"), MessageUtil.getString("Prince_Edward_Island"), MessageUtil.getString("Nova_Scotia"), MessageUtil.getString("New_Brunswick"), MessageUtil.getString("Yukon"), MessageUtil.getString("North_West_Territories"), MessageUtil.getString("Nunavut") }; //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-        descriptors.addElement(new PropertyDescriptor(P_ID_STREET, P_STREET));
-        descriptors.addElement(new TextPropertyDescriptor(P_ID_CITY, P_CITY));
-
-        //PostalCode
-        PropertyDescriptor propertyDescriptor = new TextPropertyDescriptor(
-                P_ID_POSTALCODE, P_POSTALCODE);
-        //add custom validator to propertyDescriptor limiting postalcode
-        //values to XYXYXY, where X is a letter and Y is a digit
-        propertyDescriptor.setValidator(new ICellEditorValidator() {
-            public String isValid(Object value) {
-                if (value == null)
-                    return MessageUtil.getString("postal_code_is_incomplete"); //$NON-NLS-1$
-
-                //
-                String testPostalCode = ((String) value).toUpperCase();
-                final int length = testPostalCode.length();
-                final char space = ' ';
-
-                //removes white space
-                StringBuffer postalCodeBuffer = new StringBuffer(6);
-                char current;
-                for (int i = 0; i < length; i++) {
-                    current = testPostalCode.charAt(i);
-                    if (current != space)
-                        postalCodeBuffer.append(current);
-                }
-                testPostalCode = postalCodeBuffer.toString();
-
-                //check for proper length
-                if (testPostalCode.length() != 6) {
-                    return MessageUtil.getString("postal_code_is_incomplete"); //$NON-NLS-1$
-                }
-
-                //check for proper format
-                if (testPostalCode.charAt(1) < '0'
-                        || testPostalCode.charAt(1) > '9'
-                        || testPostalCode.charAt(3) < '0'
-                        || testPostalCode.charAt(3) > '9'
-                        || testPostalCode.charAt(5) < '0'
-                        || testPostalCode.charAt(5) > '9'
-                        || testPostalCode.charAt(0) < 'A'
-                        || testPostalCode.charAt(0) > 'Z'
-                        || testPostalCode.charAt(2) < 'A'
-                        || testPostalCode.charAt(2) > 'Z'
-                        || testPostalCode.charAt(4) < 'A'
-                        || testPostalCode.charAt(4) > 'Z') {
-                    //fail
-                    return MessageUtil
-                            .format(
-                                    "_is_an_invalid_format_for_a_postal_code", new Object[] { testPostalCode }); //$NON-NLS-1$
-                }
-
-                //all pass
-                return null;
-            }
-        });
-        descriptors.addElement(propertyDescriptor);
-
-        //
-        ComboBoxPropertyDescriptor desc = new ComboBoxPropertyDescriptor(
-                P_ID_PROVINCE, P_PROVINCE, provinceValues);
-        desc.setLabelProvider(new ProvinceLabelProvider());
-        descriptors.addElement(desc);
-    }
-
-    /**
-     * Address Default Constructor
-     */
-    Address() {
-        super();
-    }
-
-    /**
-     * Creates a new address.
-     *
-     * @param street the street 
-     * @param city the city
-     * @param province the province
-     * @param postalCode has the form XYXYXY: where X is a letter and Y is a digit
-     * @exception IllegalArgumentException, if postalcode not in above form
-     */
-    public Address(StreetAddress street, String city, Integer province,
-            String postalCode) {
-        super();
-        setStreet(street);
-        setCity(city);
-        setPostalCode(postalCode);
-        setProvince(province);
-    }
-
-    /**
-     * Returns the city
-     */
-    private String getCity() {
-        if (city == null)
-            city = CITY_DEFAULT;
-        return city;
-    }
-
-    /* 
-     * Standard Accessor
-     */
-    private static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /**
-     * Returns the postal code
-     */
-    private String getPostalCode() {
-        if (postalCode == null)
-            postalCode = POSTALCODE_DEFAULT;
-        return postalCode;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>Address</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     * 	1) P_CITY returns java.lang.String
-     * 	2) P_POSTALCODE returns java.lang.String
-     *  3) P_PROVINCE returns java.lang.String
-     *	4) P_STREET returns StreetAddress
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (propKey.equals(P_ID_PROVINCE))
-            return getProvince();
-        if (propKey.equals(P_ID_STREET))
-            return getStreet();
-        if (propKey.equals(P_ID_CITY))
-            return getCity();
-        if (propKey.equals(P_ID_POSTALCODE))
-            return getPostalCode();
-        return null;
-    }
-
-    /**
-     * Returns the province
-     */
-    private Integer getProvince() {
-        if (province == null)
-            province = PROVINCE_DEFAULT;
-        return province;
-    }
-
-    /**
-     * Returns the street
-     */
-    public StreetAddress getStreet() {
-        if (street == null)
-            street = new StreetAddress();
-        return street;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        if (property.equals(P_ID_PROVINCE))
-            return getProvince() != PROVINCE_DEFAULT;
-        if (property.equals(P_ID_STREET))
-            return !STREET_DEFAULT.equals(getStreet());
-        if (property.equals(P_ID_CITY))
-            return getCity() != CITY_DEFAULT;
-        if (property.equals(P_ID_POSTALCODE))
-            return getPostalCode() != POSTALCODE_DEFAULT;
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-        if (P_ID_POSTALCODE.equals(property)) {
-            setPostalCode(POSTALCODE_DEFAULT);
-            return;
-        }
-        if (P_ID_CITY.equals(property)) {
-            setCity(CITY_DEFAULT);
-            return;
-        }
-        if (P_ID_PROVINCE.equals(property)) {
-            setProvince(PROVINCE_DEFAULT);
-            return;
-        }
-        if (P_ID_STREET.equals(property)) {
-            setStreet(new StreetAddress());
-            return;
-        }
-    }
-
-    /**
-     * Sets the city
-     */
-    private void setCity(String newCity) {
-        city = newCity;
-    }
-
-    /**
-     * Sets the postal code
-     */
-    private void setPostalCode(String newPostalCode) {
-        //validation in ICellEditorValidator registered in PropertyDescriptor
-        this.postalCode = newPostalCode.toUpperCase();
-    }
-
-    /** 
-     * The <code>Address</code> implementation of this
-     * <code>IPropertySource</code> method 
-     * defines the following Setable properties
-     *
-     * 	1) P_CITY expects java.lang.String
-     * 	2) P_POSTALCODE expects java.lang.String
-     *  3) P_PROVINCE expects java.lang.String
-     * 
-     * <p>P_ID_STREET is not set here since it is referenced 
-     * and set directly in StreetAddress.
-     * According to IPropertySource, StreetAddress.getEditableValue
-     * should return a String which will be passed to this method  
-     * as the value. A new StreetAddress object should then be 
-     * created from the string. 
-     * An alternative would be to return the StreetAddress 
-     * directly in StreetAddress.getEditableValue and define a 
-     * cell editor for the StreetAddress property.
-     * This was ommitted for the sake of simplicity. 
-     */
-    public void setPropertyValue(Object name, Object value) {
-        if (P_ID_POSTALCODE.equals(name)) {
-            setPostalCode((String) value);
-            return;
-        }
-        if (P_ID_CITY.equals(name)) {
-            setCity((String) value);
-            return;
-        }
-        if (P_ID_PROVINCE.equals(name)) {
-            setProvince((Integer) value);
-            return;
-        }
-    }
-
-    /**
-     * Sets the province
-     */
-    private void setProvince(Integer newProvince) {
-        province = newProvince;
-    }
-
-    /**
-     * Sets the street
-     */
-    private void setStreet(StreetAddress newStreet) {
-        street = newStreet;
-    }
-
-    /**
-     * The value as displayed in the Property Sheet.
-     * @return java.lang.String
-     */
-    public String toString() {
-        StringBuffer outStringBuffer = new StringBuffer();
-        final String comma_space = ", "; //$NON-NLS-1$
-        final String space = " "; //$NON-NLS-1$
-        if (!getStreet().equals(STREET_DEFAULT)) {
-            outStringBuffer.append(getStreet());
-            outStringBuffer.append(comma_space);
-        }
-
-        outStringBuffer.append(getCity());
-        outStringBuffer.append(space);
-        outStringBuffer.append(provinceValues[getProvince().intValue()]);
-        outStringBuffer.append(comma_space);
-        outStringBuffer.append(getPostalCode());
-
-        return outStringBuffer.toString();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
deleted file mode 100644
index 0de858f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Birthday.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Example IPropertySource who itself is NOT editable, but whose children are.
- * The values of the children determine the value of the birthday.
- */
-public class Birthday implements IPropertySource {
-
-    //Properties
-    private Integer day, month, year;
-
-    //Property unique keys
-    public static final String P_ID_DAY = "Birthday.day"; //$NON-NLS-1$
-
-    public static final String P_ID_MONTH = "Birthday.month"; //$NON-NLS-1$
-
-    public static final String P_ID_YEAR = "Birthday.year"; //$NON-NLS-1$
-
-    //Property display keys
-    public static final String P_DAY = MessageUtil.getString("day"); //$NON-NLS-1$
-
-    public static final String P_MONTH = MessageUtil.getString("month"); //$NON-NLS-1$
-
-    public static final String P_YEAR = MessageUtil.getString("year"); //$NON-NLS-1$
-
-    //default values	
-    private static final Integer DAY_DEFAULT = new Integer(1);
-
-    private static final Integer MONTH_DEFAULT = new Integer(1);
-
-    private static final Integer YEAR_DEFAULT = new Integer(2000);
-
-    //static date formater
-    private static final DateFormat formatter = new SimpleDateFormat(
-            "EEEE, MMMM d, yyyy"); //$NON-NLS-1$
-
-    static private class DayLabelProvider extends LabelProvider {
-        public String getText(Object element) {
-            String[] dayValues = new String[] {
-                    "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }; //$NON-NLS-31$ //$NON-NLS-30$ //$NON-NLS-29$ //$NON-NLS-28$ //$NON-NLS-27$ //$NON-NLS-26$ //$NON-NLS-25$ //$NON-NLS-24$ //$NON-NLS-23$ //$NON-NLS-22$ //$NON-NLS-21$ //$NON-NLS-20$ //$NON-NLS-19$ //$NON-NLS-18$ //$NON-NLS-17$ //$NON-NLS-16$ //$NON-NLS-15$ //$NON-NLS-14$ //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            return dayValues[((Integer) element).intValue()];
-        }
-    }
-
-    static private class MonthLabelProvider extends LabelProvider {
-        public String getText(Object element) {
-            String[] monthValues = new String[] {
-                    MessageUtil.getString("January"), MessageUtil.getString("February"), MessageUtil.getString("March"), MessageUtil.getString("April"), MessageUtil.getString("May"), MessageUtil.getString("June"), MessageUtil.getString("July"), MessageUtil.getString("August"), MessageUtil.getString("September"), MessageUtil.getString("October"), MessageUtil.getString("November"), MessageUtil.getString("December") }; //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            return monthValues[((Integer) element).intValue()];
-        }
-    }
-
-    //
-    private static Vector descriptors;
-    static {
-        descriptors = new Vector();
-
-        ///
-        String[] dayValues = new String[] {
-                "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }; //$NON-NLS-31$ //$NON-NLS-30$ //$NON-NLS-29$ //$NON-NLS-28$ //$NON-NLS-27$ //$NON-NLS-26$ //$NON-NLS-25$ //$NON-NLS-24$ //$NON-NLS-23$ //$NON-NLS-22$ //$NON-NLS-21$ //$NON-NLS-20$ //$NON-NLS-19$ //$NON-NLS-18$ //$NON-NLS-17$ //$NON-NLS-16$ //$NON-NLS-15$ //$NON-NLS-14$ //$NON-NLS-13$ //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-        ComboBoxPropertyDescriptor days = new ComboBoxPropertyDescriptor(
-                P_ID_DAY, P_DAY, dayValues);
-        days.setLabelProvider(new DayLabelProvider());
-        descriptors.addElement(days);
-
-        ///
-        String[] monthValues = new String[] {
-                MessageUtil.getString("January"), MessageUtil.getString("February"), MessageUtil.getString("March"), MessageUtil.getString("April"), MessageUtil.getString("May"), MessageUtil.getString("June"), MessageUtil.getString("July"), MessageUtil.getString("August"), MessageUtil.getString("September"), MessageUtil.getString("October"), MessageUtil.getString("November"), MessageUtil.getString("December") }; //$NON-NLS-12$ //$NON-NLS-11$ //$NON-NLS-10$ //$NON-NLS-9$ //$NON-NLS-8$ //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-        ComboBoxPropertyDescriptor months = new ComboBoxPropertyDescriptor(
-                P_ID_MONTH, P_MONTH, monthValues);
-        months.setLabelProvider(new MonthLabelProvider());
-        descriptors.addElement(months);
-
-        ///
-        descriptors.addElement(new TextPropertyDescriptor(P_ID_YEAR, P_YEAR));
-    }
-
-    /**
-     * Address Default Constructor
-     */
-    Birthday() {
-        super();
-    }
-
-    /**
-     * Convenience Address Constructor
-     */
-    public Birthday(int day, int month, int year) {
-        super();
-        setDay(new Integer(day));
-        setMonth(new Integer(month));
-        setYear(new Integer(year));
-    }
-
-    /**
-     * Returns the day
-     */
-    private Integer getDay() {
-        if (day == null)
-            day = DAY_DEFAULT;
-        return day;
-    }
-
-    /**
-     * Standard Accessor
-     */
-    private static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /**
-     * Returns the month
-     */
-    private Integer getMonth() {
-        if (month == null)
-            month = MONTH_DEFAULT;
-        return month;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>Birthday</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     * 	1) P_DAY returns java.lang.Integer
-     * 	2) P_MONTH returns java.lang.Integer
-     *  3) P_YEAR returns java.lang.Integer
-     *	4) P_STREET returns java.lang.String
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (propKey.equals(P_ID_DAY))
-            return new Integer(getDay().intValue() - 1);
-        if (propKey.equals(P_ID_MONTH))
-            return new Integer(getMonth().intValue() - 1);
-        if (propKey.equals(P_ID_YEAR))
-            return getYear().toString();
-        return null;
-    }
-
-    /**
-     * Returns the year
-     */
-    private Integer getYear() {
-        if (year == null)
-            year = YEAR_DEFAULT;
-        return year;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        if (P_ID_DAY.equals(property))
-            return getDay() != DAY_DEFAULT;
-        if (P_ID_MONTH.equals(property))
-            return getMonth() != MONTH_DEFAULT;
-        if (P_ID_YEAR.equals(property))
-            return getYear() != YEAR_DEFAULT;
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-        if (P_ID_DAY.equals(property)) {
-            setDay(DAY_DEFAULT);
-            return;
-        }
-        if (P_ID_MONTH.equals(property)) {
-            setMonth(MONTH_DEFAULT);
-            return;
-        }
-        if (P_ID_YEAR.equals(property)) {
-            setYear(YEAR_DEFAULT);
-            return;
-        }
-    }
-
-    /**
-     * Sets the day
-     */
-    private void setDay(Integer newDay) {
-        day = newDay;
-    }
-
-    /**
-     * Sets the month
-     */
-    private void setMonth(Integer newMonth) {
-        month = newMonth;
-    }
-
-    /** 
-     * The <code>Birthday</code> implementation of this
-     * <code>IPropertySource</code> method 
-     * defines the following Setable properties
-     *
-     * 	1) P_DAY expects java.lang.Integer
-     * 	2) P_MONTH expects java.lang.Integer
-     *  3) P_YEAR expects java.lang.Integer
-     */
-    public void setPropertyValue(Object name, Object value) {
-        if (P_ID_DAY.equals(name)) {
-            setDay(new Integer(((Integer) value).intValue() + 1));
-            return;
-        }
-        if (P_ID_MONTH.equals(name)) {
-            setMonth(new Integer(((Integer) value).intValue() + 1));
-            return;
-        }
-        if (P_ID_YEAR.equals(name)) {
-            try {
-                setYear(new Integer((String) value));
-            } catch (NumberFormatException e) {
-                setYear(YEAR_DEFAULT);
-            }
-            return;
-        }
-    }
-
-    /**
-     * Sets the year
-     */
-    private void setYear(Integer newYear) {
-        year = newYear;
-    }
-
-    /**
-     * The value as displayed in the Property Sheet.
-     * @return java.lang.String
-     */
-    public String toString() {
-        Date bday = (new GregorianCalendar(getYear().intValue(), getMonth()
-                .intValue() - 1, getDay().intValue())).getTime();
-        return formatter.format(bday);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.java
deleted file mode 100644
index 7d4cdd2..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddress.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.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * Example IPropertySource is editable and whose childern properties are itself not editable.
- * The values of "userid" and "mailserver" are parsed from setting "email"
- */
-public class EmailAddress implements IPropertySource {
-
-    //Property-Value
-    private String userid;
-
-    private String domain;
-
-    //Default Property-Value
-    private static final String USERID_DEFAULT = MessageUtil
-            .getString("unknownUser"); //$NON-NLS-1$
-
-    private static final String DOMAIN_DEFAULT = MessageUtil
-            .getString("unknownDomain"); //$NON-NLS-1$
-
-    //Property unique keys
-    public static final String P_ID_USERID = "EmailAddress.userid"; //$NON-NLS-1$
-
-    public static final String P_ID_DOMAIN = "EmailAddress.domain"; //$NON-NLS-1$
-
-    //Property display keys
-    public static final String P_USERID = MessageUtil.getString("userid"); //$NON-NLS-1$
-
-    public static final String P_DOMAIN = MessageUtil.getString("domain"); //$NON-NLS-1$
-
-    //Property-Descriptors
-    private static Vector descriptors;
-
-    static {
-        descriptors = new Vector(2, 2);
-        //non-editable child properties --> provide no editors
-        descriptors.addElement(new PropertyDescriptor(P_ID_USERID, P_USERID));
-        descriptors.addElement(new PropertyDescriptor(P_ID_DOMAIN, P_DOMAIN));
-    }
-
-    /**
-     * EmailAddress Default Constructor
-     */
-    public EmailAddress() {
-        super();
-    }
-
-    /**
-     * Convience EmailAddress constructor.
-     * Calls setEmailAddress() to parse emailAddress
-     * @param emailAddress java.lang.String, in the form userid@domain
-     * @throws java.lang.IllegalArgumentException, if does not subscribe to form
-     */
-    public EmailAddress(String emailAddress) throws IllegalArgumentException {
-        super();
-        setEmailAddress(emailAddress);
-
-    }
-
-    /**
-     * Returns the descriptors
-     */
-    private static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /**
-     * Returns the domain
-     */
-    private String getDomain() {
-        if (domain == null)
-            domain = DOMAIN_DEFAULT;
-        return domain;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>EmailAddress</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     * 	1) P_USERID returns String, values before "@"
-     *	2) P_DOMAIN returns String, values after "@"
-     *
-     * Observe the available properties must always equal those listed
-     * in the property descriptors
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (propKey.equals(P_ID_USERID))
-            return getUserid();
-        if (propKey.equals(P_ID_DOMAIN))
-            return getDomain();
-        return null;
-    }
-
-    /**
-     * Returns the userid
-     */
-    private String getUserid() {
-        if (userid == null)
-            userid = USERID_DEFAULT;
-        return userid;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-        return;
-    }
-
-    /**
-     * Sets the domain
-     */
-    private void setDomain(java.lang.String newDomain) {
-        domain = newDomain;
-    }
-
-    /**
-     * Parses emailAddress into domain and userid. Throws SetPropertyVetoException
-     * if emailAddress does not contain an userid and domain seperated by '@'.
-     *
-     * @param emailAddress the email address
-     * @throws IllegalArgumentException
-     */
-    private void setEmailAddress(String emailAddress)
-            throws IllegalArgumentException {
-        if (emailAddress == null)
-            throw new IllegalArgumentException(MessageUtil
-                    .getString("emailaddress_cannot_be_set_to_null")); //$NON-NLS-1$
-        int index = emailAddress.indexOf('@');
-        int length = emailAddress.length();
-        if (index > 0 && index < length) {
-            setUserid(emailAddress.substring(0, index));
-            setDomain(emailAddress.substring(index + 1));
-            return;
-        }
-        throw new IllegalArgumentException(
-                MessageUtil
-                        .getString("invalid_email_address_format_should_have_been_validated")); //$NON-NLS-1$
-    }
-
-    /** 
-     * The <code>Address</code> implementation of this
-     * <code>IPropertySource</code> method 
-     * defines the following Setable properties
-     *
-     *	1) P_USERID, expects String
-     *	2) P_DOMAIN, expects String
-     */
-    public void setPropertyValue(Object name, Object value) {
-        if (name.equals(P_ID_USERID)) {
-            setUserid((String) value);
-            return;
-        }
-        if (name.equals(P_ID_DOMAIN)) {
-            setDomain((String) value);
-            return;
-        }
-    }
-
-    /**
-     * Sets the userid
-     */
-    private void setUserid(String newUserid) {
-        userid = newUserid;
-    }
-
-    /**
-     * The value as displayed in the Property Sheet.
-     * @return java.lang.String
-     */
-    public String toString() {
-        StringBuffer strbuffer = new StringBuffer(getUserid());
-        strbuffer.append('@');
-        strbuffer.append(getDomain());
-        return strbuffer.toString();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
deleted file mode 100644
index f2bed7f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/EmailAddressValidator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import org.eclipse.jface.viewers.ICellEditorValidator;
-
-/**
- * Validator for email addresses
- */
-public class EmailAddressValidator implements ICellEditorValidator {
-    /** 
-     * The <code>EmailAddressValidator</code> implementation of this
-     * <code>ICellEditorValidator</code> method 
-     * determines if the value is a valid email address.
-     * (check to see if it is non-null and contains an @)
-     */
-    public String isValid(Object value) {
-        if (value == null) {
-            return MessageUtil.getString("email_address_is_incomplete"); //$NON-NLS-1$
-        }
-        String emailAddress = (String) value;
-        int index = emailAddress.indexOf('@');
-        int length = emailAddress.length();
-        if (index > 0 && index < length) {
-            return null;
-        }
-        return MessageUtil
-                .getString("email_address_does_not_have_a_valid_format"); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
deleted file mode 100644
index 3e995b8..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/GroupElement.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * A Group Element
- */
-public class GroupElement extends OrganizationElement {
-    public static String P_USERS = "users"; //$NON-NLS-1$
-
-    public static String P_SUBGROUPS = "subgroups"; //$NON-NLS-1$
-
-    public static String P_CONTENTS = "contents"; //$NON-NLS-1$
-
-    private Vector subGroups;
-
-    private Vector users;
-
-    // must be synchronized to contain both the references of subGroups and users
-    private Vector contents;
-
-    /**
-     * Constructor.
-     * Creates a new GroupElement within the passed parent GroupElement,
-     * gives it the passed name property, sets Icon.
-     *
-     * @param name the name 
-     * @param parent the parent
-     */
-    public GroupElement(String name, GroupElement parent) {
-        super(name, parent);
-    }
-
-    /**
-     * Adds an OrganizationElement to this GroupElement.
-     *
-     * @param userGroup The Organization Element
-     */
-    public void add(OrganizationElement userGroup) {
-        if (userGroup.isUser() || userGroup.isGroup()) {
-            getContents().add(userGroup);
-        }
-        if (userGroup.isGroup()) {
-            getSubGroups().add(userGroup);
-            // synchronizes backpointer of userGroup: defensive
-            userGroup.setParent(this);
-        }
-        if (userGroup.isUser()) {
-            getUsers().add(userGroup);
-            // synchronizes backpointer of userGroup: defensive
-            userGroup.setParent(this);
-        }
-
-    }
-
-    /**
-     * Creates a new <code>GroupElement</code>
-     * nested in this <code>GroupElement<code>
-     *
-     * @param name the name of the sub group
-     */
-    public GroupElement createSubGroup(String name) {
-        GroupElement newGroup = new GroupElement(name, this);
-        add(newGroup);
-        return newGroup;
-    }
-
-    /**
-     * Creates a new <code>UserElement</code>
-     *
-     * @param the name of the user element
-     */
-    public UserElement createUser(String name) {
-        UserElement newUser = new UserElement(name, this);
-        add(newUser);
-        return newUser;
-    }
-
-    /**
-     * Deletes an OrganizationElement from this GroupElement.
-     *
-     * @param userGroup the Organization Element
-     */
-    public void delete(OrganizationElement userGroup) {
-        if (userGroup.isUser() || userGroup.isGroup()) {
-            getContents().remove(userGroup);
-        }
-        if (userGroup.isGroup()) {
-            getSubGroups().remove(userGroup);
-            // synchronizes backpointer of userGroup: defensive
-        }
-        if (userGroup.isUser()) {
-            getUsers().remove(userGroup);
-            // synchronizes backpointer of userGroup: defensive
-        }
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public Object[] getChildren(Object o) {
-        return getContents().toArray();
-    }
-
-    /**
-     * Returns the content
-     */
-    private Vector getContents() {
-        if (contents == null)
-            contents = new Vector();
-        return contents;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /**
-     * Returns the error message
-     */
-    public String getErrorMessage() {
-        return null;
-    }
-
-    /**
-     * Returns the subgroups
-     */
-    private Vector getSubGroups() {
-        if (subGroups == null)
-            subGroups = new Vector();
-        return subGroups;
-    }
-
-    /**
-     * Returns the users
-     */
-    private Vector getUsers() {
-        if (users == null)
-            users = new Vector();
-        return users;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on OrganizationElement
-     */
-    public boolean isGroup() {
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getForeground(java.lang.Object)
-     */
-    public RGB getForeground(Object element) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getBackground(java.lang.Object)
-     */
-    public RGB getBackground(Object element) {
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
deleted file mode 100644
index 17860b3..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/IUserConstants.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-/**
- * This interface contains constants for use only within the
- * property sheet example.
- */
-public interface IUserConstants {
-    public static final String PLUGIN_ID = "org.eclipse.ui.examples.propertysheet"; //$NON-NLS-1$
-
-    public static final String PREFIX = PLUGIN_ID + "."; //$NON-NLS-1$
-
-    public static final String P_CONTENT_OUTLINE = PREFIX + "content_outline"; //$NON-NLS-1$
-
-    public static final String EXTENSION = "usr"; //$NON-NLS-1$
-
-    public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
deleted file mode 100644
index 798a86e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/MessageUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps with managing messages.
- */
-/* package */class MessageUtil {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.examples.propertysheet.messages";//$NON-NLS-1$
-
-    private static ResourceBundle fgResourceBundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private MessageUtil() {
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned, surrounded by '!'s.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return fgResourceBundle.getString(key);
-        } catch (MissingResourceException e) {
-            return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
deleted file mode 100644
index 36b9fa6..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/Name.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * Example IPropertySource whose value as well as its children are editable.
- */
-public class Name implements IPropertySource {
-    private String firstName = ""; //$NON-NLS-1$
-
-    private String lastName = ""; //$NON-NLS-1$
-
-    private String initial = ""; //$NON-NLS-1$
-
-    // property unique keys
-    public static String P_ID_FIRSTNAME = "Name.FirstName"; //$NON-NLS-1$
-
-    public static String P_ID_LASTNAME = "Name.LastName"; //$NON-NLS-1$
-
-    public static String P_ID_MIDDLENAME = "Name.Middle"; //$NON-NLS-1$
-
-    // property display keys
-    public static String P_FIRSTNAME = MessageUtil.getString("FirstName"); //$NON-NLS-1$
-
-    public static String P_LASTNAME = MessageUtil.getString("LastName"); //$NON-NLS-1$
-
-    public static String P_MIDDLENAME = MessageUtil.getString("Middle"); //$NON-NLS-1$
-
-    // default values
-    //
-    private static final String FIRSTNAME_DEFAULT = null;
-
-    private static final String LASTNAME_DEFAULT = null;
-
-    private static final String MIDDLENAME_DEFAULT = null;
-
-    public static final String P_DESCRIPTORS = "properties"; //$NON-NLS-1$
-
-    static private Vector descriptors;
-    static {
-        descriptors = new Vector();
-        descriptors.addElement(new TextPropertyDescriptor(P_ID_FIRSTNAME,
-                P_FIRSTNAME));
-        descriptors.addElement(new TextPropertyDescriptor(P_ID_LASTNAME,
-                P_LASTNAME));
-        descriptors.addElement(new TextPropertyDescriptor(P_ID_MIDDLENAME,
-                P_MIDDLENAME));
-    }
-
-    /**
-     * Creates a new Name.
-     * @param name String in the form "firstname initial lastname"
-     */
-    public Name(String name) {
-        int index1, index2;
-        index1 = name.indexOf(' ');
-        if (index1 < 0)
-            index1 = name.length();
-        index2 = name.lastIndexOf(' ');
-        if (index2 > 0)
-            lastName = name.substring(index2 + 1);
-        firstName = name.substring(0, index1);
-        if (index1 < index2)
-            initial = name.substring(index1 + 1, index2);
-    }
-
-    /**
-     * Returns the descriptors
-     */
-    private static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /**
-     * Returns the first name
-     */
-    private String getFirstName() {
-        return firstName;
-    }
-
-    /**
-     * Returns the initial
-     */
-    private String getInitial() {
-        return initial;
-    }
-
-    /**
-     * Returns the last name
-     */
-    private String getLastName() {
-        return lastName;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>Name</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     * 	1) P_FIRSTNAME returns String, firstname
-     * 	2) P_LASTNAME returns String, lastname
-     *  3) P_MIDDLENAME returns String, middle
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (P_ID_FIRSTNAME.equals(propKey))
-            return getFirstName();
-        if (P_ID_LASTNAME.equals(propKey))
-            return getLastName();
-        if (P_ID_MIDDLENAME.equals(propKey))
-            return getInitial();
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object key) {
-        if (key.equals(P_ID_FIRSTNAME))
-            return getFirstName() != FIRSTNAME_DEFAULT;
-        if (key.equals(P_ID_LASTNAME))
-            return getLastName() != LASTNAME_DEFAULT;
-        if (key.equals(P_ID_MIDDLENAME))
-            return getInitial() != MIDDLENAME_DEFAULT;
-        return false;
-    }
-
-    /**
-     * Implemented as part of IPropertySource framework. Sets the specified property 
-     * to its default value.
-     * 
-     * @see 	IPropertySource#resetPropertyValue(Object)
-     * @param 	property 	The property to reset.
-     */
-    public void resetPropertyValue(Object property) {
-        if (P_ID_FIRSTNAME.equals(property)) {
-            setFirstName(FIRSTNAME_DEFAULT);
-            return;
-        }
-        if (P_ID_LASTNAME.equals(property)) {
-            setLastName(LASTNAME_DEFAULT);
-            return;
-        }
-        if (P_ID_MIDDLENAME.equals(property)) {
-            setInitial(MIDDLENAME_DEFAULT);
-            return;
-        }
-    }
-
-    /**
-     * Sets the first name
-     */
-    private void setFirstName(String newFirstName) {
-        firstName = newFirstName;
-    }
-
-    /**
-     * Sets the initial
-     */
-    private void setInitial(String newInitial) {
-        initial = newInitial;
-    }
-
-    /**
-     * Sets the last name
-     */
-    private void setLastName(String newLastName) {
-        lastName = newLastName;
-    }
-
-    /** 
-     * The <code>Name</code> implementation of this
-     * <code>IPropertySource</code> method 
-     * defines the following Setable properties
-     *
-     *	1) P_FIRST, expects String, sets the firstname of this OrganizationElement
-     *  2) P_MIDDLENAME, expects String, sets middlename of this OrganizationElement
-     *  3) P_LASTNAME, expects String, sets lastname of this OrganizationElement
-     */
-    public void setPropertyValue(Object propName, Object val) {
-        if (P_ID_FIRSTNAME.equals(propName)) {
-            setFirstName((String) val);
-            return;
-        }
-        if (P_ID_LASTNAME.equals(propName)) {
-            setLastName((String) val);
-            return;
-        }
-        if (P_ID_MIDDLENAME.equals(propName)) {
-            setInitial((String) val);
-            return;
-        }
-    }
-
-    /**
-     * The value as displayed in the Property Sheet. Will not print default values
-     * @return java.lang.String
-     */
-    public String toString() {
-        StringBuffer outStringBuffer = new StringBuffer();
-        if (getFirstName() != FIRSTNAME_DEFAULT) {
-            outStringBuffer.append(getFirstName());
-            outStringBuffer.append(" "); //$NON-NLS-1$
-        }
-        if (getInitial() != MIDDLENAME_DEFAULT) {
-            outStringBuffer.append(getInitial());
-            outStringBuffer.append(" "); //$NON-NLS-1$
-        }
-        if (getLastName() != LASTNAME_DEFAULT) {
-            outStringBuffer.append(getLastName());
-        }
-
-        return outStringBuffer.toString();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.java
deleted file mode 100644
index 777c338..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/OrganizationElement.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.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * An Organization Element
- */
-public abstract class OrganizationElement implements IAdaptable,
-        IPropertySource, IWorkbenchAdapter {
-    //
-    private GroupElement parent;
-
-    private String name;
-
-    private ImageDescriptor imageDescriptor;
-
-    //
-    private static Vector descriptors;
-    static {
-        descriptors = new Vector();
-        PropertyDescriptor name = new TextPropertyDescriptor(
-                IBasicPropertyConstants.P_TEXT, MessageUtil.getString("name")); //$NON-NLS-1$
-        descriptors.addElement(name);
-    }
-
-    /**
-     * Constructor.
-     * Creates a new OrganizationElement within the passed parent GroupElement,
-     *
-     * @param name the name 
-     * @param parent the parent
-     */
-    OrganizationElement(String name, GroupElement parent) {
-        this.name = name;
-        this.parent = parent;
-    }
-
-    /**
-     * Deletes this OrganizationElement from its parentGroup
-     */
-    public void delete() {
-        parent.delete(this);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IPropertySource.class) {
-            return this;
-        }
-        if (adapter == IWorkbenchAdapter.class) {
-            return this;
-        }
-        return null;
-    }
-
-    /**
-     * Returns the descriptors
-     */
-    static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return imageDescriptor;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public String getLabel(Object o) {
-        return getName();
-    }
-
-    /**
-     * Returns the name
-     */
-    String getName() {
-        return name;
-    }
-
-    /**
-     * Returns the parent
-     */
-    public Object getParent(Object o) {
-        return parent;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>OrganizationElement</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     * 	1) P_NAME returns String, name of this element
-     *  this property key is defined in <code>IBasicPropertyConstants</code>
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (propKey.equals(IBasicPropertyConstants.P_TEXT))
-            return getName();
-        return null;
-    }
-
-    /**
-     * Hook. Implemented by <code>GroupElement</code> for use instead of instanceof
-     * @return boolean
-     */
-    public boolean isGroup() {
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        return false;
-    }
-
-    /**
-     * Hook. Implemented by <code>UserElement</code> for use instead of instanceof
-     * @return boolean
-     */
-    public boolean isUser() {
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-    }
-
-    /**
-     * Sets the image descriptor
-     */
-    void setImageDescriptor(ImageDescriptor desc) {
-        imageDescriptor = desc;
-    }
-
-    /**
-     * Sets the name
-     */
-    void setName(String newName) {
-        name = newName;
-    }
-
-    /**
-     * Sets this instance's parent back pointer.
-     */
-    void setParent(GroupElement newParent) {
-        parent = newParent;
-    }
-
-    /** 
-     * The <code>OrganizationElement</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     * defines the following Setable properties
-     *
-     *	1) P_NAME, expects String, sets the name of this OrganizationElement
-     */
-    public void setPropertyValue(Object name, Object value) {
-        if (name.equals(IBasicPropertyConstants.P_TEXT)) {
-            setName((String) value);
-            return;
-        }
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.java
deleted file mode 100644
index f2b4d2ac..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PopupMenuActionDelegate.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.ui.examples.propertysheet;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Action delegate for handling popup menu actions.
- */
-public class PopupMenuActionDelegate implements IObjectActionDelegate {
-
-    private IWorkbenchPart part;
-
-    /** (non-Javadoc)
-     * Method declared on IDropActionDelegate
-     */
-    public void run(IAction action) {
-        MessageDialog.openInformation(this.part.getSite().getShell(),
-                MessageUtil.getString("Property_Sheet_Example"), //$NON-NLS-1$
-                MessageUtil.getString("Popup_Menu_Action_executed")); //$NON-NLS-1$
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IActionDelegate
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        //Ignored for this example
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IObjectActionDelegate
-     */
-    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-        this.part = targetPart;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
deleted file mode 100644
index a954042..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetContentOutlinePage.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-
-/**
- * Page for the content outliner
- */
-public class PropertySheetContentOutlinePage extends ContentOutlinePage {
-
-    private IAdaptable model;
-
-    /**
-     * Create a new instance of the reciver using adapatable
-     * as the model.
-     */
-    public PropertySheetContentOutlinePage(IAdaptable adaptable) {
-        this.model = adaptable;
-    }
-
-    /** 
-     * Creates the control and registers the popup menu for this page
-     * Menu id "org.eclipse.ui.examples.propertysheet.outline"
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        TreeViewer viewer = getTreeViewer();
-        viewer.setContentProvider(new WorkbenchContentProvider());
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-        viewer.setInput(this.model);
-        viewer.expandAll();
-
-        // Configure the context menu.
-        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-        menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS
-                + "-end")); //$NON-NLS-1$
-
-        Menu menu = menuMgr.createContextMenu(viewer.getTree());
-        viewer.getTree().setMenu(menu);
-        // Be sure to register it so that other plug-ins can add actions.
-        getSite()
-                .registerContextMenu(
-                        "org.eclipse.ui.examples.propertysheet.outline", menuMgr, viewer); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.java
deleted file mode 100644
index 988376f..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/PropertySheetPlugin.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
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74526)
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This is the top-level class of the property sheet example.
- *
- * @see AbstractUIPlugin for additional information on UI plugins
- */
-public class PropertySheetPlugin extends AbstractUIPlugin {
-    // Default instance of the receiver
-    private static PropertySheetPlugin inst;
-
-    /**
-     * Create the PropertySheet plugin and cache its default instance
-     */
-    public PropertySheetPlugin() {
-        if (inst == null)
-            inst = this;
-    }
-
-    /**
-     * Returns the plugin singleton.
-     *
-     * @return the default PropertySheetPlugin instance
-     */
-    static public PropertySheetPlugin getDefault() {
-        return inst;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.java
deleted file mode 100644
index 2fe91af..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/StreetAddress.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.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * PropertySource containing street information pertenant to Address
- */
-public class StreetAddress implements IPropertySource {
-
-    //properties
-    private Integer buildNo;
-
-    private String aptBox;
-
-    private String streetName;
-
-    //default property values
-    private static final Integer BUILD_NO_DEFAULT = new Integer(0);
-
-    private static final String APTBOX_DEFAULT = MessageUtil
-            .getString("unspecified"); //$NON-NLS-1$
-
-    private static final String STREETNAME_DEFAULT = MessageUtil
-            .getString("unspecified"); //$NON-NLS-1$
-
-    //property unique keys
-    public static final String P_ID_BUILD_NO = "Street.buildingNo"; //$NON-NLS-1$
-
-    public static final String P_ID_APTBOX = "Street.aptNo"; //$NON-NLS-1$
-
-    public static final String P_ID_STREET = "Street.street"; //$NON-NLS-1$
-
-    //property display keys
-    public static final String P_BUILD_NO = MessageUtil
-            .getString("building_number"); //$NON-NLS-1$
-
-    public static final String P_APTBOX = MessageUtil
-            .getString("apt.no_or_box.no"); //$NON-NLS-1$
-
-    public static final String P_STREET = MessageUtil.getString("street"); //$NON-NLS-1$
-
-    //
-    private static Vector descriptors;
-
-    static {
-        descriptors = new Vector();
-        descriptors.addElement(new TextPropertyDescriptor(P_ID_BUILD_NO,
-                P_BUILD_NO));
-        descriptors
-                .addElement(new TextPropertyDescriptor(P_ID_APTBOX, P_APTBOX));
-        descriptors
-                .addElement(new TextPropertyDescriptor(P_ID_STREET, P_STREET));
-    }
-
-    /**
-     * Street Default Constructor.
-     */
-    public StreetAddress() {
-        super();
-    }
-
-    /**
-     * Convenience Street constructor. AptBox set to default
-     */
-    public StreetAddress(int buildNo, String streetName) {
-        super();
-        setBuildNo(new Integer(buildNo));
-        setStreetName(streetName);
-    }
-
-    /**
-     * Convenience Street constructor.
-     */
-    public StreetAddress(int buildNo, String aptBox, String streetName) {
-        super();
-        setBuildNo(new Integer(buildNo));
-        setAptBox(aptBox);
-        setStreetName(streetName);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object
-     */
-    public boolean equals(Object ob) {
-        return toString().equals(ob.toString());
-    }
-
-    /**
-     * the appartment number
-     */
-    private String getAptBox() {
-        if (aptBox == null)
-            aptBox = APTBOX_DEFAULT;
-        return aptBox;
-    }
-
-    /**
-     * Returns the building number
-     */
-    private Integer getBuildNo() {
-        if (buildNo == null)
-            buildNo = BUILD_NO_DEFAULT;
-        return buildNo;
-    }
-
-    /**
-     * Returns the descriptors
-     */
-    private static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>Name</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     * 	1) P_BUILD_NO returns java.lang.Integer
-     * 	2) P_APTBOX returns java.lang.String
-     *	3) P_STREET returns java.lang.String
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (propKey.equals(P_ID_BUILD_NO))
-            return getBuildNo().toString();
-        if (propKey.equals(P_ID_APTBOX))
-            return getAptBox();
-        if (propKey.equals(P_ID_STREET))
-            return getStreetName();
-        return null;
-    }
-
-    /**
-     * Returns the street name
-     */
-    private String getStreetName() {
-        if (streetName == null)
-            streetName = STREETNAME_DEFAULT;
-        return streetName;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Object
-     */
-    public int hashCode() {
-        return toString().hashCode();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        if (property.equals(P_ID_BUILD_NO))
-            return getBuildNo() != BUILD_NO_DEFAULT;
-        if (property.equals(P_ID_APTBOX))
-            return getAptBox() != APTBOX_DEFAULT;
-        if (property.equals(P_ID_STREET))
-            return getStreetName() != STREETNAME_DEFAULT;
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-        if (property.equals(P_ID_BUILD_NO)) {
-            setBuildNo(BUILD_NO_DEFAULT);
-            return;
-        }
-        if (property.equals(P_ID_APTBOX)) {
-            setAptBox(APTBOX_DEFAULT);
-            return;
-        }
-        if (property.equals(P_ID_STREET)) {
-            setStreetName(STREETNAME_DEFAULT);
-            return;
-        }
-    }
-
-    /**
-     * Sets the appartment number
-     */
-    private void setAptBox(String newAptBox) {
-        aptBox = newAptBox;
-    }
-
-    /**
-     * Sets the building number
-     */
-    private void setBuildNo(Integer newBuildNo) {
-        buildNo = newBuildNo;
-    }
-
-    /** 
-     * The <code>Name</code> implementation of this
-     * <code>IPropertySource</code> method 
-     * defines the following Setable properties
-     *
-     * 	1) P_BUILD_NO expects java.lang.Integer
-     * 	2) P_APTBOX expects java.lang.String
-     *	3) P_STREET expects java.lang.String
-     */
-    public void setPropertyValue(Object name, Object value) {
-        if (name.equals(P_ID_BUILD_NO)) {
-            try {
-                setBuildNo(new Integer(Integer.parseInt((String) value)));
-            } catch (NumberFormatException e) {
-                setBuildNo(BUILD_NO_DEFAULT);
-            }
-            return;
-        }
-        if (name.equals(P_ID_APTBOX)) {
-            setAptBox((String) value);
-            return;
-        }
-        if (name.equals(P_ID_STREET)) {
-            setStreetName((String) value);
-            return;
-        }
-    }
-
-    /**
-     * Sets the street name
-     */
-    private void setStreetName(String newStreetName) {
-        streetName = newStreetName;
-    }
-
-    /**
-     * The value as displayed in the Property Sheet. Will not print default values
-     * @return java.lang.String
-     */
-    public String toString() {
-        StringBuffer outStringBuffer = new StringBuffer();
-        if (!getAptBox().equals(APTBOX_DEFAULT)) {
-            outStringBuffer.append(getAptBox());
-            outStringBuffer.append(", "); //$NON-NLS-1$
-        }
-        if (!getBuildNo().equals(BUILD_NO_DEFAULT)) {
-            outStringBuffer.append(getBuildNo());
-            outStringBuffer.append(" "); //$NON-NLS-1$
-        }
-        if (!getStreetName().equals(STREETNAME_DEFAULT)) {
-            outStringBuffer.append(getStreetName());
-        }
-        return outStringBuffer.toString();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.java
deleted file mode 100644
index 93e5425..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserEditor.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.ui.examples.propertysheet;
-
-import org.eclipse.jface.text.Document;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-import org.eclipse.ui.views.properties.PropertySheetPage;
-
-/**
- * This class implements the User editor.
- */
-public class UserEditor extends TextEditor {
-    private ContentOutlinePage userContentOutline;
-
-    /**
-     * UserEditor default Constructor
-     */
-    public UserEditor() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on WorkbenchPart
-     */
-    public void createPartControl(Composite parent) {
-        super.createPartControl(parent);
-        getSourceViewer().setDocument(
-                new Document(MessageUtil.getString("Editor_instructions"))); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter.equals(IContentOutlinePage.class)) {
-            return getContentOutline();
-        }
-        if (adapter.equals(IPropertySheetPage.class)) {
-            return getPropertySheet();
-        }
-        return super.getAdapter(adapter);
-    }
-
-    /**
-     * Returns the content outline.
-     */
-    protected ContentOutlinePage getContentOutline() {
-        if (userContentOutline == null) {
-            //Create a property outline page using the parsed result of passing in the document provider.
-            userContentOutline = new PropertySheetContentOutlinePage(
-                    new UserFileParser().parse(getDocumentProvider()));
-        }
-        return userContentOutline;
-    }
-
-    /**
-     * Returns the property sheet.
-     */
-    protected IPropertySheetPage getPropertySheet() {
-        return new PropertySheetPage();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
deleted file mode 100644
index 9bc9425..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserElement.java
+++ /dev/null
@@ -1,615 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.propertysheet;
-
-import java.util.Vector;
-
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.views.properties.ColorPropertyDescriptor;
-import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySheetEntry;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
-
-/**
- * A User Element
- */
-public class UserElement extends OrganizationElement {
-
-    // Properties
-    private Name fullName;
-
-    private Address address;
-
-    private String phoneNumber;
-
-    private EmailAddress emailAddress;
-
-    private Boolean coop;
-
-    private Birthday birthday;
-
-    private Float salary;
-
-    private RGB hairColor;
-
-    private RGB eyeColor;
-
-    // Property default values
-    private Name fullName_Default;
-
-    private Address address_Default;
-
-    private String phoneNumber_Default = "555-1111"; //$NON-NLS-1$
-
-    private EmailAddress emailAddress_Default;
-
-    private Boolean coop_Default;
-
-    private Birthday birthday_Default;
-
-    private Float salary_Default;
-
-    private RGB hairColor_Default;
-
-    private RGB eyeColor_Default;
-
-    // Property unique keys
-    public static final String P_ID_PHONENUMBER = "User.phonenumber"; //$NON-NLS-1$
-
-    public static final String P_ID_ADDRESS = "User.address"; //$NON-NLS-1$
-
-    public static final String P_ID_FULLNAME = "User.fullname"; //$NON-NLS-1$
-
-    public static final String P_ID_EMAIL = "User.email"; //$NON-NLS-1$
-
-    public static final String P_ID_COOP = "User.coop student"; //$NON-NLS-1$
-
-    public static final String P_ID_BDAY = "User.birthday"; //$NON-NLS-1$
-
-    public static final String P_ID_SALARY = "User.salary"; //$NON-NLS-1$
-
-    public static final String P_ID_HAIRCOLOR = "User.haircolor"; //$NON-NLS-1$
-
-    public static final String P_ID_EYECOLOR = "User.eyecolor"; //$NON-NLS-1$
-
-    // Property display keys
-    public static final String P_PHONENUMBER = MessageUtil
-            .getString("phonenumber"); //$NON-NLS-1$
-
-    public static final String P_ADDRESS = MessageUtil.getString("address"); //$NON-NLS-1$
-
-    public static final String P_FULLNAME = MessageUtil.getString("fullname"); //$NON-NLS-1$
-
-    public static final String P_EMAIL = MessageUtil.getString("email"); //$NON-NLS-1$
-
-    public static final String P_COOP = MessageUtil.getString("coop_student"); //$NON-NLS-1$
-
-    public static final String P_BDAY = MessageUtil.getString("birthday"); //$NON-NLS-1$
-
-    public static final String P_SALARY = MessageUtil.getString("salary"); //$NON-NLS-1$
-
-    public static final String P_HAIRCOLOR = MessageUtil.getString("haircolor"); //$NON-NLS-1$
-
-    public static final String P_EYECOLOR = MessageUtil.getString("eyecolor"); //$NON-NLS-1$
-
-    // Help context ids
-    private static final String PHONE_NUMBER_CONTEXT = "org.eclipse.ui.examples.propertysheet.phone_number_context"; //$NON-NLS-1$
-
-    private static final String ADDRESS_CONTEXT = "org.eclipse.ui.examples.propertysheet.address_context"; //$NON-NLS-1$
-
-    private static final String FULL_NAME_CONTEXT = "org.eclipse.ui.examples.propertysheet.full_name_context"; //$NON-NLS-1$
-
-    private static final String EMAIL_CONTEXT = "org.eclipse.ui.examples.propertysheet.email_context"; //$NON-NLS-1$
-
-    private static final String COOP_CONTEXT = "org.eclipse.ui.examples.propertysheet.coop_context"; //$NON-NLS-1$
-
-    private static final String BIRTHDAY_CONTEXT = "org.eclipse.ui.examples.propertysheet.birthday_context"; //$NON-NLS-1$
-
-    private static final String SALARY_CONTEXT = "org.eclipse.ui.examples.propertysheet.salary_context"; //$NON-NLS-1$
-
-    private static final String HAIR_COLOR__CONTEXT = "org.eclipse.ui.examples.propertysheet.hair_color_context"; //$NON-NLS-1$
-
-    private static final String EYE_COLOR_CONTEXT = "org.eclipse.ui.examples.propertysheet.eye_color_context"; //$NON-NLS-1$
-
-    // Property Category
-    public static final String P_CONTACTINFO = MessageUtil.getString("contact"); //$NON-NLS-1$
-
-    public static final String P_PERSONELINFO = MessageUtil
-            .getString("personel"); //$NON-NLS-1$
-
-    public static final String P_PERSONALINFO = MessageUtil
-            .getString("personal"); //$NON-NLS-1$
-
-    // Property Values
-    public static final Integer P_VALUE_TRUE = new Integer(0);
-
-    public static final Integer P_VALUE_FALSE = new Integer(1);
-
-    public static final String P_VALUE_TRUE_LABEL = MessageUtil
-            .getString("true"); //$NON-NLS-1$
-
-    public static final String P_VALUE_FALSE_LABEL = MessageUtil
-            .getString("false"); //$NON-NLS-1$
-
-    static private class BooleanLabelProvider extends LabelProvider {
-        public String getText(Object element) {
-            String[] values = new String[] { P_VALUE_TRUE_LABEL,
-                    P_VALUE_FALSE_LABEL };
-            return values[((Integer) element).intValue()];
-        }
-    }
-
-    //
-    static private Vector descriptors;
-    static {
-        descriptors = new Vector();
-        PropertyDescriptor propertyDescriptor;
-
-        ///
-        propertyDescriptor = new TextPropertyDescriptor(P_ID_PHONENUMBER,
-                P_PHONENUMBER);
-        propertyDescriptor.setCategory(P_CONTACTINFO);
-        propertyDescriptor.setHelpContextIds(PHONE_NUMBER_CONTEXT);
-        descriptors.addElement(propertyDescriptor);
-
-        ///
-        propertyDescriptor = new PropertyDescriptor(P_ID_ADDRESS, P_ADDRESS);
-        propertyDescriptor.setCategory(P_CONTACTINFO);
-        propertyDescriptor.setHelpContextIds(ADDRESS_CONTEXT);
-        descriptors.addElement(propertyDescriptor);
-
-        ///
-        propertyDescriptor = new TextPropertyDescriptor(P_ID_EMAIL, P_EMAIL);
-        propertyDescriptor.setCategory(P_CONTACTINFO);
-        propertyDescriptor.setHelpContextIds(EMAIL_CONTEXT);
-        propertyDescriptor.setValidator(new EmailAddressValidator());
-        descriptors.addElement(propertyDescriptor);
-
-        ///
-        propertyDescriptor = new TextPropertyDescriptor(P_ID_FULLNAME,
-                P_FULLNAME);
-        propertyDescriptor.setCategory(P_PERSONELINFO);
-        propertyDescriptor.setHelpContextIds(FULL_NAME_CONTEXT);
-        descriptors.addElement(propertyDescriptor);
-
-        ///
-        propertyDescriptor = new PropertyDescriptor(P_ID_BDAY, P_BDAY);
-        propertyDescriptor.setCategory(P_PERSONELINFO);
-        propertyDescriptor.setHelpContextIds(BIRTHDAY_CONTEXT);
-        descriptors.addElement(propertyDescriptor);
-
-        ///
-        propertyDescriptor = new ComboBoxPropertyDescriptor(P_ID_COOP, P_COOP,
-                new String[] { P_VALUE_TRUE_LABEL, P_VALUE_FALSE_LABEL });
-        propertyDescriptor.setCategory(P_PERSONELINFO);
-        propertyDescriptor.setHelpContextIds(COOP_CONTEXT);
-        propertyDescriptor.setLabelProvider(new BooleanLabelProvider());
-        descriptors.addElement(propertyDescriptor);
-
-        ///
-        propertyDescriptor = new TextPropertyDescriptor(P_ID_SALARY, P_SALARY);
-        //add custom validator to propertyDescriptor limiting salary values to be
-        //greator than zero
-        propertyDescriptor.setHelpContextIds(new Object[] { SALARY_CONTEXT });
-        propertyDescriptor
-                .setFilterFlags(new String[] { IPropertySheetEntry.FILTER_ID_EXPERT });
-        propertyDescriptor.setValidator(new ICellEditorValidator() {
-            public String isValid(Object value) {
-                if (value == null)
-                    return MessageUtil.getString("salary_is_invalid"); //$NON-NLS-1$
-                //
-                Float trySalary;
-                try {
-                    trySalary = new Float(Float.parseFloat((String) value));
-                } catch (NumberFormatException e) {
-                    return MessageUtil.getString("salary_is_invalid"); //$NON-NLS-1$
-                }
-                if (trySalary.floatValue() < 0.0)
-                    return MessageUtil
-                            .getString("salary_must_be_greator_than_zero"); //$NON-NLS-1$
-                return null;
-            }
-        });
-        propertyDescriptor.setCategory(P_PERSONELINFO);
-        descriptors.addElement(propertyDescriptor);
-
-        /// HairColor
-        propertyDescriptor = new ColorPropertyDescriptor(P_ID_HAIRCOLOR,
-                P_HAIRCOLOR);
-        propertyDescriptor.setCategory(P_PERSONALINFO);
-        propertyDescriptor.setHelpContextIds(HAIR_COLOR__CONTEXT);
-        descriptors.addElement(propertyDescriptor);
-
-        /// EyeColor
-        propertyDescriptor = new ColorPropertyDescriptor(P_ID_EYECOLOR,
-                P_EYECOLOR);
-        propertyDescriptor.setCategory(P_PERSONALINFO);
-        propertyDescriptor.setHelpContextIds(EYE_COLOR_CONTEXT);
-        descriptors.addElement(propertyDescriptor);
-
-        //gets descriptors from parent, warning name-space collision may occur
-        Vector parentDescriptors = OrganizationElement.getDescriptors();
-        for (int i = 0; i < parentDescriptors.size(); i++) {
-            descriptors.addElement(parentDescriptors.elementAt(i));
-        }
-    }
-
-    /**
-     * Constructor. Default visibility only called from GroupElement.createSubGroup()
-     * Creates a new UserElement within the passed parent GroupElement,
-     * *
-     * @param name the name 
-     * @param parent the parent
-     */
-    UserElement(String name, GroupElement parent) {
-        super(name, parent);
-    }
-
-    /**
-     * Returns the address
-     */
-    private Address getAddress() {
-        if (address == null)
-            address = new Address();
-        return address;
-    }
-
-    /**
-     * Returns the birthday
-     */
-    private Birthday getBirthday() {
-        if (birthday == null)
-            birthday = new Birthday();
-        return birthday;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public Object[] getChildren(Object o) {
-        return new Object[0];
-    }
-
-    /**
-     * Returns the coop
-     */
-    private Boolean getCoop() {
-        if (coop == null)
-            coop = new Boolean(false);
-        return coop;
-    }
-
-    /**
-     * Returns the descriptors
-     */
-    static Vector getDescriptors() {
-        return descriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this.toString();
-    }
-
-    /**
-     * Returns the email address
-     */
-    EmailAddress getEmailAddress() {
-        if (emailAddress == null)
-            emailAddress = new EmailAddress();
-        return emailAddress;
-    }
-
-    /**
-     * Returns the eye color
-     */
-    private RGB getEyeColor() {
-        if (eyeColor == null)
-            eyeColor = new RGB(60, 60, 60);
-        return eyeColor;
-    }
-
-    /**
-     * Returns the full name
-     */
-    private Name getFullName() {
-        if (fullName == null)
-            fullName = new Name(getName());
-        return fullName;
-    }
-
-    /**
-     * Returns the hair color
-     */
-    private RGB getHairColor() {
-        if (hairColor == null)
-            hairColor = new RGB(255, 255, 255);
-        return hairColor;
-    }
-
-    /**
-     * Returns the phone number
-     */
-    private String getPhoneNumber() {
-        return phoneNumber;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        return (IPropertyDescriptor[]) getDescriptors().toArray(
-                new IPropertyDescriptor[getDescriptors().size()]);
-    }
-
-    /** 
-     * The <code>Userment</code> implementation of this
-     * <code>IPropertySource</code> method returns the following properties
-     *
-     *	1) P_ADDRESS returns Address (IPropertySource), the address of this user
-     * 	2) P_FULLNAME returns Name (IPropertySource), the full name of this user
-     *  3) P_PHONENUMBER returns String, the phone number of this user
-     *  4) P_EMAIL returns EmailAddress (IPropertySource), the email address of this user
-     *  5) P_COOP returns Boolean, whether the individual is a coop student or not
-     *  6) P_BDAY returns Birthday
-     *  7) P_SALARY return java.lang.Float
-     *  8) P_HAIRCOLOR, expects RGB
-     *  9) P_EYECOLOR, expects RGB
-     */
-    public Object getPropertyValue(Object propKey) {
-        if (propKey.equals(P_ID_ADDRESS))
-            return getAddress();
-        if (propKey.equals(P_ID_FULLNAME))
-            return getFullName();
-        if (propKey.equals(P_ID_PHONENUMBER))
-            return getPhoneNumber();
-        if (propKey.equals(P_ID_EMAIL))
-            return getEmailAddress();
-        if (propKey.equals(P_ID_COOP))
-            return getCoop().equals(Boolean.TRUE) ? P_VALUE_TRUE
-                    : P_VALUE_FALSE;
-        if (propKey.equals(P_ID_BDAY))
-            return getBirthday();
-        if (propKey.equals(P_ID_SALARY))
-            return getSalary().toString();
-        if (propKey.equals(P_ID_HAIRCOLOR))
-            return getHairColor();
-        if (propKey.equals(P_ID_EYECOLOR))
-            return getEyeColor();
-        return super.getPropertyValue(propKey);
-    }
-
-    /**
-     * Returns the salary
-     */
-    private Float getSalary() {
-        if (salary == null)
-            salary = new Float(0);
-        return salary;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        if (property.equals(P_ID_ADDRESS))
-            return getAddress() != address_Default;
-        if (property.equals(P_ID_FULLNAME))
-            return getFullName() != fullName_Default;
-        if (property.equals(P_ID_PHONENUMBER))
-            return getPhoneNumber() != phoneNumber_Default;
-        if (property.equals(P_ID_EMAIL))
-            return getEmailAddress() != emailAddress_Default;
-        if (property.equals(P_ID_COOP))
-            return getCoop() != coop_Default;
-        if (property.equals(P_ID_BDAY))
-            return getBirthday() != birthday_Default;
-        if (property.equals(P_ID_SALARY))
-            return getSalary() != salary_Default;
-        if (property.equals(P_ID_HAIRCOLOR))
-            return getHairColor() != hairColor_Default;
-        if (property.equals(P_ID_EYECOLOR))
-            return getEyeColor() != eyeColor_Default;
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on OrganizationElement
-     */
-    public boolean isUser() {
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-        if (property.equals(P_ID_ADDRESS)) {
-            setAddress(address_Default);
-            return;
-        }
-        if (property.equals(P_ID_FULLNAME)) {
-            setFullName(fullName_Default);
-            return;
-        }
-        if (property.equals(P_ID_PHONENUMBER)) {
-            setPhoneNumber(phoneNumber_Default);
-            return;
-        }
-        if (property.equals(P_ID_EMAIL)) {
-            setEmailAddress(emailAddress_Default);
-            return;
-        }
-        if (property.equals(P_ID_COOP)) {
-            setCoop(coop_Default);
-        }
-        if (property.equals(P_ID_BDAY)) {
-            setBirthday(birthday_Default);
-            return;
-        }
-        if (property.equals(P_ID_SALARY)) {
-            setSalary(salary_Default);
-            return;
-        }
-        if (property.equals(P_ID_HAIRCOLOR)) {
-            setHairColor(hairColor_Default);
-            return;
-        }
-        if (property.equals(P_ID_EYECOLOR)) {
-            setEyeColor(eyeColor_Default);
-            return;
-        }
-        super.resetPropertyValue(property);
-    }
-
-    /**
-     * Sets the address
-     */
-    public void setAddress(Address newAddress) {
-        address = newAddress;
-    }
-
-    /**
-     * Sets the birthday
-     */
-    public void setBirthday(Birthday newBirthday) {
-        birthday = new Birthday();
-    }
-
-    /**
-     * Sets the coop
-     */
-    public void setCoop(Boolean newCoop) {
-        coop = newCoop;
-    }
-
-    /**
-     *Sets the email address
-     */
-    public void setEmailAddress(EmailAddress newEmailAddress) {
-        emailAddress = newEmailAddress;
-    }
-
-    /**
-     * Sets eye color
-     */
-    public void setEyeColor(RGB newEyeColor) {
-        eyeColor = newEyeColor;
-    }
-
-    /**
-     * Sets full name
-     */
-    public void setFullName(Name newFullName) {
-        fullName = newFullName;
-    }
-
-    /**
-     * Sets hair color
-     */
-    public void setHairColor(RGB newHairColor) {
-        hairColor = newHairColor;
-    }
-
-    /**
-     * Sets phone number
-     */
-    public void setPhoneNumber(String newPhoneNumber) {
-        phoneNumber = newPhoneNumber;
-    }
-
-    /** 
-     * The <code>OrganizationElement</code> implementation of this
-     * <code>IPropertySource</code> method 
-     * defines the following Setable properties
-     *
-     *	1) P_ADDRESS, expects Address
-     *	2) P_FULLNAME, expects Name
-     *	3) P_PHONENUMBER, expects String
-     *  4) P_EMAIL, expects EmailAddress.
-     *  5) P_BOOLEAN, expects Boolean, whether the individual is a coop student or not
-     *  6) P_BDAY, expects Birthday
-     *  7) P_SALARY, expects java.lang.Float
-     *  8) P_HAIRCOLOR, expects RGB
-     *  9) P_EYECOLOR, expects RGB
-     */
-    public void setPropertyValue(Object propKey, Object val) {
-        // need to convert from String to domain objects
-        if (propKey.equals(P_ID_ADDRESS)) {
-            //setAddress((Address)val);
-            return;
-        }
-        if (propKey.equals(P_ID_FULLNAME)) {
-            setFullName(new Name((String) val));
-            return;
-        }
-        if (propKey.equals(P_ID_PHONENUMBER)) {
-            setPhoneNumber((String) val);
-            return;
-        }
-        if (propKey.equals(P_ID_EMAIL)) {
-            setEmailAddress(new EmailAddress((String) val));
-            return;
-        }
-        if (propKey.equals(P_ID_COOP)) {
-            setCoop(((Integer) val).equals(P_VALUE_TRUE) ? Boolean.TRUE
-                    : Boolean.FALSE);
-        }
-        if (propKey.equals(P_ID_BDAY)) {
-            //setBirthday((Birthday)val);
-            return;
-        }
-        if (propKey.equals(P_ID_SALARY)) {
-            try {
-                setSalary(new Float(Float.parseFloat((String) val)));
-            } catch (NumberFormatException e) {
-                setSalary(salary_Default);
-            }
-            return;
-        }
-        if (propKey.equals(P_ID_HAIRCOLOR)) {
-            setHairColor((RGB) val);
-            return;
-        }
-        if (propKey.equals(P_ID_EYECOLOR)) {
-            setEyeColor((RGB) val);
-            return;
-        }
-        super.setPropertyValue(propKey, val);
-    }
-
-    /**
-     * Sets the salary
-     */
-    void setSalary(Float newSalary) {
-        salary = newSalary;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getForeground(java.lang.Object)
-     */
-    public RGB getForeground(Object element) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.model.IWorkbenchAdapter#getBackground(java.lang.Object)
-     */
-    public RGB getBackground(Object element) {
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.java
deleted file mode 100644
index 4dc8df9..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/UserFileParser.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.ui.examples.propertysheet;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-/**
- * This class is an example of the implementation of a simple parser.
- */
-public class UserFileParser {
-    /**
-     * Return the fabricated result for this example.
-     *
-     */
-    private static IAdaptable getFabricatedResult() {
-        // returns fabricated input. 
-        GroupElement root = new GroupElement(
-                MessageUtil.getString("Everybody"), null); //$NON-NLS-1$
-        GroupElement userGroup = root.createSubGroup(MessageUtil
-                .getString("Company_Inc")); //$NON-NLS-1$
-        GroupElement ottGroup = userGroup.createSubGroup(MessageUtil
-                .getString("Waterloo_Lab")); //$NON-NLS-1$
-        userGroup.createSubGroup(MessageUtil.getString("Toronto_Lab")); //$NON-NLS-1$
-        userGroup.createSubGroup(MessageUtil.getString("Hamilton_Lab")); //$NON-NLS-1$
-        userGroup.createSubGroup(MessageUtil.getString("London_Lab")); //$NON-NLS-1$
-        userGroup.createSubGroup(MessageUtil.getString("Grimsby_Lab")); //$NON-NLS-1$
-        GroupElement uiTeam = ottGroup.createSubGroup(MessageUtil
-                .getString("Team1")); //$NON-NLS-1$
-        //
-        UserElement user1 = uiTeam.createUser("richard"); //$NON-NLS-1$
-        user1.setFullName(new Name(MessageUtil.getString("Richard_Zokol"))); //$NON-NLS-1$
-        user1.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("rzokol@company.com"))); //$NON-NLS-1$
-        user1.setPhoneNumber("x789"); //$NON-NLS-1$
-        user1
-                .setAddress(new Address(
-                        new StreetAddress(232, MessageUtil
-                                .getString("Champlain")), MessageUtil.getString("Hull"), new Integer(5), MessageUtil.getString("A1B2C3"))); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-        user1.setBirthday(new Birthday(18, 1, 1981));
-        user1.setCoop(new Boolean(true));
-        user1.setHairColor(new RGB(0, 0, 0));
-        user1.setEyeColor(new RGB(0, 0, 0));
-        //
-        UserElement user2 = uiTeam.createUser("george"); //$NON-NLS-1$
-        user2.setFullName(new Name(MessageUtil.getString("George_Knudson"))); //$NON-NLS-1$
-        user2.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("gknudson@company.com"))); //$NON-NLS-1$
-        user2.setPhoneNumber("x678"); //$NON-NLS-1$
-        user2
-                .setAddress(new Address(
-                        new StreetAddress(),
-                        MessageUtil.getString("Toronto"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$
-        user2.setBirthday(new Birthday(7, 5, 1978));
-        user2.setCoop(new Boolean(true));
-        user2.setHairColor(new RGB(0, 0, 0));
-        user2.setEyeColor(new RGB(0, 0, 0));
-
-        //
-        UserElement user3 = uiTeam.createUser("arnold"); //$NON-NLS-1$
-        user3.setFullName(new Name(MessageUtil.getString("Arnold_Palmer"))); //$NON-NLS-1$
-        user3.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("apalmer@company.com"))); //$NON-NLS-1$
-        user3.setPhoneNumber("x567"); //$NON-NLS-1$
-        user3
-                .setAddress(new Address(
-                        new StreetAddress(),
-                        MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$
-        user3.setBirthday(new Birthday(11, 23, 1962));
-        user3.setHairColor(new RGB(0, 0, 0));
-        user3.setEyeColor(new RGB(0, 0, 0));
-
-        //
-        UserElement user4 = uiTeam.createUser("lee"); //$NON-NLS-1$
-        user4.setFullName(new Name(MessageUtil.getString("Lee_Trevino"))); //$NON-NLS-1$
-        user4.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("ltrevino@company.com"))); //$NON-NLS-1$
-        user4.setPhoneNumber("x456"); //$NON-NLS-1$
-        user4
-                .setAddress(new Address(
-                        new StreetAddress(),
-                        MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$
-        //
-        UserElement user5 = uiTeam.createUser("tiger"); //$NON-NLS-1$
-        user5.setFullName(new Name(MessageUtil.getString("Tiger_Woods"))); //$NON-NLS-1$
-        user5.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("twoods@company.com"))); //$NON-NLS-1$
-        user5.setPhoneNumber("x345"); //$NON-NLS-1$
-        user5
-                .setAddress(new Address(
-                        new StreetAddress(),
-                        MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$
-        //
-        UserElement user6 = uiTeam.createUser("jack"); //$NON-NLS-1$
-        user6.setFullName(new Name(MessageUtil.getString("Jack_Nicklaus"))); //$NON-NLS-1$
-        user6.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("jnicklaus@company.com"))); //$NON-NLS-1$
-        user6.setPhoneNumber("x234 "); //$NON-NLS-1$
-        user6
-                .setAddress(new Address(
-                        new StreetAddress(),
-                        MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$
-        //
-        UserElement greg = uiTeam.createUser("weslock"); //$NON-NLS-1$
-        greg.setFullName(new Name(MessageUtil.getString("Weslock"))); //$NON-NLS-1$
-        greg.setEmailAddress(new EmailAddress(MessageUtil
-                .getString("weslock@company.com"))); //$NON-NLS-1$
-        greg.setPhoneNumber("x123"); //$NON-NLS-1$
-        greg
-                .setAddress(new Address(
-                        new StreetAddress(),
-                        MessageUtil.getString("Ottawa"), new Integer(4), MessageUtil.getString("A1B2C3"))); //$NON-NLS-2$ //$NON-NLS-1$
-
-        return root;
-    }
-
-    /**
-     * Parse the input given by the argument. For this example we do no parsing and return
-     * a fabricated result.
-     *
-     */
-    public IAdaptable parse(IDocumentProvider documentProvider) {
-
-        return getFabricatedResult();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties b/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
deleted file mode 100644
index bd2cd53..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/Eclipse UI Examples PropertySheet/org/eclipse/ui/examples/propertysheet/messages.properties
+++ /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
-###############################################################################
-Alberta=Alberta
-British_Columbia=British Columbia
-City=City
-Manitoba=Manitoba
-New_Brunswick=New Brunswick
-Newfoundland=Newfoundland
-North_West_Territories=North West Territories
-Nova_Scotia=Nova Scotia
-Nunavut=Nunavut
-Ontario=Ontario
-PostalCode=PostalCode
-Prince_Edward_Island=Prince Edward Island
-Province=Province
-Quebec=Quebec
-Saskatchewan=Saskatchewan
-Street=Street
-Yukon=Yukon
-_is_an_invalid_format_for_a_postal_code={0} is an invalid format for a postal code
-postal_code_is_incomplete=postal code is incomplete
-unspecified_city=unspecified city
-April=April
-August=August
-December=December
-February=February
-January=January
-July=July
-June=June
-March=March
-May=May
-November=November
-October=October
-September=September
-day=day
-month=month
-year=year
-domain=domain
-emailaddress_cannot_be_set_to_null=emailaddress cannot be set to null
-invalid_email_address_format_should_have_been_validated=invalid email address format, should have been validated
-unknownDomain=unknownDomain
-unknownUser=unknownUser
-userid=userid
-email_address_does_not_have_a_valid_format=email address does not have a valid format
-email_address_is_incomplete=email address is incomplete
-FirstName=FirstName
-LastName=LastName
-Middle=Middle
-name=name
-apt.no_or_box.no=apt.no or box.no
-building_number=building number
-street=street
-unspecified=unspecified
-Editor_instructions=Click on the items in the content outline\nto see their properties
-address=address
-birthday=birthday
-contact=contact
-coop_student=coop student
-email=email
-eyecolor=eyecolor
-false=false
-fullname=fullname
-haircolor=haircolor
-personal=personal
-personel=personel
-phonenumber=phonenumber
-salary=salary
-salary_is_invalid=salary is invalid
-salary_must_be_greator_than_zero=salary must be greator than zero
-true=true
-A1B2C3=A1B2C3
-Arnold_Palmer=Arnold Palmer
-Champlain=Champlain
-Company_Inc=Company Inc.
-Everybody=Everybody
-George_Knudson=George Knudson
-Grimsby_Lab=Grimsby Lab
-Hamilton_Lab=Hamilton Lab
-Hull=Hull
-Jack_Nicklaus=Jack Nicklaus
-Lee_Trevino=Lee Trevino
-London_Lab=London Lab
-Ottawa=Ottawa
-Richard_Zokol=Richard Zokol
-Team1=Team1
-Tiger_Woods=Tiger Woods
-Toronto=Toronto
-Toronto_Lab=Toronto Lab
-Waterloo_Lab=Waterloo Lab
-Weslock=Weslock
-apalmer@company.com=apalmer@company.com
-gknudson@company.com=gknudson@company.com
-jnicklaus@company.com=jnicklaus@company.com
-ltrevino@company.com=ltrevino@company.com
-rzokol@company.com=rzokol@company.com
-twoods@company.com=twoods@company.com
-weslock@company.com=weslock@company.com
-Popup_Menu_Action_executed=Popup Menu Action executed
-Property_Sheet_Example=Property Sheet Example
-
diff --git a/examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml b/examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml
deleted file mode 100644
index 0a1ed0a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/HelpContexts.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<contexts>
-
-   <context  id="phone_number_context" >
-      <description>Help for phone number</description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="address_context" >
-      <description>Help for address </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="full_name_context" >
-      <description>Help for full name </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="email_context" >
-      <description>Help for email address </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="coop_context" >
-      <description>Help for coop </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="birthday_context" >
-      <description>Help for birthday </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="salary_context" >
-      <description>Help for salary </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="hair_color_context" >
-      <description>Help for hair color </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-   <context  id="eye_color_context" >
-      <description>Help for eye color </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 1"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 2"/>
-   </context>
-
-</contexts>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.propertysheet/about.html b/examples/org.eclipse.ui.examples.propertysheet/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/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/examples/org.eclipse.ui.examples.propertysheet/build.properties b/examples/org.eclipse.ui.examples.propertysheet/build.properties
deleted file mode 100644
index 7fb518e..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/build.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
-###############################################################################
-source.propertysheet.jar = Eclipse UI Examples PropertySheet/
-
-bin.includes = doc-html/,\
-				icons/,\
-				.options,\
-				about.html,\
-				doc.zip,\
-				HelpContexts.xml,\
-				plugin.properties,\
-				plugin.xml,\
-				*.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.propertysheet/doc-html/hglegal.htm
deleted file mode 100644
index c598113..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/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/examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif b/examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html b/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
deleted file mode 100644
index 7b59fba..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc-html/ui_propertysheet_ex.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Desktop - Property Sheet Example</title>
-</head>
-<body>
-
-<h2>
-<b>Example - Property Sheet</b></h2>
-
-<h3>
-Introduction</h3>
-The Property Sheet Example adds an editor for files with the .usr extension
-and also demonstrates how to add properties and outline views on a file.
-<br>&nbsp;
-<h3>
-Running the example</h3>
-To start using the Property Sheet Example, create a file with extension
-.usr.&nbsp;&nbsp; Open the file and the Outline and Properties views to
-see the example in action.&nbsp; Click on items in the Outline view and
-look in the Properties view for details of the selected item in the Outline
-view.&nbsp; The people items in the list show the most detail in the Properties
-view.
-<h4>
-<b>Creating a new usr file</b></h4>
-Create a new file with file extension .usr.&nbsp; From the File menu, select
-New and then select Other... from the sub-menu.&nbsp; Click on Simple in
-the wizard, then select
-<br>File in the list on the left.&nbsp; Click on Next to supply the file
-name (make sure the extension is .usr) and the folder in which the file
-should be contained.
-<br>&nbsp;
-<h3>
-Details</h3>
-The Property Sheet Example demonstrates how to provide properties to the
-Property Sheet View.
-<p>The tree viewer of the Content Outline View contains and presents OrganizationElements.
-When an element is selected in the Content Outline View the Workspace will
-invoke <tt>getAdapter</tt>
-on the selected OrganizationElement. If an adapter is requested for IPropertySource,
-the OrganizationElement returns itself as it impements IPropertySource
-The Property Sheet View then use the Organization Element as it source.
-<br>&nbsp;
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.propertysheet/doc.zip b/examples/org.eclipse.ui.examples.propertysheet/doc.zip
deleted file mode 100644
index 41e8aa9..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/doc.zip
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif b/examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif
deleted file mode 100644
index 64d7907..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/icons/obj16/usereditor.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.propertysheet/plugin.properties b/examples/org.eclipse.ui.examples.propertysheet/plugin.properties
deleted file mode 100644
index 93bcdca..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.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 = User File Editor
-Plugin.providerName = Eclipse.org
-Editors.UserEditor = User File Editor
-PopupMenus.action = Show Action
diff --git a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml b/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
deleted file mode 100644
index ff3e114..0000000
--- a/examples/org.eclipse.ui.examples.propertysheet/plugin.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.propertysheet"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.examples.propertysheet.PropertySheetPlugin">
-
-   <runtime>
-      <library name="propertysheet.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.UserEditor"
-            icon="icons/obj16/usereditor.gif"
-            extensions="usr"
-            class="org.eclipse.ui.examples.propertysheet.UserEditor"
-            id="org.eclipse.ui.examples.propertysheet.UserEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.ui.examples.propertysheet.UserElement"
-            id="org.eclipse.ui.examples.propertysheet">
-         <action
-               label="%PopupMenus.action"
-               class="org.eclipse.ui.examples.propertysheet.PopupMenuActionDelegate"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.ui.examples.propertysheet.action1">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.help.contexts">
-      <contexts
-            file="HelpContexts.xml">
-      </contexts>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.classpath b/examples/org.eclipse.ui.examples.rcp.browser/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.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/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore b/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/.project b/examples/org.eclipse.ui.examples.rcp.browser/.project
deleted file mode 100644
index b694377..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.rcp.browser</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.ui</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/examples/org.eclipse.ui.examples.rcp.browser/about.html b/examples/org.eclipse.ui.examples.rcp.browser/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/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/examples/org.eclipse.ui.examples.rcp.browser/build.properties b/examples/org.eclipse.ui.examples.rcp.browser/build.properties
deleted file mode 100644
index a0842a5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-bin.includes = icons/,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               about.html,\
-               config_win32.ini,\
-               config_motif.ini,\
-               config_macosx-carbon.ini,\
-               config_gtk.ini,\
-               config_gtk-amd64.ini,\
-               readme.html,\
-               splash.bmp
-source.browser.jar = src/
-src.includes = about.html,\
-               config_gtk-amd64.ini,\
-               config_gtk.ini,\
-               config_motif.ini,\
-               config_macosx-carbon.ini,\
-               config_win32.ini,\
-               readme.html
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini
deleted file mode 100644
index e9b07d3..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk-amd64.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.gtk, org.eclipse.swt.gtk64, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini
deleted file mode 100644
index f7dbae5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_gtk.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.gtk, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini
deleted file mode 100644
index 7b8b135..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_macosx-carbon.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.carbon, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini
deleted file mode 100644
index 105ecf9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_motif.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-#osgi.splashPath = platform:/base/plugins/org.eclipse.platform

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.motif, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini b/examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini
deleted file mode 100644
index a96c78e..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/config_win32.ini
+++ /dev/null
@@ -1,57 +0,0 @@
-# Eclipse runtime configuration file

-# This file contains a number of key/value pairs that are merged into the 

-# System properties on system startup.  The values control the way the 

-# runtime is structured and runs.

-

-# Note:  Only platform:/base/ and file: URLs are supported.  In general the 

-# URLs given may include a version number (e.g., .../location_1.2.3).  

-# If a version is not specified, the system binds

-# to the location which matches exactly or to the versioned location with the

-# latest version number.  If a version number is given then only exact matches

-# are considered.

-

-# The URL for the runtime entry point.  The default value is

-# platform:/base/plugins/org.eclipse.osgi 

-#osgi.framework = platform:/base/plugins/org.eclipse.osgi

-

-# The classpath for the framework found at the osgi.framework location.  This 

-# comma-separated list contains either URLs or simple element names.  Simple

-# names are assumed to be relative to the framework's install directory.  

-# Typically this value need not be set as it is initialized by the framework itself.

-# Version match searching is not done for URLs listed here.

-#osgi.frameworkClassPath =

-

-# The comma-separated list of locations to search for the splash screen file (splash.bmp).

-# For each list element a subdirectory structure based on the pattern nl/<locale> is searched.

-# The system binds to the first matching file.  There is no default value.

-osgi.splashPath = platform:/base/plugins/org.eclipse.ui.examples.rcp.browser

-

-# The location of the splash screen file.  If this value is set at system startup it is used 

-# in favour of the osgi.splashPath searching outlined above.  If the value is not set 

-# the searching is done and this key is bound to the result of the search.

-#osgi.splashLocation =

-

-# The comma-separated list of bundles which are automatically installed and optionally started

-# once the system is up and running.  Each entry if of the form

-#     <URL | simple bundle location>[@ [<startlevel>] [":start"]]

-# If the startlevel is omitted then the framework will use the default start level for the bundle.

-# If the "start" tag is added then the bundle will be marked as started after being installed.

-# Simple bundle locations are interepreted as relative to the framework's parent directory.

-# The startlevel indicates the OSGi start level at which the bundle should run.

-# If this value is not set, the system computes an appropriate default.

-osgi.bundles=org.eclipse.core.runtime@2:start, org.eclipse.core.expressions, org.eclipse.help, \

-  org.eclipse.jface,  org.eclipse.osgi.services, org.eclipse.osgi, org.eclipse.swt, org.eclipse.swt.win32, \

-  org.eclipse.ui.examples.rcp.browser, org.eclipse.ui.workbench, org.eclipse.ui

-

-# The product to run.  A given Eclipse configuration may contain many products.

-# The product identified will supply the branding (window icons, title bar text) etc 

-# as well as define the default application to run.  

-eclipse.product=org.eclipse.ui.examples.rcp.browser.product

-

-# The application to run.  The value specified here is the id of the application extension

-# the runtime will find, instantiate and execute once the system is up.  Note that typically 

-# the identified eclipse.product defines the default application to run.

-#eclipse.application=

-

-# End of file marker - must be here

-eof=eof
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt16.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif
deleted file mode 100644
index b432f88..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt32.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif
deleted file mode 100644
index 20d9ad2..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/alt_about.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif b/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
deleted file mode 100644
index 27c0838..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/icons/eclipse_lg.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties b/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
deleted file mode 100644
index ce56de6..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Browser Example
-providerName= Eclipse.org
-
-productName= Browser Example
-appName= Browser Example App
-perspectives.browser.name= Browser Example
-views.category.name= Browser Example
-views.browser.name= Browser
-views.history.name= History
-
-swtAppName= BrowserExample
-aboutText= Browser Example \n\n\
-(c) Copyright Eclipse contributors and others 2003, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml b/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
deleted file mode 100644
index 18d3eab..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.rcp.browser"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.examples.rcp.browser.BrowserPlugin">
-
-   <runtime>
-      <library name="browser.jar">
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.core.runtime.applications"
-         id="app"
-         name="%appName">
-      <application>
-         <run
-            class="org.eclipse.ui.examples.rcp.browser.BrowserApp">
-         </run>
-      </application>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            id="org.eclipse.ui.examples.rcp.browser.browserPerspective"
-            name="%perspectives.browser.name"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserPerspectiveFactory"
-			fixed="false"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            id="org.eclipse.ui.examples.rcp.browser"
-            name="%views.category.name"/>
-      <view
-            id="org.eclipse.ui.examples.rcp.browser.browserView"
-            name="%views.browser.name"
-            icon="icons/eclipse.gif"
-            class="org.eclipse.ui.examples.rcp.browser.BrowserView"
-            category="org.eclipse.ui.examples.rcp.browser"
-            allowMultiple="true"/>
-      <view
-            id="org.eclipse.ui.examples.rcp.browser.historyView"
-            name="%views.history.name"
-            icon="icons/eclipse.gif"
-            class="org.eclipse.ui.examples.rcp.browser.HistoryView"
-            category="org.eclipse.ui.examples.rcp.browser"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.products"
-         id="product">
-      <product
-            name="%productName"
-            application="org.eclipse.ui.examples.rcp.browser.app">
-         <property
-               name="appName"
-               value="%swtAppName"/>
-         <property
-               name="windowImages"
-               value="icons/eclipse.gif,icons/eclipse32.gif"/>
-         <property
-               name="aboutText"
-               value="%aboutText"/>
-         <property
-               name="aboutImage"
-               value="icons/eclipse_lg.gif"/>
-         <property
-               name="preferenceCustomization"
-               value="plugin_customization.ini"/>
-      </product>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="Browser"
-            id="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Back"
-            id="org.eclipse.ui.examples.rcp.browser.commands.back"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Forward"
-            id="org.eclipse.ui.examples.rcp.browser.commands.forward"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Stop"
-            id="org.eclipse.ui.examples.rcp.browser.commands.stop"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Refresh"
-            id="org.eclipse.ui.examples.rcp.browser.commands.refresh"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="New Tab"
-            id="org.eclipse.ui.examples.rcp.browser.commands.newTab"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="History"
-            id="org.eclipse.ui.examples.rcp.browser.commands.history"/>
-      <command
-            categoryId="org.eclipse.ui.examples.rcp.browser.commands.browserCategory"
-            name="Easter Egg"
-            id="org.eclipse.ui.examples.rcp.browser.commands.easterEgg"/>
-      <keyConfiguration
-            name="Browser Keys"
-            id="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <activeKeyConfiguration keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.back"
-            keySequence="Alt+Arrow_Left"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.forward"
-            keySequence="Alt+Arrow_Right"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.stop"
-            keySequence="Esc"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.refresh"
-            keySequence="F5"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.newTab"
-            keySequence="Ctrl+T"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.history"
-            keySequence="Ctrl+H"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-      <keyBinding
-            commandId="org.eclipse.ui.examples.rcp.browser.commands.easterEgg"
-            keySequence="Ctrl+Shift+E"
-            keyConfigurationId="org.eclipse.ui.examples.rcp.browser.keyConfiguration"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer class="org.eclipse.ui.examples.rcp.browser.BrowserPreferenceInitializer"/>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini b/examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini
deleted file mode 100644
index f6323ce..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/plugin_customization.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight

-org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.examples.rcp.browser.keyConfiguration

diff --git a/examples/org.eclipse.ui.examples.rcp.browser/readme.html b/examples/org.eclipse.ui.examples.rcp.browser/readme.html
deleted file mode 100644
index e24988c..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/readme.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>Eclipse RCP Browser Example</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>Eclipse RCP Browser Example</h2>
- 
-<p>Last updated May 21, 2004</p>	
-
-<h3>Description</h3>
-<p>This is an example of a simple Eclipse Rich Client Platform (RCP) application.
-It is a bare bones web browser, using the SWT Browser control.
-</p>
-<p>
-The code is in package <code>org.eclipse.ui.examples.browser</code>, and consists
-of an application class (<code>BrowserApp</code>), a workbench advisor for 
-configuring the workbench (<code>BrowserAdvisor</code>), and a single perspective 
-(<code>BrowserPerspectiveFactory</code>) containing a single view (<code>BrowserView</code>).
-</p>
-<p>
-The application defines several built-in actions in the menu and toolbar that are
-typical for web browsers (Back, Forward, Stop, Refresh).  These are added in 
-<code>BrowserActionBuilder</code> when a new window is opened (see 
-<code>BrowserAdvisor.fillActionBars(...)</code>).  These actions are defined as 
-retargetable actions, for which the view registers handling actions.
-</p>
-<p>
-The view consists of an address bar (a <code>Label</code> and a <code>Text</code>
-control) and the <code>Browser</code> control.  To handle status and progress
-events, it simply passes on the relevant events from the <code>Browser</code> 
-control to the Workbench status line.
-
-<h3>Running the example</h3>
-To run the RCP Browser example from within the Eclipse SDK:
-<ol>
-<li>Load project org.eclipse.ui.examples.rcp.browser
-from the Eclipse repository into a self-hosting workspace.</li>
-<li>Create a new "Run-time workbench" launch configuration called "Browser Example".</li>
-<li>On the "Arguments" tab, select "Run a product" and choose select "org.eclipse.ui.examples.rcp.browser.product" from the drop-down.</li>
-<li>On the "Plug-ins" tab, configure it to include only the 
-  required plug-ins:
-  <ul>
-  <li>Press "Deselect All"</li>
-  <li>Check "org.eclipse.ui.examples.rcp.browser"</li>
-  <li>Press "Add Required Plug-ins"</li>
-  <li>Check "org.eclipse.update.configurator"</li>
-  </ul>
-</li>
-<li>Run or debug the launch config.</li>
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/splash.bmp b/examples/org.eclipse.ui.examples.rcp.browser/splash.bmp
deleted file mode 100644
index 6507770..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java
deleted file mode 100644
index 118e4e5..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserActionBarAdvisor.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.ICoolBarManager;
-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.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * Builds the actions and populates the menubar and toolbar when a new window
- * is opened.
- * This work is factored into a separate class to avoid cluttering 
- * <code>BrowserAdvisor</code>
- * <p>
- * This adds several actions to the menus and toolbar that are typical for 
- * web browsers (e.g. Back, Forward, Stop, Refresh).  These are defined as 
- * retargetable actions, for which the <code>BrowserView</code> registers 
- * handling actions.
- * 
- * @since 3.1
- */
-public class BrowserActionBarAdvisor extends ActionBarAdvisor {
-
-	private IAction newWindowAction, newTabAction, quitAction, historyAction, aboutAction;
-    private RetargetAction backAction, forwardAction, stopAction, refreshAction; 
-
-    public BrowserActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-	}
-    
-	protected void makeActions(final IWorkbenchWindow window) {
-        ISharedImages images = window.getWorkbench().getSharedImages();
-		
-		newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        newWindowAction.setText("&New Window");
-        register(newWindowAction);
-		
-		newTabAction = new Action("New &Tab") { //$NON-NLS-1$
-		    int counter = 0;
-		    { setId("newTab");
-              setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "newTab"); } //$NON-NLS-1$
-            public void run() {
-                try {
-                    String secondaryId = Integer.toString(++counter);
-                    IWorkbenchPage page = window.getActivePage();
-                    if (page != null) {
-                        page.showView(IBrowserConstants.BROWSER_VIEW_ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
-                    }
-                } catch (PartInitException e) {
-                    e.printStackTrace();
-                }
-            }
-		};
-        register(newTabAction);
-		
-		quitAction = ActionFactory.QUIT.create(window);
-        register(quitAction);
-		
-        backAction = new RetargetAction("back", "&Back");
-        backAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "back"); //$NON-NLS-1$
-		backAction.setToolTipText("Back");
-		backAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
-		window.getPartService().addPartListener(backAction);
-        register(backAction);
-		
-        forwardAction = new RetargetAction("forward", "&Forward");
-        forwardAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "forward"); //$NON-NLS-1$
-		forwardAction.setToolTipText("Forward");
-		forwardAction.setImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_TOOL_FORWARD));
-		window.getPartService().addPartListener(forwardAction);
-		register(forwardAction);
-		
-		stopAction = new RetargetAction("stop", "Sto&p");
-        stopAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "stop"); //$NON-NLS-1$
-		stopAction.setToolTipText("Stop");
-		window.getPartService().addPartListener(stopAction);
-		register(stopAction);
-		
-		refreshAction = new RetargetAction("refresh", "&Refresh");
-        refreshAction.setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "refresh"); //$NON-NLS-1$
-		refreshAction.setToolTipText("Refresh");
-		window.getPartService().addPartListener(refreshAction);
-		register(refreshAction);
-		
-		historyAction = new Action("History", IAction.AS_CHECK_BOX) { //$NON-NLS-1$
-		    { setId("history");
-              setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "history"); } //$NON-NLS-1$
-		    public void run() {
-		        try {
-		            IWorkbenchPage page = window.getActivePage();
-		            if (page != null) {
-		                IViewPart historyView = page.findView(IBrowserConstants.HISTORY_VIEW_ID);
-		                if (historyView == null) {
-		                    page.showView(IBrowserConstants.HISTORY_VIEW_ID);
-		                    setChecked(true);
-		                }
-		                else {
-		                    page.hideView(historyView);
-		                    setChecked(false);
-		                }
-		            }
-                } catch (PartInitException e) {
-                    e.printStackTrace();
-                }
-		    }
-		};
-        register(historyAction);
-
-		aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		IMenuManager fileMenu = new MenuManager("&File", "file");  //$NON-NLS-2$
-		menuBar.add(fileMenu);
-        fileMenu.add(newWindowAction);
-        fileMenu.add(newTabAction);
-		fileMenu.add(new Separator());
-        fileMenu.add(quitAction);
-		
-		IMenuManager viewMenu = new MenuManager("&View", "view");  //$NON-NLS-2$
-		menuBar.add(viewMenu);
-        viewMenu.add(backAction);
-        viewMenu.add(forwardAction);
-        viewMenu.add(stopAction);
-        viewMenu.add(refreshAction);
-		viewMenu.add(new Separator("views")); //$NON-NLS-1$
-        viewMenu.add(historyAction);
-
-		IMenuManager helpMenu = new MenuManager("&Help", "help");  //$NON-NLS-2$
-		menuBar.add(helpMenu);
-        helpMenu.add(aboutAction);
-	}
-
-	protected void fillCoolBar(ICoolBarManager coolBar) {
-		IToolBarManager toolBar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-		coolBar.add(new ToolBarContributionItem(toolBar, "standard")); //$NON-NLS-1$
-		
-		// For the Back and Forward actions, force their text to be shown on the toolbar,
-		// not just their image.  For the remaining actions, the ActionContributionItem
-		// is created implicitly with the default presentation mode.
-		ActionContributionItem backCI = new ActionContributionItem(backAction);
-		backCI.setMode(ActionContributionItem.MODE_FORCE_TEXT);
-		toolBar.add(backCI);
-		
-		ActionContributionItem forwardCI = new ActionContributionItem(forwardAction);
-		forwardCI.setMode(ActionContributionItem.MODE_FORCE_TEXT);
-		toolBar.add(forwardCI);
-
-        toolBar.add(stopAction);
-        toolBar.add(refreshAction);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
deleted file mode 100644
index 9664387..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserAdvisor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003,2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * The workbench advisor for the browser example.
- * Configures the workbench as needed for the browser example, including
- * specifying the default perspective id.
- * Creates the workbench window advisor for configuring each new window 
- * as it is being opened.
- * 
- * @since 3.0
- */
-public class BrowserAdvisor extends WorkbenchAdvisor {
-
-	/**
-	 * Constructs a new <code>BrowserAdvisor</code>.
-	 */
-	public BrowserAdvisor() {
-		// do nothing
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-//        configurer.setSaveAndRestore(true);
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.application.WorkbenchAdvisor
-	 */
-	public String getInitialWindowPerspectiveId() {
-		return IBrowserConstants.BROWSER_PERSPECTIVE_ID;
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-            IWorkbenchWindowConfigurer configurer) {
-        return new BrowserWindowAdvisor(configurer);
-    }
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.java
deleted file mode 100644
index a0eaf6a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserApp.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.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The application class for the RCP Browser Example.
- * Creates and runs the Workbench, passing a <code>BrowserAdvisor</code>
- * as the workbench advisor.
- * 
- * @issue Couldn't run without initial perspective -- it failed with NPE 
- *   on WorkbenchWindow.openPage (called from Workbench.openFirstTimeWindow).  Advisor is currently required to override 
- *   getInitialWindowPerspectiveId.
- * 
- * @issue If shortcut bar is hidden, and last view in perspective is closed, there's no way to get it open again.
- * 
- * @since 3.0
- */
-public class BrowserApp implements IPlatformRunnable {
-	
-	/**
-	 * Constructs a new <code>BrowserApp</code>.
-	 */
-	public BrowserApp() {
-		// do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.boot.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int code = PlatformUI.createAndRunWorkbench(display,
-					new BrowserAdvisor());
-			// exit the application with an appropriate return code
-			return code == PlatformUI.RETURN_RESTART
-					? EXIT_RESTART
-					: EXIT_OK;
-		} finally {
-			if (display != null)
-				display.dispose();
-		}
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
deleted file mode 100644
index 9bb3c5d..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPerspectiveFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.IViewLayout;
-
-/**
- * The perspective factory for the RCP Browser Example's perspective.
- * 
- * @since 3.0
- */
-public class BrowserPerspectiveFactory implements IPerspectiveFactory {
-
-	/**
-	 * Constructs a new <code>BrowserPerspectiveFactory</code>.
-	 */
-	public BrowserPerspectiveFactory() {
-		// do nothing
-	}
-
-	/**
-	 * Creates the initial layout of the Browser perspective.
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		layout.addView(IBrowserConstants.BROWSER_VIEW_ID, IPageLayout.RIGHT, .25f, IPageLayout.ID_EDITOR_AREA);
-		layout.addPlaceholder(IBrowserConstants.HISTORY_VIEW_ID, IPageLayout.LEFT, .3f, IPageLayout.ID_EDITOR_AREA); //$NON-NLS-1$
-		IViewLayout historyLayout = layout.getViewLayout(IBrowserConstants.HISTORY_VIEW_ID);
-		historyLayout.setCloseable(true);
-		layout.setEditorAreaVisible(false);
-	}
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java
deleted file mode 100644
index 9bbe9e8..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPlugin.java
+++ /dev/null
@@ -1,65 +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.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * Plug-in class for the browser example.
- */
-public class BrowserPlugin extends AbstractUIPlugin {
-    private static BrowserPlugin DEFAULT;
-    
-    public BrowserPlugin() {
-        DEFAULT = this;
-    }
-
-    public static BrowserPlugin getDefault() {
-        return DEFAULT;
-    }
-
-    /**
-     * Logs the given throwable.
-     * 
-     * @param t the throwable to log
-     */
-    public void log(Throwable t) {
-        String msg = t.getMessage();
-        if (msg == null)
-            msg = t.toString();
-        IStatus status = new Status(IStatus.ERROR, getBundle().getSymbolicName(), 0, msg, t);
-        getLog().log(status);
-    }
-    
-//    /**
-//     * Returns a list of all views and editors in the given page,
-//     * excluding any secondary views like the History view.
-//     * 
-//     * @param page the workbench page
-//     * @return a list of all non-secondary parts in the page
-//     */
-//    public List getNonSecondaryParts(IWorkbenchPage page) {
-//        ArrayList list = new ArrayList();
-//        list.addAll(Arrays.asList(page.getViewReferences()));
-//        list.addAll(Arrays.asList(page.getEditorReferences()));
-//        for (Iterator i = list.iterator(); i.hasNext();) {
-//            IWorkbenchPartReference ref = (IWorkbenchPartReference) i.next();
-//            if (ref instanceof ISecondaryPart) {
-//                i.remove();
-//            }
-//        }
-//        return list;
-//    }
-    
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java
deleted file mode 100644
index 67b31a3..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserPreferenceInitializer.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-
-/**
- * Preference initializer for the browser preferences.
- */
-public class BrowserPreferenceInitializer extends AbstractPreferenceInitializer {
-
-    public BrowserPreferenceInitializer() {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-     */
-    public void initializeDefaultPreferences() {
-        Preferences prefs = BrowserPlugin.getDefault().getPluginPreferences();
-        prefs.setDefault(IBrowserConstants.PREF_HOME_PAGE, "http://eclipse.org");  //$NON-NLS-1$
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
deleted file mode 100644
index a4a933a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserView.java
+++ /dev/null
@@ -1,298 +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.ui.examples.rcp.browser;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.CloseWindowListener;
-import org.eclipse.swt.browser.LocationAdapter;
-import org.eclipse.swt.browser.LocationEvent;
-import org.eclipse.swt.browser.OpenWindowListener;
-import org.eclipse.swt.browser.ProgressAdapter;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.StatusTextEvent;
-import org.eclipse.swt.browser.StatusTextListener;
-import org.eclipse.swt.browser.TitleEvent;
-import org.eclipse.swt.browser.TitleListener;
-import org.eclipse.swt.browser.WindowEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.part.ViewPart;
-
-
-/**
- * The Browser view.  This consists of a <code>Browser</code> control, and an
- * address bar consisting of a <code>Label</code> and a <code>Text</code> 
- * control.  This registers handling actions for the retargetable actions added 
- * by <code>BrowserActionBuilder</code> (Back, Forward, Stop, Refresh).  
- * This also hooks listeners on the Browser control for status and progress
- * messages, and redirects these to the status line.
- * 
- * @since 3.0
- */
-public class BrowserView extends ViewPart {
-	
-    /**
-	 * Debug flag.  When true, status and progress messages are sent to the
-	 * console in addition to the status line.
-	 */
-	private static final boolean DEBUG = false;
-	
-	private Browser browser;
-	private Text location;
-	private String initialUrl;
-	
-	private Action backAction = new Action("Back") {
-		public void run() {
-			browser.back();
-		}
-	};
-	
-	private Action forwardAction = new Action("Forward") {
-		public void run() {
-			browser.forward();
-		}
-	};
-
-	private Action stopAction = new Action("Stop") {
-		public void run() {
-			browser.stop();
-			// cancel any partial progress.
-			getViewSite().getActionBars().getStatusLineManager().getProgressMonitor().done();
-		}
-	};
-
-	private Action refreshAction = new Action("Refresh") {
-		public void run() {
-			browser.refresh();
-		}
-	};
-	
-	/**
-	 * The easter egg action.  
-	 * See the corresponding command and key binding in the plugin.xml,
-	 * and how it's registered in createBrowser.
-	 */
-	private Action easterEggAction = new Action() {
-	    { setActionDefinitionId(IBrowserConstants.COMMAND_PREFIX + "easterEgg"); } //$NON-NLS-1$
-	    public void run() {
-	        browser.execute("window.confirm('You found the easter egg!')");
-	    }
-	};
-	
-    /**
-     * Finds the first browser view in the given window.
-     * 
-     * @param window the window
-     * @return the first found browser view, or <code>null</code> if none found
-     */
-    private static BrowserView findBrowser(IWorkbenchWindow window) {
-        IWorkbenchPage page = window.getActivePage();
-        IViewPart view = page.findView(IBrowserConstants.BROWSER_VIEW_ID);
-        if (view != null) {
-            return (BrowserView) view;
-        }
-        IViewReference[] refs = page.getViewReferences();
-        for (int i = 0; i < refs.length; i++) {
-            if (IBrowserConstants.BROWSER_VIEW_ID.equals(refs[i].getId())) {
-                return (BrowserView) refs[i].getPart(true);
-            }
-        }
-        return null;
-    }
-    
-	/**
-	 * Constructs a new <code>BrowserView</code>.
-	 */
-	public BrowserView() {
-	    initialUrl = BrowserPlugin.getDefault().getPluginPreferences().getString(IBrowserConstants.PREF_HOME_PAGE);
-	}
-	
-    public void init(IViewSite site, IMemento memento) throws PartInitException {
-        super.init(site);
-        if (memento != null) {
-	        String u = memento.getString(IBrowserConstants.MEMENTO_URL);
-	        if (u != null) {
-	            initialUrl = u;
-	        }
-        }
-    }
-    
-    public void saveState(IMemento memento) {
-        memento.putString(IBrowserConstants.MEMENTO_URL, browser.getUrl());
-    }
-    
-	public void createPartControl(Composite parent) {
-		browser = createBrowser(parent, getViewSite().getActionBars());
-		browser.setUrl(initialUrl);
-	}
-
-	public void setFocus() {
-		if (browser != null && !browser.isDisposed()) {
-			browser.setFocus();
-		}
-	}
-	
-	private Browser createBrowser(Composite parent, final IActionBars actionBars) {
-		
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		parent.setLayout(gridLayout);
-		
-		Label labelAddress = new Label(parent, SWT.NONE);
-		labelAddress.setText("A&ddress");
-		
-		location = new Text(parent, SWT.BORDER);
-		GridData data = new GridData();
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.grabExcessHorizontalSpace = true;
-		location.setLayoutData(data);
-
-		browser = new Browser(parent, SWT.NONE);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		data.grabExcessHorizontalSpace = true;
-		data.grabExcessVerticalSpace = true;
-		browser.setLayoutData(data);
-
-		browser.addProgressListener(new ProgressAdapter() {
-			IProgressMonitor monitor = actionBars.getStatusLineManager().getProgressMonitor();
-			boolean working = false;
-			int workedSoFar;
-			public void changed(ProgressEvent event) {
-				if (DEBUG) {
-					System.out.println("changed: " + event.current + "/" + event.total);
-				}
-				if (event.total == 0) return;
-				if (!working) {
-					if (event.current == event.total) return;
-					monitor.beginTask("", event.total); //$NON-NLS-1$
-					workedSoFar = 0;
-					working = true;
-				}
-				monitor.worked(event.current - workedSoFar);
-				workedSoFar = event.current;
-			}
-			public void completed(ProgressEvent event) {
-				if (DEBUG) {
-					System.out.println("completed: " + event.current + "/" + event.total);
-				}
-				monitor.done();
-				working = false;
-			}
-		});
-		browser.addStatusTextListener(new StatusTextListener() {
-			IStatusLineManager status = actionBars.getStatusLineManager(); 
-			public void changed(StatusTextEvent event) {
-				if (DEBUG) {
-					System.out.println("status: " + event.text);
-				}
-				status.setMessage(event.text);
-			}
-		});
-		browser.addLocationListener(new LocationAdapter() {
-			public void changed(LocationEvent event) {
-			    if (event.top)
-			        location.setText(event.location);
-			}
-		});
-		browser.addTitleListener(new TitleListener() {
-            public void changed(TitleEvent event) {
-                setPartName(event.title);
-            }
-        });
-        browser.addOpenWindowListener(new OpenWindowListener() {
-            public void open(WindowEvent event) {
-                BrowserView.this.openWindow(event);
-            }
-        });
-        browser.addCloseWindowListener(new CloseWindowListener() {
-            public void close(WindowEvent event) {
-                BrowserView.this.close();
-            }
-        });
-		location.addSelectionListener(new SelectionAdapter() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				browser.setUrl(location.getText());
-			}
-		});
-		
-		// Hook the navigation actons as handlers for the retargetable actions
-		// defined in BrowserActionBuilder.
-		actionBars.setGlobalActionHandler("back", backAction); //$NON-NLS-1$
-		actionBars.setGlobalActionHandler("forward", forwardAction); //$NON-NLS-1$
-		actionBars.setGlobalActionHandler("stop", stopAction); //$NON-NLS-1$
-		actionBars.setGlobalActionHandler("refresh", refreshAction); //$NON-NLS-1$
-		
-		// Register the easter egg action with the key binding service,
-		// allowing it to be invoked directly via keypress, 
-		// without requiring the action to be visible in the UI.
-		// Note that the address field needs to have focus for this to work, 
-		// or any control other than the browser widget, due to 
-		// <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=69919">bug 69919</a>.
-		getViewSite().getKeyBindingService().registerAction(easterEggAction);
-		return browser;
-	}
-
-    /**
-     * Opens a new browser window.
-     * 
-     * @param event the open window event
-     */
-    private void openWindow(WindowEvent event) {
-        try {
-            IWorkbench workbench = getSite().getWorkbenchWindow().getWorkbench();
-            IWorkbenchWindow window = workbench.openWorkbenchWindow(IBrowserConstants.BROWSER_PERSPECTIVE_ID, null);
-            Shell shell = window.getShell();
-            if (event.location != null)
-                shell.setLocation(event.location);
-            if (event.size != null)
-                shell.setLocation(event.size);
-            BrowserView view = findBrowser(window);
-            Assert.isNotNull(view);
-            event.browser = view.browser;
-        } catch (WorkbenchException e) {
-            BrowserPlugin.getDefault().log(e);
-        }
-    }
-    
-    /**
-     * Closes this browser view.
-     */
-    private void close() {
-        getSite().getPage().hideView(this);
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
deleted file mode 100644
index 7d24a8a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/BrowserWindowAdvisor.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * Configures the browser window using the given window configurer.
- * 
- * @since 3.1
- */
-public class BrowserWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    /**
-     * Creates a new browser window advisor.
-     * 
-     * @param configurer the window configurer
-     */
-    public BrowserWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor
-     */
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(800, 600));
-        
-        // Default window title is the product name, so don't need to set it
-        // explicitly anymore.
-//      configurer.setTitle("Browser Example");
-        
-//      configurer.setShowFastViewBars(true);
-    }
-
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchWindowAdvisor#createActionBarAdvisor(org.eclipse.ui.application.IActionBarConfigurer)
-     */
-    public ActionBarAdvisor createActionBarAdvisor(
-            IActionBarConfigurer actionBarConfigurer) {
-        return new BrowserActionBarAdvisor(actionBarConfigurer);
-    }
-    
-//  Uncomment the code below for a custom window layout
-      public void createWindowContents(Shell shell) {
-          IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-          Menu menuBar = configurer.createMenuBar();
-          shell.setMenuBar(menuBar);
-          
-          GridLayout shellLayout = new GridLayout();
-          shellLayout.marginWidth = 0;
-          shellLayout.marginHeight = 0;
-          shellLayout.verticalSpacing = 0;
-          shell.setLayout(shellLayout);
-    
-          if (!"carbon".equals(SWT.getPlatform())) { //$NON-NLS-1$
-              Label sep1 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-              sep1.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-          }
-          Control coolBar = configurer.createCoolBarControl(shell);
-          coolBar.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-    
-          Label sep2 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-          sep2.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-          
-          Control pageComposite = configurer.createPageComposite(shell);
-          pageComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
-    
-          Label sep3 = new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL);
-          sep3.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-          Control statusLine = configurer.createStatusLineControl(shell);
-          statusLine.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-          shell.layout(true);
-      }
-            
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
deleted file mode 100644
index f1d3687..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/HistoryView.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Mockup of a browser history view.
- * For now, it's just the sample view generated by PDE.
- */
-public class HistoryView extends ViewPart implements ISecondaryPart {
-	private TreeViewer viewer;
-	private DrillDownAdapter drillDownAdapter;
-	private Action action1;
-	private Action action2;
-	private Action doubleClickAction;
-
-	/*
-	 * The content provider class is responsible for
-	 * providing objects to the view. It can wrap
-	 * existing objects in adapters or simply return
-	 * objects as-is. These objects may be sensitive
-	 * to the current input of the view, or ignore
-	 * it and always show the same content 
-	 * (like Task List, for example).
-	 */
-	 
-	class TreeObject implements IAdaptable {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-		public Object getAdapter(Class key) {
-			return null;
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject [] getChildren() {
-			return (TreeObject [])children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-		private TreeParent invisibleRoot;
-
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-		public void dispose() {
-		}
-		public Object[] getElements(Object parent) {
-			if (parent.equals(getViewSite())) {
-				if (invisibleRoot==null) initialize();
-				return getChildren(invisibleRoot);
-			}
-			return getChildren(parent);
-		}
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-		public Object [] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-		public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-/*
- * We will set up a dummy model to initialize tree heararchy.
- * In a real code, you will connect to a real model and
- * expose its hierarchy.
- */
-		private void initialize() {
-			TreeObject to1 = new TreeObject("Leaf 1");
-			TreeObject to2 = new TreeObject("Leaf 2");
-			TreeObject to3 = new TreeObject("Leaf 3");
-			TreeParent p1 = new TreeParent("Parent 1");
-			p1.addChild(to1);
-			p1.addChild(to2);
-			p1.addChild(to3);
-			
-			TreeObject to4 = new TreeObject("Leaf 4");
-			TreeParent p2 = new TreeParent("Parent 2");
-			p2.addChild(to4);
-			
-			TreeParent root = new TreeParent("Root");
-			root.addChild(p1);
-			root.addChild(p2);
-			
-			invisibleRoot = new TreeParent("");
-			invisibleRoot.addChild(root);
-		}
-	}
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public HistoryView() {
-	}
-
-	/**
-	 * This is a callback that will allow us
-	 * to create the viewer and initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		drillDownAdapter = new DrillDownAdapter(viewer);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-		makeActions();
-		hookContextMenu();
-		hookDoubleClickAction();
-	}
-
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				HistoryView.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-
-
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(action1);
-		manager.add(action2);
-		manager.add(new Separator());
-		drillDownAdapter.addNavigationActions(manager);
-		// Other plug-ins can contribute there actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-
-	private void makeActions() {
-		action1 = new Action() {
-			public void run() {
-				showMessage("Action 1 executed");
-			}
-		};
-		action1.setText("Action 1");
-		action1.setToolTipText("Action 1 tooltip");
-		action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-			getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		
-		action2 = new Action() {
-			public void run() {
-				showMessage("Action 2 executed");
-			}
-		};
-		action2.setText("Action 2");
-		action2.setToolTipText("Action 2 tooltip");
-		action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-				getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		doubleClickAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				Object obj = ((IStructuredSelection)selection).getFirstElement();
-				showMessage("Double-click detected on "+obj.toString());
-			}
-		};
-	}
-
-	private void hookDoubleClickAction() {
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				doubleClickAction.run();
-			}
-		});
-	}
-	private void showMessage(String message) {
-		MessageDialog.openInformation(
-			viewer.getControl().getShell(),
-			"History",
-			message);
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java
deleted file mode 100644
index 9b6513a..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/IBrowserConstants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.rcp.browser;
-
-/**
- * Interface defining constants for use in the browser example.
- */
-public interface IBrowserConstants {
-
-    /**
-     * ID of the RCP Browser Example plug-in.
-     */
-    public static final String PLUGIN_ID = "org.eclipse.ui.examples.rcp.browser"; //$NON-NLS-1$
-    
-    /**
-     * ID of the Browser perspective.
-     */
-    public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective"; //$NON-NLS-1$
-    
-    /**
-     * ID of the Browser view.
-     */
-    public static final String BROWSER_VIEW_ID = PLUGIN_ID + ".browserView"; //$NON-NLS-1$
-
-    /**
-     * ID of the History view.
-     */
-    public static final String HISTORY_VIEW_ID = PLUGIN_ID + ".historyView"; //$NON-NLS-1$
-
-    /**
-     * Common prefix for command ids.
-     */
-    public static final String COMMAND_PREFIX = PLUGIN_ID + ".commands."; //$NON-NLS-1$
-    
-    /**
-     * Preference key for the home page URL (property is String-valued).
-     */
-    public static final String PREF_HOME_PAGE = "homePage"; //$NON-NLS-1$
-
-    /**
-     * Memento attribute name for the browser URL (attribute is String-valued).
-     */
-    public static final String MEMENTO_URL = "url"; //$NON-NLS-1$
-    
-}
diff --git a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java b/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java
deleted file mode 100644
index 5b828c9..0000000
--- a/examples/org.eclipse.ui.examples.rcp.browser/src/org/eclipse/ui/examples/rcp/browser/ISecondaryPart.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.rcp.browser;
-
-/**
- * Marks a workbench part implementation as being a secondary part.
- * A secondary part is one that exists only to support the browser,
- * and should not be considered when determining whether to close
- * a window whose last browser has been closed.
- */
-public interface ISecondaryPart {
-    // marker interface only; no behaviour
-}
diff --git a/examples/org.eclipse.ui.examples.readmetool/.classpath b/examples/org.eclipse.ui.examples.readmetool/.classpath
deleted file mode 100644
index d0ff700..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse UI Examples Readme Tool"/>
-	<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/examples/org.eclipse.ui.examples.readmetool/.cvsignore b/examples/org.eclipse.ui.examples.readmetool/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/.project b/examples/org.eclipse.ui.examples.readmetool/.project
deleted file mode 100644
index 2b8b328..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.examples.readmetool</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jface.text</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.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/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9febe7f..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:12:13 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 96d5906..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Tue Nov 16 14:11:23 EST 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=0
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
deleted file mode 100644
index 6237be0..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AdaptableList.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * A list of adaptable objects.  This is a generic list that can
- * be used to display an arbitrary set of adaptable objects in the workbench.
- * Also implements the IWorkbenchAdapter interface for simple display
- * and navigation.
- */
-public class AdaptableList implements IWorkbenchAdapter, IAdaptable {
-    protected List children = new ArrayList();
-
-    /**
-     * Creates a new adaptable list with the given children.
-     */
-    public AdaptableList() {
-        // do nothing
-    }
-
-    /**
-     * Creates a new adaptable list with the given children.
-     */
-    public AdaptableList(IAdaptable[] newChildren) {
-        for (int i = 0; i < newChildren.length; i++) {
-            children.add(newChildren[i]);
-        }
-    }
-
-    /**
-     * Adds all the adaptable objects in the given enumeration to this list.
-     * Returns this list.
-     */
-    public AdaptableList add(Iterator iterator) {
-        while (iterator.hasNext()) {
-            add((IAdaptable) iterator.next());
-        }
-        return this;
-    }
-
-    /**
-     * Adds the given adaptable object to this list.
-     * Returns this list.
-     */
-    public AdaptableList add(IAdaptable adaptable) {
-        children.add(adaptable);
-        return this;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        return null;
-    }
-
-    /**
-     * Returns the elements in this list.
-     */
-    public Object[] getChildren() {
-        return children.toArray();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public Object[] getChildren(Object o) {
-        return children.toArray();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public String getLabel(Object object) {
-        return object == null ? "" : object.toString(); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public Object getParent(Object object) {
-        return null;
-    }
-
-    /**
-     * Removes the given adaptable object from this list.
-     */
-    public void remove(IAdaptable adaptable) {
-        children.remove(adaptable);
-    }
-
-    /**
-     * Returns the number of items in the list
-     */
-    public int size() {
-        return children.size();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
deleted file mode 100644
index 1484f0c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddReadmeMarkerAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74528)
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.osgi.framework.Bundle;
-
-/**
- * Action for creating a readme marker with a specfic id 
- * attribute value.
- */
-public class AddReadmeMarkerAction extends Action {
-    private ITextEditor textEditor;
-
-    private Object[][] customAttributes;
-
-    private String message;
-
-    private final static String MARKER_TYPE = "org.eclipse.ui.examples.readmetool.readmemarker"; //$NON-NLS-1$
-
-    /**
-     * Creates a new action for the given text editor.
-     *
-     * @param editor the text editor
-     * @param label the label for the action
-     * @param attributes the custom attributes for this marker
-     * @param message the message for the marker
-     */
-    public AddReadmeMarkerAction(ITextEditor editor, String label,
-            Object[][] attributes, String message) {
-        textEditor = editor;
-        setText(label);
-        this.customAttributes = attributes;
-        this.message = message;
-    }
-
-    /*
-     * @see IAction#run()
-     */
-    public void run() {
-        Map attributes = new HashMap(11);
-
-        ITextSelection selection = (ITextSelection) textEditor
-                .getSelectionProvider().getSelection();
-        if (!selection.isEmpty()) {
-
-            int start = selection.getOffset();
-            int length = selection.getLength();
-
-            if (length < 0) {
-                length = -length;
-                start -= length;
-            }
-
-            MarkerUtilities.setCharStart(attributes, start);
-            MarkerUtilities.setCharEnd(attributes, start + length);
-
-            // marker line numbers are 1-based
-            int line = selection.getStartLine();
-            MarkerUtilities.setLineNumber(attributes, line == -1 ? -1
-                    : line + 1);
-
-            // set custom attribute values
-            for (int i = 0; i < customAttributes.length; i++) {
-                attributes.put(customAttributes[i][0], customAttributes[i][1]);
-            }
-
-            MarkerUtilities.setMessage(attributes, message);
-        }
-
-        try {
-            MarkerUtilities
-                    .createMarker(getResource(), attributes, MARKER_TYPE);
-        } catch (CoreException x) {
-            Bundle bundle = ReadmePlugin.getDefault().getBundle();
-            Platform.getLog(bundle).log(x.getStatus());
-
-            Shell shell = textEditor.getSite().getShell();
-            String title = MessageUtil
-                    .getString("Add_readme_marker_error_title"); //$NON-NLS-1$
-            String msg = MessageUtil
-                    .getString("Add_readme_marker_error_message"); //$NON-NLS-1$
-
-            ErrorDialog.openError(shell, title, msg, x.getStatus());
-        }
-    }
-
-    /** 
-     * Returns the resource on which to create the marker, 
-     * or <code>null</code> if there is no applicable resource. This
-     * queries the editor's input using <code>getAdapter(IResource.class)</code>.
-     *
-     * @return the resource to which to attach the newly created marker
-     */
-    protected IResource getResource() {
-        IEditorInput input = textEditor.getEditorInput();
-        return (IResource) ((IAdaptable) input).getAdapter(IResource.class);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
deleted file mode 100644
index 214a706..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/AddSentenceResolution.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * A resolution which inserts a sentence into the readme file 
- */
-public class AddSentenceResolution implements IMarkerResolution {
-    /* (non-Javadoc)
-     * Method declared on IMarkerResolution.
-     */
-    public String getLabel() {
-        return MessageUtil.getString("Add_Sentence"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IMarkerResolution.
-     */
-    public void run(IMarker marker) {
-        // Se if there is an open editor on the file containing the marker
-        IWorkbenchWindow w = PlatformUI.getWorkbench()
-                .getActiveWorkbenchWindow();
-        if (w == null)
-            return;
-        IWorkbenchPage page = w.getActivePage();
-        if (page == null)
-            return;
-        IFileEditorInput input = new FileEditorInput((IFile) marker
-                .getResource());
-        IEditorPart editorPart = page.findEditor(input);
-
-        if (editorPart == null) {
-            // open an editor
-            try {
-                editorPart = IDE.openEditor(page, (IFile) marker.getResource(),
-                        true);
-            } catch (PartInitException e) {
-                MessageDialog.openError(w.getShell(), MessageUtil
-                        .getString("Resolution_Error"), //$NON-NLS-1$
-                        MessageUtil.getString("Unable_to_open_file_editor")); //$NON-NLS-1$
-            }
-        }
-        if (editorPart == null || !(editorPart instanceof ReadmeEditor))
-            return;
-        // insert the sentence
-        ReadmeEditor editor = (ReadmeEditor) editorPart;
-        IDocument doc = editor.getDocumentProvider().getDocument(
-                editor.getEditorInput());
-        String s = MessageUtil.getString("Simple_sentence"); //$NON-NLS-1$
-        try {
-            doc.replace(marker.getAttribute(IMarker.CHAR_START, -1), 0, s);
-        } catch (BadLocationException e) {
-            // ignore
-            return;
-        }
-        // delete the marker
-        try {
-            marker.delete();
-        } catch (CoreException e) {
-            e.printStackTrace();
-            // ignore
-        }
-
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.java
deleted file mode 100644
index 5954f42..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DefaultSectionsParser.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.ui.examples.readmetool;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * This class is a simple parser implementing the IReadmeFileParser
- * interface. It parses a Readme file into sections based on the
- * existence of numbered section tags in the input. A line beginning
- * with a number followed by a dot will be taken as a section indicator
- * (for example, 1., 2., or 12.). 
- * As well, a line beginning with a subsection-style series of numbers
- * will also be taken as a section indicator, and can be used to 
- * indicate subsections (for example, 1.1, or 1.1.12).
- */
-public class DefaultSectionsParser implements IReadmeFileParser {
-    /**
-     * Returns the mark element that is the logical parent
-     * of the given mark number.  Each dot in a mark number
-     * represents a parent-child separation.  For example,
-     * the parent of 1.2 is 1, the parent of 1.4.1 is 1.4.
-     * Returns null if there is no appropriate parent.
-     */
-    protected IAdaptable getParent(Hashtable toc, String number) {
-        int lastDot = number.lastIndexOf('.');
-        if (lastDot < 0)
-            return null;
-        String parentNumber = number.substring(0, lastDot);
-        return (IAdaptable) toc.get(parentNumber);
-    }
-
-    /**
-     * Returns a string containing the contents of the given
-     * file.  Returns an empty string if there were any errors
-     * reading the file.
-     */
-    protected String getText(IFile file) {
-        try {
-            InputStream in = file.getContents();
-            ByteArrayOutputStream out = new ByteArrayOutputStream();
-            byte[] buf = new byte[1024];
-            int read = in.read(buf);
-            while (read > 0) {
-                out.write(buf, 0, read);
-                read = in.read(buf);
-            }
-            return out.toString();
-        } catch (CoreException e) {
-            // do nothing
-        } catch (IOException e) {
-            // do nothing
-        }
-        return ""; //$NON-NLS-1$
-    }
-
-    /**
-     * Parses the input given by the argument.
-     *
-     * @param file  the element containing the input text
-     * @return an element collection representing the parsed input
-     */
-    public MarkElement[] parse(IFile file) {
-        Hashtable markTable = new Hashtable(40);
-        Vector topLevel = new Vector();
-        String s = getText(file);
-        int start = 0;
-        int end = -1;
-        int lineno = 0;
-        int lastlineno = 0;
-        MarkElement lastme = null;
-        int ix;
-
-        // parse content for headings
-        ix = s.indexOf('\n', start);
-        while (ix != -1) {
-            start = end + 1;
-            end = ix = s.indexOf('\n', start);
-            lineno++;
-            if (ix != -1) {
-                // skip blanks
-                while (s.charAt(start) == ' ' || s.charAt(start) == '\t') {
-                    start++;
-                }
-                if (Character.isDigit(s.charAt(start))) {
-                    if (lastme != null) {
-                        lastme.setNumberOfLines(lineno - lastlineno - 1);
-                    }
-                    lastlineno = lineno;
-                    String markName = parseHeading(s, start, end);
-
-                    //get the parent mark, if any.
-                    String markNumber = parseNumber(markName);
-                    IAdaptable parent = getParent(markTable, markNumber);
-                    if (parent == null)
-                        parent = file;
-
-                    MarkElement me = new MarkElement(parent, markName, start,
-                            end - start);
-                    lastme = me;
-
-                    markTable.put(markNumber, me);
-                    if (parent == file) {
-                        topLevel.add(me);
-                    }
-                }
-            }
-        }
-        if (lastme != null) {
-            // set the number of lines for the last section
-            lastme.setNumberOfLines(lineno - lastlineno - 1);
-        }
-        MarkElement[] results = new MarkElement[topLevel.size()];
-        topLevel.copyInto(results);
-        return results;
-    }
-
-    /**
-     * Creates a section name from the buffer and trims trailing
-     * space characters.
-     *
-     * @param buffer  the string from which to create the section name
-     * @param start  the start index
-     * @param end  the end index
-     * @return a section name
-     */
-    private String parseHeading(String buffer, int start, int end) {
-        while (Character.isWhitespace(buffer.charAt(end - 1)) && end > start) {
-            end--;
-        }
-        return buffer.substring(start, end);
-    }
-
-    /**
-     * Returns the number for this heading.  A heading consists
-     * of a number (an arbitrary string of numbers and dots), followed by
-     * arbitrary text.
-     */
-    protected String parseNumber(String heading) {
-        int start = 0;
-        int end = heading.length();
-        char c;
-        do {
-            c = heading.charAt(start++);
-        } while ((c == '.' || Character.isDigit(c)) && start < end);
-
-        //disregard trailing dots
-        while (heading.charAt(start - 1) == '.' && start > 0) {
-            start--;
-        }
-        return heading.substring(0, start);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
deleted file mode 100644
index 13dcb8d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/DirtyStateContribution.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.jface.action.ControlContribution;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPropertyListener;
-
-/**
- * This class demonstrates the contribution of a custom control to the 
- * status line for the readme editor.  The control shows the
- * dirty status of the editor.
- */
-public class DirtyStateContribution extends ControlContribution implements
-        IPropertyListener {
-    private Composite composite;
-
-    private Label label;
-
-    private IEditorPart activeEditor;
-
-    /**
-     * Creates a new DirtyStateContribution.
-     */
-    protected DirtyStateContribution() {
-        super("DirtyState"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ControlContribution
-     */
-    protected Control createControl(Composite parent) {
-        // If the composite is good just return it.
-        if (composite != null && !composite.isDisposed())
-            return composite;
-
-        // Create composite for border.
-        composite = new Composite(parent, SWT.BORDER);
-        composite.setData(this);
-
-        // Create label inside composite.	
-        label = new Label(composite, SWT.NONE);
-        label.setSize(80, 15);
-
-        updateState();
-        return composite;
-    }
-
-    /**
-     * Called when an editor is activated.
-     *
-     * @see ReadmeEditorActionBarContributor#setActiveEditor(IEditorPart)
-     */
-    public void editorChanged(IEditorPart part) {
-        if (activeEditor != null) {
-            activeEditor.removePropertyListener(this);
-        }
-        activeEditor = part;
-        if (activeEditor != null) {
-            activeEditor.addPropertyListener(this);
-        }
-        updateState();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertyListener
-     */
-    public void propertyChanged(Object source, int propID) {
-        if (source instanceof IEditorPart)
-            updateState();
-    }
-
-    /**
-     * Updates the state of the label.
-     */
-    private void updateState() {
-        if (label == null || label.isDisposed())
-            return;
-
-        boolean saveNeeded = false;
-        if (activeEditor != null)
-            saveNeeded = activeEditor.isDirty();
-        if (saveNeeded)
-            label.setText(MessageUtil.getString("Save_Needed")); //$NON-NLS-1$
-        else
-            label.setText(MessageUtil.getString("Clean")); //$NON-NLS-1$
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
deleted file mode 100644
index 808afef..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/EditorActionDelegate.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * This class is used to demonstrate editor action extensions.
- * An extension should be defined in the readme plugin.xml.
- */
-public class EditorActionDelegate implements IEditorActionDelegate {
-    private IEditorPart editor;
-
-    /**
-     * Creates a new EditorActionDelegate.
-     */
-    public EditorActionDelegate() {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IActionDelegate
-     */
-    public void run(IAction action) {
-        MessageDialog.openInformation(editor.getSite().getShell(), MessageUtil
-                .getString("Readme_Editor"), //$NON-NLS-1$
-                MessageUtil.getString("Editor_Action_executed")); //$NON-NLS-1$
-    }
-
-    /** 
-     * The <code>EditorActionDelegate</code> implementation of this
-     * <code>IActionDelegate</code> method does nothing.
-     *
-     * Selection in the desktop has changed. Plugin provider
-     * can use it to change the availability of the action
-     * or to modify other presentation properties.
-     *
-     * <p>Action delegate cannot be notified about
-     * selection changes before it is loaded. For that reason,
-     * control of action's enable state should also be performed
-     * through simple XML rules defined for the extension
-     * point. These rules allow enable state control before
-     * the delegate has been loaded.</p>
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        // do nothing
-    }
-
-    /** 
-     * The <code>EditorActionDelegate</code> implementation of this
-     * <code>IEditorActionDelegate</code> method remembers the active editor.
-     *
-     * The matching editor has been activated. Notification
-     * guarantees that only editors that match the type for which 
-     * this action has been registered will be tracked.
-     *
-     * @param action action proxy that represents this delegate in the desktop
-     * @param editor the matching editor that has been activated
-     */
-    public void setActiveEditor(IAction action, IEditorPart editor) {
-        this.editor = editor;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
deleted file mode 100644
index 65e9720..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeConstants.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-/**
- * This interface contains constants for use only within the
- * Readme example.
- */
-public interface IReadmeConstants {
-    public static final String PLUGIN_ID = "org.eclipse.ui.examples.readmetool"; //$NON-NLS-1$
-
-    public static final String PREFIX = PLUGIN_ID + "."; //$NON-NLS-1$
-
-    public static final String P_CONTENT_OUTLINE = PREFIX + "content_outline"; //$NON-NLS-1$
-
-    public static final String P_SECTIONS = PREFIX + "sections"; //$NON-NLS-1$
-
-    public static final String EXTENSION = "readme"; //$NON-NLS-1$
-
-    public static final String TAG_PARSER = "parser"; //$NON-NLS-1$
-
-    public static final String ATT_CLASS = "class"; //$NON-NLS-1$
-
-    public static final String PP_SECTION_PARSER = "sectionParser"; //$NON-NLS-1$
-
-    // Global actions
-    public static final String RETARGET2 = PREFIX + "retarget2"; //$NON-NLS-1$
-
-    public static final String LABELRETARGET3 = PREFIX + "labelretarget3"; //$NON-NLS-1$
-
-    public static final String ACTION_SET_RETARGET4 = "org_eclipse_ui_examples_readmetool_readmeRetargetAction"; //$NON-NLS-1$
-
-    public static final String ACTION_SET_LABELRETARGET5 = "org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction"; //$NON-NLS-1$
-
-    // Preference constants
-    public static final String PRE_CHECK1 = PREFIX + "check1"; //$NON-NLS-1$
-
-    public static final String PRE_CHECK2 = PREFIX + "check2"; //$NON-NLS-1$
-
-    public static final String PRE_CHECK3 = PREFIX + "check3"; //$NON-NLS-1$
-
-    public static final String PRE_RADIO_CHOICE = PREFIX + "radio_choice"; //$NON-NLS-1$
-
-    public static final String PRE_TEXT = PREFIX + "text"; //$NON-NLS-1$
-
-    // Help context ids
-    public static final String EDITOR_ACTION1_CONTEXT = PREFIX
-            + "editor_action1_context"; //$NON-NLS-1$
-
-    public static final String EDITOR_ACTION2_CONTEXT = PREFIX
-            + "editor_action2_context"; //$NON-NLS-1$
-
-    public static final String EDITOR_ACTION3_CONTEXT = PREFIX
-            + "editor_action3_context"; //$NON-NLS-1$
-
-    public static final String SECTIONS_VIEW_CONTEXT = PREFIX
-            + "sections_view_context"; //$NON-NLS-1$
-
-    public static final String PREFERENCE_PAGE_CONTEXT = PREFIX
-            + "preference_page_context"; //$NON-NLS-1$
-
-    public static final String PROPERTY_PAGE_CONTEXT = PREFIX
-            + "property_page_context"; //$NON-NLS-1$
-
-    public static final String PROPERTY_PAGE2_CONTEXT = PREFIX
-            + "property_page2_context"; //$NON-NLS-1$
-
-    public static final String EDITOR_CONTEXT = PREFIX + "editor_context"; //$NON-NLS-1$
-
-    public static final String SECTIONS_DIALOG_CONTEXT = PREFIX
-            + "sections_dialog_context"; //$NON-NLS-1$
-
-    public static final String CONTENT_OUTLINE_PAGE_CONTEXT = PREFIX
-            + "content_outline_page_context"; //$NON-NLS-1$
-
-    public static final String CREATION_WIZARD_PAGE_CONTEXT = PREFIX
-            + "creation_wizard_page_context"; //$NON-NLS-1$
-
-    // Marker attributes
-    public static final String MARKER_ATT_ID = PREFIX + "id"; //$NON-NLS-1$
-
-    public static final String MARKER_ATT_LEVEL = PREFIX + "level"; //$NON-NLS-1$
-
-    public static final String MARKER_ATT_DEPT = PREFIX + "department"; //$NON-NLS-1$
-
-    public static final String MARKER_ATT_CODE = PREFIX + "code"; //$NON-NLS-1$
-
-    public static final String MARKER_ATT_LANG = PREFIX + "language"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
deleted file mode 100644
index 334ec93..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/IReadmeFileParser.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IFile;
-
-/**
- * This interface is used as API for the Readme parser extension 
- * point. The default implementation simply looks for lines
- * in the file that start with a number and assumes that they
- * represent sections. Tools are allowed to replace this 
- * algorithm by defining an extension and supplying an 
- * alternative that implements this interface.
- */
-public interface IReadmeFileParser {
-    /**
-     * Parses the contents of the provided file
-     * and generates a collection of sections.
-     */
-    public MarkElement[] parse(IFile readmeFile);
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
deleted file mode 100644
index e81058f..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElement.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.views.properties.IPropertySource;
-
-/**
- * This class represents a marked location in the Readme
- * file text.  
- *
- * TIP: By implementing the <code>IWorkbenchAdapter</code> interface,
- * we can easily add objects of this type to viewers and parts in
- * the workbench.  When a viewer contains <code>IWorkbenchAdapter</code>,
- * the generic <code>WorkbenchContentProvider</code> and
- * <code>WorkbenchLabelProvider</code> can be used to provide
- * navigation and display for that viewer.
- */
-public class MarkElement implements IWorkbenchAdapter, IAdaptable {
-    private String headingName;
-
-    private IAdaptable parent;
-
-    private int offset;
-
-    private int numberOfLines;
-
-    private int length;
-
-    private Vector children;
-
-    /**
-     * Creates a new MarkElement and stores parent element and
-     * location in the text.
-     *
-     * @param parent  the parent of this element
-     * @param heading text corresponding to the heading
-     * @param offset  the offset into the Readme text
-     * @param length  the length of the element
-     */
-    public MarkElement(IAdaptable parent, String heading, int offset, int length) {
-        this.parent = parent;
-        if (parent instanceof MarkElement) {
-            ((MarkElement) parent).addChild(this);
-        }
-        this.headingName = heading;
-        this.offset = offset;
-        this.length = length;
-    }
-
-    /**
-     * Adds a child to this element
-     */
-    private void addChild(MarkElement child) {
-        if (children == null) {
-            children = new Vector();
-        }
-        children.add(child);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IAdaptable
-     */
-    public Object getAdapter(Class adapter) {
-        if (adapter == IWorkbenchAdapter.class)
-            return this;
-        if (adapter == IPropertySource.class)
-            return new MarkElementProperties(this);
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public Object[] getChildren(Object object) {
-        if (children != null) {
-            return children.toArray();
-        }
-        return new Object[0];
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public ImageDescriptor getImageDescriptor(Object object) {
-        IWorkbenchAdapter parentElement = (IWorkbenchAdapter) parent
-                .getAdapter(IWorkbenchAdapter.class);
-        if (parentElement != null) {
-            return parentElement.getImageDescriptor(object);
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public String getLabel(Object o) {
-        return headingName;
-    }
-
-    /**
-     * Returns the number of characters in this section.
-     */
-    public int getLength() {
-        return length;
-    }
-
-    /**
-     * Returns the number of lines in the element.
-     *
-     * @return the number of lines in the element
-     */
-    public int getNumberOfLines() {
-        return numberOfLines;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchAdapter
-     */
-    public Object getParent(Object o) {
-        return null;
-    }
-
-    /**
-     * Returns the offset of this section in the file.
-     */
-    public int getStart() {
-        return offset;
-    }
-
-    /**
-     * Sets the number of lines in the element
-     *
-     * @param newNumberOfLines  the number of lines in the element
-     */
-    public void setNumberOfLines(int newNumberOfLines) {
-        numberOfLines = newNumberOfLines;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
deleted file mode 100644
index 3e9fe2d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MarkElementProperties.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.ui.views.properties.PropertyDescriptor;
-
-/**
- * This class encapsulates property sheet properties
- * for MarkElement.  This will display properties for
- * the MarkElement when selected in the readme editor's
- * content outline.
- */
-public class MarkElementProperties implements IPropertySource {
-    protected MarkElement element;
-
-    protected static final String PROPERTY_LINECOUNT = "lineno"; //$NON-NLS-1$
-
-    protected static final String PROPERTY_START = "start"; //$NON-NLS-1$
-
-    protected static final String PROPERTY_LENGTH = "length"; //$NON-NLS-1$
-
-    /**
-     * Creates a new MarkElementProperties.
-     *
-     * @param element  the element whose properties this instance represents
-     */
-    public MarkElementProperties(MarkElement element) {
-        super();
-        this.element = element;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getEditableValue() {
-        return this;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public IPropertyDescriptor[] getPropertyDescriptors() {
-        // Create the property vector.
-        IPropertyDescriptor[] propertyDescriptors = new IPropertyDescriptor[3];
-
-        // Add each property supported.
-        PropertyDescriptor descriptor;
-
-        descriptor = new PropertyDescriptor(PROPERTY_LINECOUNT, MessageUtil
-                .getString("Line_count")); //$NON-NLS-1$
-        propertyDescriptors[0] = descriptor;
-        descriptor = new PropertyDescriptor(PROPERTY_START, MessageUtil
-                .getString("Title_start")); //$NON-NLS-1$
-        propertyDescriptors[1] = descriptor;
-        descriptor = new PropertyDescriptor(PROPERTY_LENGTH, MessageUtil
-                .getString("Title_length")); //$NON-NLS-1$
-        propertyDescriptors[2] = descriptor;
-
-        // Return it.
-        return propertyDescriptors;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public Object getPropertyValue(Object name) {
-        if (name.equals(PROPERTY_LINECOUNT))
-            return new Integer(element.getNumberOfLines());
-        if (name.equals(PROPERTY_START))
-            return new Integer(element.getStart());
-        if (name.equals(PROPERTY_LENGTH))
-            return new Integer(element.getLength());
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public boolean isPropertySet(Object property) {
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void resetPropertyValue(Object property) {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IPropertySource
-     */
-    public void setPropertyValue(Object name, Object value) {
-        // do nothing
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.java
deleted file mode 100644
index 957f174..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/MessageUtil.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.ui.examples.readmetool;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * Utility class which helps with managing messages.
- */
-/* package */class MessageUtil {
-
-    private static final String RESOURCE_BUNDLE = "org.eclipse.ui.examples.readmetool.messages";//$NON-NLS-1$
-
-    private static ResourceBundle fgResourceBundle = ResourceBundle
-            .getBundle(RESOURCE_BUNDLE);
-
-    private MessageUtil() {
-        // prevent instantiation of class
-    }
-
-    /**
-     * Returns the formatted message for the given key in
-     * the resource bundle. 
-     *
-     * @param key the resource name
-     * @param args the message arguments
-     * @return the string
-     */
-    public static String format(String key, Object[] args) {
-        return MessageFormat.format(getString(key), args);
-    }
-
-    /**
-     * Returns the resource object with the given key in
-     * the resource bundle. If there isn't any value under
-     * the given key, the key is returned, surrounded by '!'s.
-     *
-     * @param key the resource name
-     * @return the string
-     */
-    public static String getString(String key) {
-        try {
-            return fgResourceBundle.getString(key);
-        } catch (MissingResourceException e) {
-            return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-        }
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.java
deleted file mode 100644
index ac877fa..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/PopupMenuActionDelegate.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.ui.examples.readmetool;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Action delegate for handling popup menu actions on a readme file.
- */
-public class PopupMenuActionDelegate implements IObjectActionDelegate {
-
-    private IWorkbenchPart part;
-
-    /** (non-Javadoc)
-     * Method declared on IDropActionDelegate
-     */
-    public void run(IAction action) {
-        MessageDialog.openInformation(this.part.getSite().getShell(),
-                MessageUtil.getString("Readme_Example"), //$NON-NLS-1$
-                MessageUtil.getString("Popup_Menu_Action_executed")); //$NON-NLS-1$
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IActionDelegate
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        //Ignored for this example
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IObjectActionDelegate
-     */
-    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-        this.part = targetPart;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
deleted file mode 100644
index 01c5b81..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlineDragListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.part.PluginTransferData;
-
-/**
- * A drag listener for the readme editor's content outline page.
- * Allows dragging of content segments into views that support
- * the <code>TextTransfer</code> or <code>PluginTransfer</code> transfer types.
- */
-public class ReadmeContentOutlineDragListener extends DragSourceAdapter {
-    private ReadmeContentOutlinePage page;
-
-    /**
-     * Creates a new drag listener for the given page.
-     */
-    public ReadmeContentOutlineDragListener(ReadmeContentOutlinePage page) {
-        this.page = page;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on DragSourceListener
-     */
-    public void dragSetData(DragSourceEvent event) {
-        if (PluginTransfer.getInstance().isSupportedType(event.dataType)) {
-            byte[] segmentData = getSegmentText().getBytes();
-            event.data = new PluginTransferData(ReadmeDropActionDelegate.ID,
-                    segmentData);
-            return;
-        }
-        if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-            event.data = getSegmentText();
-            return;
-        }
-    }
-
-    /**
-     * Returns the text of the currently selected readme segment.
-     */
-    private String getSegmentText() {
-        StringBuffer result = new StringBuffer();
-        ISelection selection = page.getSelection();
-        if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection) {
-            Object[] selected = ((IStructuredSelection) selection).toArray();
-            result.append("\n"); //$NON-NLS-1$
-            for (int i = 0; i < selected.length; i++) {
-                if (selected[i] instanceof MarkElement) {
-                    result.append(((MarkElement) selected[i])
-                            .getLabel(selected[i]));
-                    result.append("\n"); //$NON-NLS-1$
-                }
-            }
-        }
-        return result.toString();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
deleted file mode 100644
index e0070b9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeContentOutlinePage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-
-/**
- * Content outline page for the readme editor.
- */
-public class ReadmeContentOutlinePage extends ContentOutlinePage {
-    protected IFile input;
-
-    class OutlineAction extends Action {
-        private Shell shell;
-
-        public OutlineAction(String label) {
-            super(label);
-            getTreeViewer().addSelectionChangedListener(
-                    new ISelectionChangedListener() {
-                        public void selectionChanged(SelectionChangedEvent event) {
-                            setEnabled(!event.getSelection().isEmpty());
-                        }
-                    });
-        }
-
-        public void setShell(Shell shell) {
-            this.shell = shell;
-        }
-
-        public void run() {
-            MessageDialog.openInformation(shell, MessageUtil
-                    .getString("Readme_Outline"), //$NON-NLS-1$
-                    MessageUtil.getString("ReadmeOutlineActionExecuted")); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Creates a new ReadmeContentOutlinePage.
-     */
-    public ReadmeContentOutlinePage(IFile input) {
-        super();
-        this.input = input;
-    }
-
-    /**  
-     * Creates the control and registers the popup menu for this page
-     * Menu id "org.eclipse.ui.examples.readmetool.outline"
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-
-        WorkbenchHelp.setHelp(getControl(),
-                IReadmeConstants.CONTENT_OUTLINE_PAGE_CONTEXT);
-
-        TreeViewer viewer = getTreeViewer();
-        viewer.setContentProvider(new WorkbenchContentProvider());
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-        viewer.setInput(getContentOutline(input));
-        initDragAndDrop();
-
-        // Configure the context menu.
-        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-        menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS
-                + "-end")); //$NON-NLS-1$
-
-        Menu menu = menuMgr.createContextMenu(viewer.getTree());
-        viewer.getTree().setMenu(menu);
-        // Be sure to register it so that other plug-ins can add actions.
-        getSite().registerContextMenu(
-                "org.eclipse.ui.examples.readmetool.outline", menuMgr, viewer); //$NON-NLS-1$
-
-        getSite().getActionBars().setGlobalActionHandler(
-                IReadmeConstants.RETARGET2,
-                new OutlineAction(MessageUtil.getString("Outline_Action2"))); //$NON-NLS-1$
-
-        OutlineAction action = new OutlineAction(MessageUtil
-                .getString("Outline_Action3")); //$NON-NLS-1$
-        action.setToolTipText(MessageUtil.getString("Readme_Outline_Action3")); //$NON-NLS-1$
-        getSite().getActionBars().setGlobalActionHandler(
-                IReadmeConstants.LABELRETARGET3, action);
-        action = new OutlineAction(MessageUtil.getString("Outline_Action4")); //$NON-NLS-1$
-        getSite().getActionBars().setGlobalActionHandler(
-                IReadmeConstants.ACTION_SET_RETARGET4, action);
-        action = new OutlineAction(MessageUtil.getString("Outline_Action5")); //$NON-NLS-1$
-        action.setToolTipText(MessageUtil.getString("Readme_Outline_Action5")); //$NON-NLS-1$
-        getSite().getActionBars().setGlobalActionHandler(
-                IReadmeConstants.ACTION_SET_LABELRETARGET5, action);
-    }
-
-    /**
-     * Gets the content outline for a given input element.
-     * Returns the outline (a list of MarkElements), or null
-     * if the outline could not be generated.
-     */
-    private IAdaptable getContentOutline(IAdaptable input) {
-        return ReadmeModelFactory.getInstance().getContentOutline(input);
-    }
-
-    /**
-     * Initializes drag and drop for this content outline page.
-     */
-    private void initDragAndDrop() {
-        int ops = DND.DROP_COPY | DND.DROP_MOVE;
-        Transfer[] transfers = new Transfer[] { TextTransfer.getInstance(),
-                PluginTransfer.getInstance() };
-        getTreeViewer().addDragSupport(ops, transfers,
-                new ReadmeContentOutlineDragListener(this));
-    }
-
-    /**
-     * Forces the page to update its contents.
-     *
-     * @see ReadmeEditor#doSave(IProgressMonitor)
-     */
-    public void update() {
-        getControl().setRedraw(false);
-        getTreeViewer().setInput(getContentOutline(input));
-        getTreeViewer().expandAll();
-        getControl().setRedraw(true);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.java
deleted file mode 100644
index 94dc61a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationPage.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.ui.examples.readmetool;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This class is the only page of the Readme file resource creation wizard.  
- * It subclasses the standard file resource creation page class, 
- * and consequently inherits the file resource creation functionality.
- *
- * This page provides users with the choice of creating sample headings for
- * sections and subsections.  Additionally, the option is presented to open
- * the file immediately for editing after creation.
- */
-public class ReadmeCreationPage extends WizardNewFileCreationPage {
-    private IWorkbench workbench;
-
-    // widgets
-    private Button sectionCheckbox;
-
-    private Button subsectionCheckbox;
-
-    private Button openFileCheckbox;
-
-    // constants
-    private static int nameCounter = 1;
-
-    /**
-     * Creates the page for the readme creation wizard.
-     *
-     * @param workbench  the workbench on which the page should be created
-     * @param selection  the current selection
-     */
-    public ReadmeCreationPage(IWorkbench workbench,
-            IStructuredSelection selection) {
-        super("sampleCreateReadmePage1", selection); //$NON-NLS-1$
-        this.setTitle(MessageUtil.getString("Create_Readme_File")); //$NON-NLS-1$
-        this.setDescription(MessageUtil
-                .getString("Create_a_new_Readme_file_resource")); //$NON-NLS-1$
-        this.workbench = workbench;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IDialogPage.
-     */
-    public void createControl(Composite parent) {
-        // inherit default container and name specification widgets
-        super.createControl(parent);
-        Composite composite = (Composite) getControl();
-
-        WorkbenchHelp.setHelp(composite,
-                IReadmeConstants.CREATION_WIZARD_PAGE_CONTEXT);
-
-        this.setFileName("sample" + nameCounter + ".readme"); //$NON-NLS-1$ //$NON-NLS-2$
-
-        // sample section generation group
-        Group group = new Group(composite, SWT.NONE);
-        group.setLayout(new GridLayout());
-        group.setText(MessageUtil
-                .getString("Automatic_sample_section_generation")); //$NON-NLS-1$
-        group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
-                | GridData.HORIZONTAL_ALIGN_FILL));
-
-        // sample section generation checkboxes
-        sectionCheckbox = new Button(group, SWT.CHECK);
-        sectionCheckbox.setText(MessageUtil
-                .getString("Generate_sample_section_titles")); //$NON-NLS-1$
-        sectionCheckbox.setSelection(true);
-        sectionCheckbox.addListener(SWT.Selection, this);
-
-        subsectionCheckbox = new Button(group, SWT.CHECK);
-        subsectionCheckbox.setText(MessageUtil
-                .getString("Generate_sample_subsection_titles")); //$NON-NLS-1$
-        subsectionCheckbox.setSelection(true);
-        subsectionCheckbox.addListener(SWT.Selection, this);
-
-        // open file for editing checkbox
-        openFileCheckbox = new Button(composite, SWT.CHECK);
-        openFileCheckbox.setText(MessageUtil
-                .getString("Open_file_for_editing_when_done")); //$NON-NLS-1$
-        openFileCheckbox.setSelection(true);
-
-        setPageComplete(validatePage());
-
-    }
-
-    /**
-     * Creates a new file resource as requested by the user. If everything
-     * is OK then answer true. If not, false will cause the dialog
-     * to stay open.
-     *
-     * @return whether creation was successful
-     * @see ReadmeCreationWizard#performFinish()
-     */
-    public boolean finish() {
-        // create the new file resource
-        IFile newFile = createNewFile();
-        if (newFile == null)
-            return false; // ie.- creation was unsuccessful
-
-        // Since the file resource was created fine, open it for editing
-        // if requested by the user
-        try {
-            if (openFileCheckbox.getSelection()) {
-                IWorkbenchWindow dwindow = workbench.getActiveWorkbenchWindow();
-                IWorkbenchPage page = dwindow.getActivePage();
-                if (page != null) {
-                    IDE.openEditor(page, newFile, true);
-                }
-            }
-        } catch (PartInitException e) {
-            e.printStackTrace();
-            return false;
-        }
-        nameCounter++;
-        return true;
-    }
-
-    /** 
-     * The <code>ReadmeCreationPage</code> implementation of this
-     * <code>WizardNewFileCreationPage</code> method 
-     * generates sample headings for sections and subsections in the
-     * newly-created Readme file according to the selections of self's
-     * checkbox widgets
-     */
-    protected InputStream getInitialContents() {
-        if (!sectionCheckbox.getSelection())
-            return null;
-
-        StringBuffer sb = new StringBuffer();
-        sb.append(MessageUtil.getString("SAMPLE_README_FILE")); //$NON-NLS-1$
-        sb.append(MessageUtil.getString("SECTION_1")); //$NON-NLS-1$
-        sb.append(MessageUtil.getString("SECTION_1_BODY_1")); //$NON-NLS-1$
-
-        if (subsectionCheckbox.getSelection()) {
-            sb.append(MessageUtil.getString("Subsection_1_1")); //$NON-NLS-1$
-            sb.append(MessageUtil.getString("Subsection_1_1_Body_1")); //$NON-NLS-1$
-        }
-
-        sb.append(MessageUtil.getString("SECTION_2")); //$NON-NLS-1$
-        sb.append(MessageUtil.getString("SECTION_2_BODY_1")); //$NON-NLS-1$
-        sb.append(MessageUtil.getString("SECTION_2_BODY_2")); //$NON-NLS-1$
-
-        if (subsectionCheckbox.getSelection()) {
-            sb.append(MessageUtil.getString("Subsection_2_1")); //$NON-NLS-1$
-            sb.append(MessageUtil.getString("Subsection_2_1_BODY_1")); //$NON-NLS-1$
-            sb.append(MessageUtil.getString("Subsection_2_2")); //$NON-NLS-1$
-            sb.append(MessageUtil.getString("Subsection_2_2_BODY_1")); //$NON-NLS-1$
-        }
-
-        return new ByteArrayInputStream(sb.toString().getBytes());
-    }
-
-    /** (non-Javadoc)
-     * Method declared on WizardNewFileCreationPage.
-     */
-    protected String getNewFileLabel() {
-        return MessageUtil.getString("Readme_file_name"); //$NON-NLS-1$
-    }
-
-    /** (non-Javadoc)
-     * Method declared on WizardNewFileCreationPage.
-     */
-    public void handleEvent(Event e) {
-        Widget source = e.widget;
-
-        if (source == sectionCheckbox) {
-            if (!sectionCheckbox.getSelection())
-                subsectionCheckbox.setSelection(false);
-            subsectionCheckbox.setEnabled(sectionCheckbox.getSelection());
-        }
-
-        super.handleEvent(e);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.java
deleted file mode 100644
index 91a4ef2..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeCreationWizard.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.ui.examples.readmetool;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * This class implements the interface required by the desktop
- * for all 'New' wizards.  This wizard creates readme files.
- */
-public class ReadmeCreationWizard extends Wizard implements INewWizard {
-    private IStructuredSelection selection;
-
-    private IWorkbench workbench;
-
-    private ReadmeCreationPage mainPage;
-
-    /** (non-Javadoc)
-     * Method declared on Wizard.
-     */
-    public void addPages() {
-        mainPage = new ReadmeCreationPage(workbench, selection);
-        addPage(mainPage);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IWorkbenchWizard
-     */
-    public void init(IWorkbench workbench, IStructuredSelection selection) {
-        this.workbench = workbench;
-        this.selection = selection;
-        setWindowTitle(MessageUtil.getString("New_Readme_File")); //$NON-NLS-1$
-        setDefaultPageImageDescriptor(ReadmeImages.README_WIZARD_BANNER);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IWizard
-     */
-    public boolean performFinish() {
-        return mainPage.finish();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
deleted file mode 100644
index 598702c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeDropActionDelegate.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.part.IDropActionDelegate;
-
-/**
- * Adapter for handling the dropping of readme segments into
- * another plugin.  In this case, we expect the segments
- * to be dropped onto <code>IFile</code> object, or an adapter 
- * that supports <code>IFile</code>.
- */
-public class ReadmeDropActionDelegate implements IDropActionDelegate {
-    public static final String ID = "org_eclipse_ui_examples_readmetool_drop_actions"; //$NON-NLS-1$
-
-    /** (non-Javadoc)
-     * Method declared on IDropActionDelegate
-     */
-    public boolean run(Object source, Object target) {
-        if (source instanceof byte[] && target instanceof IFile) {
-            IFile file = (IFile) target;
-            try {
-                file.appendContents(new ByteArrayInputStream((byte[]) source),
-                        false, true, null);
-            } catch (CoreException e) {
-                System.out
-                        .println(MessageUtil
-                                .getString("Exception_in_readme_drop_adapter") + e.getStatus().getMessage()); //$NON-NLS-1$
-                return false;
-            }
-            return true;
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
deleted file mode 100644
index e45d4a9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditor.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * This class implements the Readme editor.  Since the readme
- * editor is mostly just a text editor, there is very little
- * implemented in this actual class.  It can be regarded as
- * simply decorating the text editor with a content outline.
- */
-public class ReadmeEditor extends TextEditor {
-    protected ReadmeContentOutlinePage page;
-
-    /**
-     * Creates a new ReadmeEditor.
-     */
-    public ReadmeEditor() {
-        super();
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IEditorPart
-     */
-    public void doSave(IProgressMonitor monitor) {
-        super.doSave(monitor);
-        if (page != null)
-            page.update();
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IAdaptable
-     */
-    public Object getAdapter(Class key) {
-        if (key.equals(IContentOutlinePage.class)) {
-            IEditorInput input = getEditorInput();
-            if (input instanceof IFileEditorInput) {
-                page = new ReadmeContentOutlinePage(((IFileEditorInput) input)
-                        .getFile());
-                return page;
-            }
-        }
-        return super.getAdapter(key);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on AbstractTextEditor
-     */
-    protected void editorContextMenuAboutToShow(IMenuManager parentMenu) {
-        super.editorContextMenuAboutToShow(parentMenu);
-        parentMenu.add(new Separator());
-        IMenuManager subMenu = new MenuManager(MessageUtil.getString("Add")); //$NON-NLS-1$
-        parentMenu.add(subMenu);
-        if (subMenu != null) {
-            // Add readme actions with various attributes
-            Object[][] att = new Object[][] { { IReadmeConstants.MARKER_ATT_ID,
-                    new Integer(1234) } };
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "1", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + " id=1234")); //$NON-NLS-1$ //$NON-NLS-2$
-
-            att = new Object[][] { { IReadmeConstants.MARKER_ATT_LEVEL,
-                    new Integer(7) } };
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "2", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + " level=7")); //$NON-NLS-1$ //$NON-NLS-2$
-
-            att = new Object[][] {
-                    { IReadmeConstants.MARKER_ATT_LEVEL, new Integer(7) },
-                    { IReadmeConstants.MARKER_ATT_DEPT, "infra" } }; //$NON-NLS-1$
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "3", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + " level=7, department=infra")); //$NON-NLS-1$ //$NON-NLS-2$
-
-            att = new Object[][] { { IReadmeConstants.MARKER_ATT_CODE, "red" } }; //$NON-NLS-1$
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "4", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + " code=red")); //$NON-NLS-1$ //$NON-NLS-2$
-
-            att = new Object[][] { { IReadmeConstants.MARKER_ATT_LANG,
-                    "english" } }; //$NON-NLS-1$
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "5", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + " language=english")); //$NON-NLS-1$ //$NON-NLS-2$
-
-            att = new Object[][] {
-                    { IReadmeConstants.MARKER_ATT_ID, new Integer(1234) },
-                    { IReadmeConstants.MARKER_ATT_LEVEL, new Integer(7) },
-                    { IReadmeConstants.MARKER_ATT_DEPT, "infra" }, //$NON-NLS-1$
-                    { IReadmeConstants.MARKER_ATT_CODE, "red" }, //$NON-NLS-1$
-                    { IReadmeConstants.MARKER_ATT_LANG, "english" } }; //$NON-NLS-1$
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "6", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + //$NON-NLS-1$
-                                    " id=1234, level=7, department=infra, code=red, language=english")); //$NON-NLS-1$
-
-            att = new Object[0][0];
-            subMenu
-                    .add(new AddReadmeMarkerAction(
-                            this,
-                            MessageUtil
-                                    .getString("Add_readme_marker_action_label") + "7", //$NON-NLS-1$ //$NON-NLS-2$
-                            att,
-                            MessageUtil
-                                    .getString("Readme_marker_message_example") + " No attributes specified")); //$NON-NLS-1$ //$NON-NLS-2$
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
deleted file mode 100644
index fec2079..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeEditorActionBarContributor.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-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.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.LabelRetargetAction;
-import org.eclipse.ui.actions.RetargetAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.texteditor.BasicTextEditorActionContributor;
-
-/**
- * This class demonstrates action contribution for the readme editor.
- * A number of menu, toolbar, and status line contributions are defined
- * in the workbench window.  These actions are shared among all 
- * readme editors, and are only visible when a readme editor is 
- * active.  Otherwise, they are invisible.
- */
-public class ReadmeEditorActionBarContributor extends
-        BasicTextEditorActionContributor {
-    private EditorAction action1;
-
-    private RetargetAction action2;
-
-    private LabelRetargetAction action3;
-
-    private EditorAction handler2;
-
-    private EditorAction handler3;
-
-    private EditorAction handler4;
-
-    private EditorAction handler5;
-
-    private DirtyStateContribution dirtyStateContribution;
-
-    class EditorAction extends Action {
-        private Shell shell;
-
-        private IEditorPart activeEditor;
-
-        public EditorAction(String label) {
-            super(label);
-        }
-
-        public void setShell(Shell shell) {
-            this.shell = shell;
-        }
-
-        public void run() {
-            String editorName = MessageUtil.getString("Empty_Editor_Name"); //$NON-NLS-1$
-            if (activeEditor != null)
-                editorName = activeEditor.getTitle();
-            MessageDialog
-                    .openInformation(
-                            shell,
-                            MessageUtil.getString("Readme_Editor"), //$NON-NLS-1$
-                            MessageUtil
-                                    .format(
-                                            "ReadmeEditorActionExecuted", new Object[] { getText(), editorName })); //$NON-NLS-1$
-        }
-
-        public void setActiveEditor(IEditorPart part) {
-            activeEditor = part;
-        }
-    }
-
-    /**
-     * Creates a new ReadmeEditorActionBarContributor.
-     */
-    public ReadmeEditorActionBarContributor() {
-        action1 = new EditorAction(MessageUtil.getString("Editor_Action1")); //$NON-NLS-1$
-        action1.setToolTipText(MessageUtil.getString("Readme_Editor_Action1")); //$NON-NLS-1$
-        action1
-                .setDisabledImageDescriptor(ReadmeImages.EDITOR_ACTION1_IMAGE_DISABLE);
-        action1.setImageDescriptor(ReadmeImages.EDITOR_ACTION1_IMAGE_ENABLE);
-        action1.setHoverImageDescriptor(ReadmeImages.EDITOR_ACTION1_IMAGE);
-        WorkbenchHelp.setHelp(action1, IReadmeConstants.EDITOR_ACTION1_CONTEXT);
-
-        action2 = new RetargetAction(IReadmeConstants.RETARGET2, MessageUtil
-                .getString("Editor_Action2")); //$NON-NLS-1$
-        action2.setToolTipText(MessageUtil.getString("Readme_Editor_Action2")); //$NON-NLS-1$
-        action2
-                .setDisabledImageDescriptor(ReadmeImages.EDITOR_ACTION2_IMAGE_DISABLE);
-        action2.setImageDescriptor(ReadmeImages.EDITOR_ACTION2_IMAGE_ENABLE);
-        action2.setHoverImageDescriptor(ReadmeImages.EDITOR_ACTION2_IMAGE);
-
-        action3 = new LabelRetargetAction(IReadmeConstants.LABELRETARGET3,
-                MessageUtil.getString("Editor_Action3")); //$NON-NLS-1$
-        action3
-                .setDisabledImageDescriptor(ReadmeImages.EDITOR_ACTION3_IMAGE_DISABLE);
-        action3.setImageDescriptor(ReadmeImages.EDITOR_ACTION3_IMAGE_ENABLE);
-        action3.setHoverImageDescriptor(ReadmeImages.EDITOR_ACTION3_IMAGE);
-
-        handler2 = new EditorAction(MessageUtil.getString("Editor_Action2")); //$NON-NLS-1$
-        WorkbenchHelp.setHelp(action2, IReadmeConstants.EDITOR_ACTION2_CONTEXT);
-
-        handler3 = new EditorAction(MessageUtil.getString("Editor_Action3")); //$NON-NLS-1$
-        handler3.setToolTipText(MessageUtil.getString("Readme_Editor_Action3")); //$NON-NLS-1$
-        WorkbenchHelp.setHelp(action3, IReadmeConstants.EDITOR_ACTION3_CONTEXT);
-
-        handler4 = new EditorAction(MessageUtil.getString("Editor_Action4")); //$NON-NLS-1$
-        handler5 = new EditorAction(MessageUtil.getString("Editor_Action5")); //$NON-NLS-1$
-        handler5.setToolTipText(MessageUtil.getString("Readme_Editor_Action5")); //$NON-NLS-1$
-
-        dirtyStateContribution = new DirtyStateContribution();
-    }
-
-    /** (non-Javadoc)
-     * Method declared on EditorActionBarContributor
-     */
-    public void contributeToMenu(IMenuManager menuManager) {
-        // Run super.
-        super.contributeToMenu(menuManager);
-
-        // Editor-specitic menu
-        MenuManager readmeMenu = new MenuManager(MessageUtil
-                .getString("Readme_Menu")); //$NON-NLS-1$
-        // It is important to append the menu to the
-        // group "additions". This group is created
-        // between "Project" and "Tools" menus
-        // for this purpose.
-        menuManager.insertAfter("additions", readmeMenu); //$NON-NLS-1$
-        readmeMenu.add(action1);
-        readmeMenu.add(action2);
-        readmeMenu.add(action3);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on EditorActionBarContributor
-     */
-    public void contributeToStatusLine(IStatusLineManager statusLineManager) {
-        // Run super.
-        super.contributeToStatusLine(statusLineManager);
-        // Test status line.	
-        statusLineManager.setMessage(MessageUtil.getString("Editor_is_active")); //$NON-NLS-1$
-        statusLineManager.add(dirtyStateContribution);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on EditorActionBarContributor
-     */
-    public void contributeToToolBar(IToolBarManager toolBarManager) {
-        // Run super.
-        super.contributeToToolBar(toolBarManager);
-
-        // Add toolbar stuff.
-        toolBarManager.add(new Separator("ReadmeEditor")); //$NON-NLS-1$
-        toolBarManager.add(action1);
-        toolBarManager.add(action2);
-        toolBarManager.add(action3);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IEditorActionBarContributor
-     */
-    public void dispose() {
-        // Remove retarget actions as page listeners
-        getPage().removePartListener(action2);
-        getPage().removePartListener(action3);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IEditorActionBarContributor
-     */
-    public void init(IActionBars bars, IWorkbenchPage page) {
-        super.init(bars, page);
-        bars.setGlobalActionHandler(IReadmeConstants.RETARGET2, handler2);
-        bars.setGlobalActionHandler(IReadmeConstants.LABELRETARGET3, handler3);
-        bars.setGlobalActionHandler(IReadmeConstants.ACTION_SET_RETARGET4,
-                handler4);
-        bars.setGlobalActionHandler(IReadmeConstants.ACTION_SET_LABELRETARGET5,
-                handler5);
-
-        // Hook retarget actions as page listeners
-        page.addPartListener(action2);
-        page.addPartListener(action3);
-        IWorkbenchPart activePart = page.getActivePart();
-        if (activePart != null) {
-            action2.partActivated(activePart);
-            action3.partActivated(activePart);
-        }
-    }
-
-    /** (non-Javadoc)
-     * Method declared on IEditorActionBarContributor
-     */
-    public void setActiveEditor(IEditorPart editor) {
-        // Run super.
-        super.setActiveEditor(editor);
-
-        // Target shared actions to new editor
-        action1.setActiveEditor(editor);
-        handler2.setActiveEditor(editor);
-        handler3.setActiveEditor(editor);
-        handler4.setActiveEditor(editor);
-        handler5.setActiveEditor(editor);
-        dirtyStateContribution.editorChanged(editor);
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
deleted file mode 100644
index c6a5780..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This page will be added to the property page dialog
- * when the "Properties..." popup menu item is selected
- * for Readme files. 
- */
-public class ReadmeFilePropertyPage extends PropertyPage {
-
-    /**
-     * Utility method that creates a new composite and
-     * sets up its layout data.
-     *
-     * @param parent  the parent of the composite
-     * @param numColumns  the number of columns in the new composite
-     * @return the newly-created composite
-     */
-    protected Composite createComposite(Composite parent, int numColumns) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = numColumns;
-        composite.setLayout(layout);
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        composite.setLayoutData(data);
-        return composite;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public Control createContents(Composite parent) {
-
-        // ensure the page has no special buttons
-        noDefaultAndApplyButton();
-        Composite panel = createComposite(parent, 2);
-
-        WorkbenchHelp.setHelp(getControl(),
-                IReadmeConstants.PROPERTY_PAGE_CONTEXT);
-
-        // layout the page
-
-        IResource resource = (IResource) getElement();
-        IStatus result = null;
-        if (resource.getType() == IResource.FILE) {
-            Label l = createLabel(panel, MessageUtil.getString("File_name")); //$NON-NLS-1$
-            l = createLabel(panel, resource.getName());
-            grabExcessSpace(l);
-
-            //
-            createLabel(panel, MessageUtil.getString("Path")); //$NON-NLS-1$
-            l = createLabel(panel, resource.getFullPath().setDevice(null)
-                    .toString());
-            grabExcessSpace(l);
-
-            //
-            createLabel(panel, MessageUtil.getString("Size")); //$NON-NLS-1$
-            InputStream contentStream = null;
-            try {
-                IFile file = (IFile) resource;
-                if (!file.isLocal(IResource.DEPTH_ZERO))
-                    l = createLabel(panel, MessageUtil
-                            .getString("<file_contents_not_local>")); //$NON-NLS-1$
-                else {
-                    contentStream = file.getContents();
-                    Reader in = new InputStreamReader(contentStream);
-                    int chunkSize = contentStream.available();
-                    StringBuffer buffer = new StringBuffer(chunkSize);
-                    char[] readBuffer = new char[chunkSize];
-                    int n = in.read(readBuffer);
-
-                    while (n > 0) {
-                        buffer.append(readBuffer);
-                        n = in.read(readBuffer);
-                    }
-
-                    contentStream.close();
-                    l = createLabel(panel, Integer.toString(buffer.length()));
-                }
-            } catch (CoreException e) {
-                result = e.getStatus();
-                String message = result.getMessage();
-                if (message == null)
-                    l = createLabel(panel, MessageUtil.getString("<Unknown>")); //$NON-NLS-1$
-                else
-                    l = createLabel(panel, message);
-            } catch (IOException e) {
-                l = createLabel(panel, MessageUtil.getString("<Unknown>")); //$NON-NLS-1$
-            } finally {
-                if (contentStream != null) {
-                    try {
-                        contentStream.close();
-                    } catch (IOException e) {
-                        // do nothing
-                    }
-                }
-            }
-            grabExcessSpace(l);
-            createLabel(panel, MessageUtil.getString("Number_of_sections")); //$NON-NLS-1$
-            // We will get the sections property and simply
-            // report number of elements found.
-            IAdaptable sections = getSections(resource);
-            if (sections instanceof AdaptableList) {
-                AdaptableList list = (AdaptableList) sections;
-                l = createLabel(panel, String.valueOf(list.size()));
-                grabExcessSpace(l);
-            }
-        }
-
-        //
-        Label l = createLabel(panel, MessageUtil
-                .getString("Additional_information")); //$NON-NLS-1$
-        grabExcessSpace(l);
-        GridData gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        return new Canvas(panel, 0);
-    }
-
-    /**
-     * Utility method that creates a new label and sets up its layout data.
-     *
-     * @param parent  the parent of the label
-     * @param text  the text of the label
-     * @return the newly-created label
-     */
-    protected Label createLabel(Composite parent, String text) {
-        Label label = new Label(parent, SWT.LEFT);
-        label.setText(text);
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        label.setLayoutData(data);
-        return label;
-    }
-
-    /**
-     * Returns the readme sections for this resource, or null
-     * if not applicable (resource is not a readme file).
-     */
-    private AdaptableList getSections(IAdaptable adaptable) {
-        if (adaptable instanceof IFile)
-            return ReadmeModelFactory.getInstance().getSections(
-                    (IFile) adaptable);
-        else
-            return null;
-    }
-
-    /**
-     * Sets this control to grab any excess horizontal space
-     * left in the window.
-     *
-     * @param control  the control for which to grab excess space
-     */
-    private void grabExcessSpace(Control control) {
-        GridData gd = (GridData) control.getLayoutData();
-        if (gd != null) {
-            gd.grabExcessHorizontalSpace = true;
-        }
-    }
-
-    /** (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public boolean performOk() {
-        // nothing to do - read-only page
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
deleted file mode 100644
index 36b01e7..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeFilePropertyPage2.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This page will be added to the property page dialog
- * when "Properties..." popup menu item is selected
- * for Readme files. 
- *
- * This page demonstrates conditional property pages which look
- * different depending on the state of the element. In this example,
- * the arbitrary condition chosen is whether the Readme file is
- * greater than 256 bytes in length. If it is smaller than 256 bytes
- * in length, this will be a placeholder page containing 
- * a simple message. If it is 256 bytes or larger, additional 
- * information will be provided. This information is determined at
- * runtime.
- *
- * This class may be reused to implement a conditional property page.
- * The getPageIndex() method tests the condition and returns the
- * index of the page to create. The createPage*() methods are called
- * upon to create the actual pages.
- */
-public class ReadmeFilePropertyPage2 extends PropertyPage {
-
-    /**
-     * Utility method that creates a new composite and
-     * sets up its layout data.
-     *
-     * @param parent  the parent of the composite
-     * @param numColumns  the number of columns in the new composite
-     * @return the newly-created composite
-     */
-    protected Composite createComposite(Composite parent, int numColumns) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = numColumns;
-        composite.setLayout(layout);
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        composite.setLayoutData(data);
-        return composite;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public Control createContents(Composite parent) {
-        // ensure the page has no special buttons
-        noDefaultAndApplyButton();
-        Composite panel = createComposite(parent, 2);
-
-        WorkbenchHelp.setHelp(getControl(),
-                IReadmeConstants.PROPERTY_PAGE2_CONTEXT);
-
-        // layout the page
-        int page = getPageIndex();
-        switch (page) {
-        case 1:
-            createPageOne(panel);
-            break;
-        case 2:
-            createPageTwo(panel);
-            break;
-        default:
-        }
-        return new Canvas(panel, 0);
-    }
-
-    /**
-     * Utility method that creates a new label and sets up
-     * its layout data.
-     *
-     * @param parent  the parent of the label
-     * @param text  the text of the label
-     * @return the newly-created label
-     */
-    protected Label createLabel(Composite parent, String text) {
-        Label label = new Label(parent, SWT.LEFT);
-        label.setText(text);
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        label.setLayoutData(data);
-        return label;
-    }
-
-    /**
-     * Creates the first version of the page. This is a placeholder page which
-     * notified the user that the page is not available.
-     *
-     * @param panel  the panel in which to create the page
-     */
-    protected void createPageOne(Composite panel) {
-        Label l = createLabel(panel, MessageUtil
-                .getString("Additional_Readme_properties_not_available.")); //$NON-NLS-1$
-        GridData gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-        l = createLabel(
-                panel,
-                MessageUtil
-                        .getString("This_illustrates_a_property_page_that_is_dynamically_determined")); //$NON-NLS-1$
-        gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-        l = createLabel(
-                panel,
-                MessageUtil
-                        .getString("not_to_be_available_based_on_the_state_of_the_object.")); //$NON-NLS-1$
-        gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-    }
-
-    /**
-     * Creates the second version of the page. This page might contain more information
-     * about the file or other information.
-     *
-     * @param panel  the panel in which to create the page
-     */
-    protected void createPageTwo(Composite panel) {
-        Label l = createLabel(
-                panel,
-                MessageUtil
-                        .getString("The_size_of_the_Readme_file_is_at_least_256_bytes.")); //$NON-NLS-1$
-        GridData gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-        l = createLabel(
-                panel,
-                MessageUtil
-                        .getString("Had_it_been_less_than_256_bytes_this_page_would_be_a_placeholder_page.")); //$NON-NLS-1$
-        gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-        l = createLabel(panel, MessageUtil.getString("Additional_information")); //$NON-NLS-1$
-        gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-        l = createLabel(
-                panel,
-                MessageUtil
-                        .getString("This_illustrates_a_property_page_that_is_dynamically_determined")); //$NON-NLS-1$
-        gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-        l = createLabel(panel, MessageUtil
-                .getString("to_be_available_based_on_the_state_of_the_object.")); //$NON-NLS-1$
-        gd = (GridData) l.getLayoutData();
-        gd.horizontalSpan = 2;
-        gd.grabExcessHorizontalSpace = true;
-    }
-
-    /**
-     * Returns which page to display. This implementation
-     * answers 1 if the size of the Readme file is less than 256 bytes
-     * and 2 otherwise.
-     *
-     * @return the index of the page to display
-     */
-    protected int getPageIndex() {
-        IResource resource = (IResource) getElement();
-
-        if (resource.getType() == IResource.FILE) {
-            InputStream contentStream = null;
-            int length = 0;
-            try {
-                IFile file = (IFile) resource;
-
-                if (file.isLocal(IResource.DEPTH_ZERO)) {
-                    contentStream = file.getContents();
-                    Reader in = new InputStreamReader(contentStream);
-                    int chunkSize = contentStream.available();
-                    StringBuffer buffer = new StringBuffer(chunkSize);
-                    char[] readBuffer = new char[chunkSize];
-                    int n = in.read(readBuffer);
-
-                    while (n > 0) {
-                        buffer.append(readBuffer);
-                        n = in.read(readBuffer);
-                    }
-
-                    contentStream.close();
-                    length = buffer.length();
-                }
-            } catch (CoreException e) {
-                length = 0;
-            } catch (IOException e) {
-                // do nothing
-            } finally {
-                if (contentStream != null) {
-                    try {
-                        contentStream.close();
-                    } catch (IOException e) {
-                        // do nothing
-                    }
-                }
-            }
-
-            if (length < 256)
-                return 1;
-            else
-                return 2;
-        }
-
-        return 0;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public boolean performOk() {
-        // nothing to do - read-only page
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.java
deleted file mode 100644
index 9460c3c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeImages.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
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74526)
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * Convenience class for storing references to image descriptors
- * used by the readme tool.
- */
-public class ReadmeImages {
-    static final URL BASE_URL = ReadmePlugin.getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
-
-    static final ImageDescriptor EDITOR_ACTION1_IMAGE;
-
-    static final ImageDescriptor EDITOR_ACTION2_IMAGE;
-
-    static final ImageDescriptor EDITOR_ACTION3_IMAGE;
-
-    static final ImageDescriptor EDITOR_ACTION1_IMAGE_DISABLE;
-
-    static final ImageDescriptor EDITOR_ACTION2_IMAGE_DISABLE;
-
-    static final ImageDescriptor EDITOR_ACTION3_IMAGE_DISABLE;
-
-    static final ImageDescriptor EDITOR_ACTION1_IMAGE_ENABLE;
-
-    static final ImageDescriptor EDITOR_ACTION2_IMAGE_ENABLE;
-
-    static final ImageDescriptor EDITOR_ACTION3_IMAGE_ENABLE;
-
-    static final ImageDescriptor README_WIZARD_BANNER;
-
-    static {
-        String iconPath = "icons/"; //$NON-NLS-1$
-
-        String prefix = iconPath + "ctool16/"; //$NON-NLS-1$
-        EDITOR_ACTION1_IMAGE = createImageDescriptor(prefix + "action1.gif"); //$NON-NLS-1$
-        EDITOR_ACTION2_IMAGE = createImageDescriptor(prefix + "action2.gif"); //$NON-NLS-1$
-        EDITOR_ACTION3_IMAGE = createImageDescriptor(prefix + "action3.gif"); //$NON-NLS-1$
-
-        prefix = iconPath + "dtool16/"; //$NON-NLS-1$
-        EDITOR_ACTION1_IMAGE_DISABLE = createImageDescriptor(prefix
-                + "action1.gif"); //$NON-NLS-1$
-        EDITOR_ACTION2_IMAGE_DISABLE = createImageDescriptor(prefix
-                + "action2.gif"); //$NON-NLS-1$
-        EDITOR_ACTION3_IMAGE_DISABLE = createImageDescriptor(prefix
-                + "action3.gif"); //$NON-NLS-1$
-
-        prefix = iconPath + "etool16/"; //$NON-NLS-1$
-        EDITOR_ACTION1_IMAGE_ENABLE = createImageDescriptor(prefix
-                + "action1.gif"); //$NON-NLS-1$
-        EDITOR_ACTION2_IMAGE_ENABLE = createImageDescriptor(prefix
-                + "action2.gif"); //$NON-NLS-1$
-        EDITOR_ACTION3_IMAGE_ENABLE = createImageDescriptor(prefix
-                + "action3.gif"); //$NON-NLS-1$
-
-        prefix = iconPath + "wizban/"; //$NON-NLS-1$
-        README_WIZARD_BANNER = createImageDescriptor(prefix
-                + "newreadme_wiz.gif"); //$NON-NLS-1$
-    }
-
-    /**
-     * Utility method to create an <code>ImageDescriptor</code>
-     * from a path to a file.
-     */
-    private static ImageDescriptor createImageDescriptor(String path) {
-        try {
-            URL url = new URL(BASE_URL, path);
-            return ImageDescriptor.createFromURL(url);
-        } catch (MalformedURLException e) {
-            // do nothing
-        }
-        return ImageDescriptor.getMissingImageDescriptor();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
deleted file mode 100644
index 26af533..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator2;
-
-/**
- * Creates resolutions for readme markers.
- */
-public class ReadmeMarkerResolutionGenerator implements
-        IMarkerResolutionGenerator2 {
-
-    /* (non-Javadoc)
-     * Method declared on IMarkerResolutionGenerator.
-     */
-    public IMarkerResolution[] getResolutions(IMarker marker) {
-        return new IMarkerResolution[] { new AddSentenceResolution() };
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IMarkerResolutionGenerator2.
-     */
-    public boolean hasResolutions(IMarker marker) {
-        return true;
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
deleted file mode 100644
index 512abee..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeModelFactory.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74526)
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Creates the sections used in the <code>ContentOutline</code>
- *
- * @see ReadmeContentOutlinePage#getContentOutline(IAdaptable)
- */
-public class ReadmeModelFactory {
-    private static ReadmeModelFactory instance = new ReadmeModelFactory();
-
-    private boolean registryLoaded = false;
-
-    IReadmeFileParser parser = null;
-
-    /**
-     * Creates a new ReadmeModelFactory.
-     */
-    private ReadmeModelFactory() {
-        // do nothing
-    }
-
-    /**
-     * Adds all mark elements to the list for the subtree rooted
-     * at the given mark element.
-     */
-    protected void addSections(AdaptableList list, MarkElement element) {
-        list.add(element);
-        Object[] children = element.getChildren(element);
-        for (int i = 0; i < children.length; ++i) {
-            addSections(list, (MarkElement) children[i]);
-        }
-    }
-
-    /**
-     * Returns the content outline for the given Readme file.
-     *
-     * @param adaptable  the element for which to return the content outline
-     * @return the content outline for the argument
-     */
-    public AdaptableList getContentOutline(IAdaptable adaptable) {
-        return new AdaptableList(getToc((IFile) adaptable));
-    }
-
-    /**
-     * Returns the singleton readme adapter.
-     */
-    public static ReadmeModelFactory getInstance() {
-        return instance;
-    }
-
-    /**
-     * Returns a list of all sections in this readme file.
-     *
-     * @param file  the file for which to return section heading and subheadings
-     * @return A list containing headings and subheadings
-     */
-    public AdaptableList getSections(IFile file) {
-        MarkElement[] topLevel = getToc(file);
-        AdaptableList list = new AdaptableList();
-        for (int i = 0; i < topLevel.length; i++) {
-            addSections(list, topLevel[i]);
-        }
-        return list;
-    }
-
-    /**
-     * Convenience method.  Looks for a readme file in the selection,
-     * and if one is found, returns the sections for it.  Returns null
-     * if there is no readme file in the selection.
-     */
-    public AdaptableList getSections(ISelection sel) {
-        // If sel is not a structured selection just return.
-        if (!(sel instanceof IStructuredSelection))
-            return null;
-        IStructuredSelection structured = (IStructuredSelection) sel;
-
-        //if the selection is a readme file, get its sections.
-        Object object = structured.getFirstElement();
-        if (object instanceof IFile) {
-            IFile file = (IFile) object;
-            String extension = file.getFileExtension();
-            if (extension != null
-                    && extension.equals(IReadmeConstants.EXTENSION)) {
-                return getSections(file);
-            }
-        }
-
-        //the selected object is not a readme file
-        return null;
-    }
-
-    /**
-     * Parses the contents of the Readme file by looking for lines 
-     * that start with a number.
-     *
-     * @param file  the file representing the Readme file
-     * @return an element collection representing the table of contents
-     */
-    private MarkElement[] getToc(IFile file) {
-        if (registryLoaded == false)
-            loadParser();
-        return parser.parse(file);
-    }
-
-    /**
-     * Loads the parser from the registry by searching for
-     * extensions that satisfy our published extension point.
-     * For the sake of simplicity, we will pick the last extension,
-     * allowing tools to override what is used. In a more
-     * elaborate tool, all the extensions would be processed.
-     */
-    private void loadParser() {
-        IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(
-                IReadmeConstants.PLUGIN_ID, IReadmeConstants.PP_SECTION_PARSER);
-        if (point != null) {
-            IExtension[] extensions = point.getExtensions();
-            for (int i = 0; i < extensions.length; i++) {
-                IExtension currentExtension = extensions[i];
-                // in a real application, we would collection
-                // the entire list and probably expose it
-                // as a drop-down list. For the sake
-                // of simplicity, we will pick the last extension only.
-                if (i == extensions.length - 1) {
-                    IConfigurationElement[] configElements = currentExtension
-                            .getConfigurationElements();
-                    for (int j = 0; j < configElements.length; j++) {
-                        IConfigurationElement config = configElements[i];
-                        if (config.getName()
-                                .equals(IReadmeConstants.TAG_PARSER)) {
-                            // process the first 'parser' element and stop
-                            processParserElement(config);
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-        if (parser == null)
-            parser = new DefaultSectionsParser();
-        registryLoaded = true;
-    }
-
-    /**
-     * Tries to create the Readme file parser. If an error occurs during
-     * the creation of the parser, print an error and set the parser
-     * to null.
-     *
-     * @param element  the element to process
-     */
-    private void processParserElement(IConfigurationElement element) {
-        try {
-            parser = (IReadmeFileParser) element
-                    .createExecutableExtension(IReadmeConstants.ATT_CLASS);
-        } catch (CoreException e) {
-            // since this is an example just write to the console
-            System.out
-                    .println(MessageUtil
-                            .getString("Unable_to_create_file_parser") + e.getStatus().getMessage()); //$NON-NLS-1$
-            parser = null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.java
deleted file mode 100644
index e16e588..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePlugin.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
- *     Joe Bowbeer (jozart@blarg.net) - removed dependency on runtime compatibility layer (bug 74528)
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * This is the top-level class of the Readme plugin tool.
- *
- * @see AbstractUIPlugin for additional information on UI plugins
- */
-public class ReadmePlugin extends AbstractUIPlugin {
-    
-    public static final String PLUGIN_ID = "org.eclipse.ui.examples.readmetool"; //$NON-NLS-1$
-    
-    /**
-     * Default instance of the receiver
-     */ 
-    private static ReadmePlugin inst;
-
-    /**
-     * Creates the Readme plugin and caches its default instance
-     */
-    public ReadmePlugin() {
-        if (inst == null)
-            inst = this;
-    }
-
-    /**
-     * Gets the plugin singleton.
-     *
-     * @return the default ReadmePlugin instance
-     */
-    static public ReadmePlugin getDefault() {
-        return inst;
-    }
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java
deleted file mode 100644
index 2c4bd2c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferenceInitializer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Initializes the preferences for the readme plug-in.
- * 
- * @since 3.0
- */
-public class ReadmePreferenceInitializer extends AbstractPreferenceInitializer {
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-     */
-    public void initializeDefaultPreferences() {
-        // These settings will show up when the Readme preference page
-        // is shown for the first time.
-        IPreferenceStore store = ReadmePlugin.getDefault().getPreferenceStore();
-        store.setDefault(IReadmeConstants.PRE_CHECK1, true);
-        store.setDefault(IReadmeConstants.PRE_CHECK2, true);
-        store.setDefault(IReadmeConstants.PRE_CHECK3, false);
-        store.setDefault(IReadmeConstants.PRE_RADIO_CHOICE, 2);
-        store.setDefault(IReadmeConstants.PRE_TEXT, MessageUtil
-                .getString("Default_text")); //$NON-NLS-1$
-    }
-
-}
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
deleted file mode 100644
index 15a29bf..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmePreferencePage.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * This class implements a sample preference page that is 
- * added to the preference dialog based on the registration.
- */
-public class ReadmePreferencePage extends PreferencePage implements
-        IWorkbenchPreferencePage, SelectionListener, ModifyListener {
-    private Button radioButton1;
-
-    private Button radioButton2;
-
-    private Button radioButton3;
-
-    private Button checkBox1;
-
-    private Button checkBox2;
-
-    private Button checkBox3;
-
-    private Text textField;
-
-    /**
-     * Creates an new checkbox instance and sets the default
-     * layout data.
-     *
-     * @param group  the composite in which to create the checkbox
-     * @param label  the string to set into the checkbox
-     * @return the new checkbox
-     */
-    private Button createCheckBox(Composite group, String label) {
-        Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-        button.setText(label);
-        button.addSelectionListener(this);
-        GridData data = new GridData();
-        button.setLayoutData(data);
-        return button;
-    }
-
-    /**
-     * Creates composite control and sets the default layout data.
-     *
-     * @param parent  the parent of the new composite
-     * @param numColumns  the number of columns for the new composite
-     * @return the newly-created coposite
-     */
-    private Composite createComposite(Composite parent, int numColumns) {
-        Composite composite = new Composite(parent, SWT.NULL);
-
-        //GridLayout
-        GridLayout layout = new GridLayout();
-        layout.numColumns = numColumns;
-        composite.setLayout(layout);
-
-        //GridData
-        GridData data = new GridData();
-        data.verticalAlignment = GridData.FILL;
-        data.horizontalAlignment = GridData.FILL;
-        composite.setLayoutData(data);
-        return composite;
-    }
-
-    /** (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    protected Control createContents(Composite parent) {
-        WorkbenchHelp.setHelp(parent, IReadmeConstants.PREFERENCE_PAGE_CONTEXT);
-
-        //composite_textField << parent
-        Composite composite_textField = createComposite(parent, 2);
-        createLabel(composite_textField, MessageUtil.getString("Text_Field")); //$NON-NLS-1$
-        textField = createTextField(composite_textField);
-        createPushButton(composite_textField, MessageUtil.getString("Change")); //$NON-NLS-1$
-
-        //composite_tab << parent
-        Composite composite_tab = createComposite(parent, 2);
-        createLabel(composite_tab, MessageUtil
-                .getString("Radio_Button_Options")); //$NON-NLS-1$
-
-        //
-        tabForward(composite_tab);
-        //radio button composite << tab composite
-        Composite composite_radioButton = createComposite(composite_tab, 1);
-        radioButton1 = createRadioButton(composite_radioButton, MessageUtil
-                .getString("Radio_button_1")); //$NON-NLS-1$
-        radioButton2 = createRadioButton(composite_radioButton, MessageUtil
-                .getString("Radio_button_2")); //$NON-NLS-1$
-        radioButton3 = createRadioButton(composite_radioButton, MessageUtil
-                .getString("Radio_button_3")); //$NON-NLS-1$
-
-        //composite_tab2 << parent
-        Composite composite_tab2 = createComposite(parent, 2);
-        createLabel(composite_tab2, MessageUtil.getString("Check_Box_Options")); //$NON-NLS-1$
-
-        //
-        tabForward(composite_tab2);
-        //composite_checkBox << composite_tab2
-        Composite composite_checkBox = createComposite(composite_tab2, 1);
-        checkBox1 = createCheckBox(composite_checkBox, MessageUtil
-                .getString("Check_box_1")); //$NON-NLS-1$
-        checkBox2 = createCheckBox(composite_checkBox, MessageUtil
-                .getString("Check_box_2")); //$NON-NLS-1$
-        checkBox3 = createCheckBox(composite_checkBox, MessageUtil
-                .getString("Check_box_3")); //$NON-NLS-1$
-
-        initializeValues();
-
-        //font = null;
-        return new Composite(parent, SWT.NULL);
-    }
-
-    /**
-     * Utility method that creates a label instance
-     * and sets the default layout data.
-     *
-     * @param parent  the parent for the new label
-     * @param text  the text for the new label
-     * @return the new label
-     */
-    private Label createLabel(Composite parent, String text) {
-        Label label = new Label(parent, SWT.LEFT);
-        label.setText(text);
-        GridData data = new GridData();
-        data.horizontalSpan = 2;
-        data.horizontalAlignment = GridData.FILL;
-        label.setLayoutData(data);
-        return label;
-    }
-
-    /**
-     * Utility method that creates a push button instance
-     * and sets the default layout data.
-     *
-     * @param parent  the parent for the new button
-     * @param label  the label for the new button
-     * @return the newly-created button
-     */
-    private Button createPushButton(Composite parent, String label) {
-        Button button = new Button(parent, SWT.PUSH);
-        button.setText(label);
-        button.addSelectionListener(this);
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        button.setLayoutData(data);
-        return button;
-    }
-
-    /**
-     * Utility method that creates a radio button instance
-     * and sets the default layout data.
-     *
-     * @param parent  the parent for the new button
-     * @param label  the label for the new button
-     * @return the newly-created button
-     */
-    private Button createRadioButton(Composite parent, String label) {
-        Button button = new Button(parent, SWT.RADIO | SWT.LEFT);
-        button.setText(label);
-        button.addSelectionListener(this);
-        GridData data = new GridData();
-        button.setLayoutData(data);
-        return button;
-    }
-
-    /**
-     * Create a text field specific for this application
-     *
-     * @param parent  the parent of the new text field
-     * @return the new text field
-     */
-    private Text createTextField(Composite parent) {
-        Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-        text.addModifyListener(this);
-        GridData data = new GridData();
-        data.horizontalAlignment = GridData.FILL;
-        data.grabExcessHorizontalSpace = true;
-        data.verticalAlignment = GridData.CENTER;
-        data.grabExcessVerticalSpace = false;
-        text.setLayoutData(data);
-        return text;
-    }
-
-    /** 
-     * The <code>ReadmePreferencePage</code> implementation of this
-     * <code>PreferencePage</code> method 
-     * returns preference store that belongs to the our plugin.
-     * This is important because we want to store
-     * our preferences separately from the desktop.
-     */
-    protected IPreferenceStore doGetPreferenceStore() {
-        return ReadmePlugin.getDefault().getPreferenceStore();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPreferencePage
-     */
-    public void init(IWorkbench workbench) {
-        // do nothing
-    }
-
-    /**
-     * Initializes states of the controls using default values
-     * in the preference store.
-     */
-    private void initializeDefaults() {
-        IPreferenceStore store = getPreferenceStore();
-        checkBox1.setSelection(store
-                .getDefaultBoolean(IReadmeConstants.PRE_CHECK1));
-        checkBox2.setSelection(store
-                .getDefaultBoolean(IReadmeConstants.PRE_CHECK2));
-        checkBox3.setSelection(store
-                .getDefaultBoolean(IReadmeConstants.PRE_CHECK3));
-
-        radioButton1.setSelection(false);
-        radioButton2.setSelection(false);
-        radioButton3.setSelection(false);
-        int choice = store.getDefaultInt(IReadmeConstants.PRE_RADIO_CHOICE);
-        switch (choice) {
-        case 1:
-            radioButton1.setSelection(true);
-            break;
-        case 2:
-            radioButton2.setSelection(true);
-            break;
-        case 3:
-            radioButton3.setSelection(true);
-            break;
-        }
-        textField.setText(store.getDefaultString(IReadmeConstants.PRE_TEXT));
-    }
-
-    /**
-     * Initializes states of the controls from the preference store.
-     */
-    private void initializeValues() {
-        IPreferenceStore store = getPreferenceStore();
-        checkBox1.setSelection(store.getBoolean(IReadmeConstants.PRE_CHECK1));
-        checkBox2.setSelection(store.getBoolean(IReadmeConstants.PRE_CHECK2));
-        checkBox3.setSelection(store.getBoolean(IReadmeConstants.PRE_CHECK3));
-
-        int choice = store.getInt(IReadmeConstants.PRE_RADIO_CHOICE);
-        switch (choice) {
-        case 1:
-            radioButton1.setSelection(true);
-            break;
-        case 2:
-            radioButton2.setSelection(true);
-            break;
-        case 3:
-            radioButton3.setSelection(true);
-            break;
-        }
-        textField.setText(store.getString(IReadmeConstants.PRE_TEXT));
-    }
-
-    /** (non-Javadoc)
-     * Method declared on ModifyListener
-     */
-    public void modifyText(ModifyEvent event) {
-        //Do nothing on a modification in this example
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    protected void performDefaults() {
-        super.performDefaults();
-        initializeDefaults();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on PreferencePage
-     */
-    public boolean performOk() {
-        storeValues();
-        ReadmePlugin.getDefault().savePluginPreferences();
-        return true;
-    }
-
-    /**
-     * Stores the values of the controls back to the preference store.
-     */
-    private void storeValues() {
-        IPreferenceStore store = getPreferenceStore();
-        store.setValue(IReadmeConstants.PRE_CHECK1, checkBox1.getSelection());
-        store.setValue(IReadmeConstants.PRE_CHECK2, checkBox2.getSelection());
-        store.setValue(IReadmeConstants.PRE_CHECK3, checkBox3.getSelection());
-
-        int choice = 1;
-
-        if (radioButton2.getSelection())
-            choice = 2;
-        else if (radioButton3.getSelection())
-            choice = 3;
-
-        store.setValue(IReadmeConstants.PRE_RADIO_CHOICE, choice);
-        store.setValue(IReadmeConstants.PRE_TEXT, textField.getText());
-    }
-
-    /**
-     * Creates a tab of one horizontal spans.
-     *
-     * @param parent  the parent in which the tab should be created
-     */
-    private void tabForward(Composite parent) {
-        Label vfiller = new Label(parent, SWT.LEFT);
-        GridData gridData = new GridData();
-        gridData = new GridData();
-        gridData.horizontalAlignment = GridData.BEGINNING;
-        gridData.grabExcessHorizontalSpace = false;
-        gridData.verticalAlignment = GridData.CENTER;
-        gridData.grabExcessVerticalSpace = false;
-        vfiller.setLayoutData(gridData);
-    }
-
-    /** (non-Javadoc)
-     * Method declared on SelectionListener
-     */
-    public void widgetDefaultSelected(SelectionEvent event) {
-        //Handle a default selection. Do nothing in this example
-    }
-
-    /** (non-Javadoc)
-     * Method declared on SelectionListener
-     */
-    public void widgetSelected(SelectionEvent event) {
-        //Do nothing on selection in this example;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.java
deleted file mode 100644
index b079b40..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ReadmeSectionsView.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.ui.examples.readmetool;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * This class demonstrates a simple view containing a single viewer.
- */
-public class ReadmeSectionsView extends ViewPart implements ISelectionListener {
-    ListViewer viewer;
-
-    /**
-     * Creates a new ReadmeSectionsView .
-     */
-    public ReadmeSectionsView() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart
-     */
-    public void createPartControl(Composite parent) {
-        viewer = new ListViewer(parent);
-
-        WorkbenchHelp.setHelp(viewer.getControl(),
-                IReadmeConstants.SECTIONS_VIEW_CONTEXT);
-
-        // if the objects in the viewer implement the IDesktopElement adapter,
-        // these generic content and label providers can be used.
-        viewer.setContentProvider(new WorkbenchContentProvider());
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-
-        // add myself as a global selection listener
-        getSite().getPage().addSelectionListener(this);
-
-        // prime the selection
-        selectionChanged(null, getSite().getPage().getSelection());
-    }
-
-    /**
-     * The <code>ReadmeSectionView</code> implementation of this 
-     * <code>IWorkbenchPart</code> method runs super
-     * and removes itself from the global selection listener. 
-     */
-    public void dispose() {
-        super.dispose();
-        getSite().getPage().removeSelectionListener(this);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on ISelectionListener
-     */
-    public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-        //if the selection is a readme file, get its sections.
-        AdaptableList input = ReadmeModelFactory.getInstance().getSections(sel);
-        viewer.setInput(input);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchPart
-     */
-    public void setFocus() {
-        viewer.getControl().setFocus();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.java
deleted file mode 100644
index 10f949e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/SectionsDialog.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.ui.examples.readmetool;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ListViewer;
-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.List;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * This dialog is an example of a detached window launched
- * from an action in the desktop.
- */
-public class SectionsDialog extends Dialog {
-    protected IAdaptable input;
-
-    /**
-     * Creates a new SectionsDialog.
-     */
-    public SectionsDialog(Shell parentShell, IAdaptable input) {
-        super(parentShell);
-        this.input = input;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Window.
-     */
-    protected void configureShell(Shell newShell) {
-        super.configureShell(newShell);
-        newShell.setText(MessageUtil.getString("Readme_Sections")); //$NON-NLS-1$
-        WorkbenchHelp.setHelp(newShell,
-                IReadmeConstants.SECTIONS_DIALOG_CONTEXT);
-    }
-
-    /* (non-Javadoc)
-     * Method declared on Dialog
-     */
-    protected Control createDialogArea(Composite parent) {
-        Composite composite = (Composite) super.createDialogArea(parent);
-
-        List list = new List(composite, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_BOTH);
-        list.setLayoutData(data);
-        ListViewer viewer = new ListViewer(list);
-        viewer.setContentProvider(new WorkbenchContentProvider());
-        viewer.setLabelProvider(new WorkbenchLabelProvider());
-        viewer.setInput(input);
-
-        return composite;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
deleted file mode 100644
index 6668d09..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/ViewActionDelegate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.examples.readmetool;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * This class is used to demonstrate view action extensions.
- * An extension should be defined in the readme plugin.xml.
- */
-public class ViewActionDelegate implements IViewActionDelegate {
-    public IViewPart view;
-
-    /**
-     * Creates a new ViewActionDelegate.
-     */
-    public ViewActionDelegate() {
-        super();
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IViewActionDelegate
-     */
-    public void init(IViewPart view) {
-        this.view = view;
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IActionDelegate
-     */
-    public void run(org.eclipse.jface.action.IAction action) {
-        MessageDialog.openInformation(view.getSite().getShell(), MessageUtil
-                .getString("Readme_Editor"), //$NON-NLS-1$
-                MessageUtil.getString("View_Action_executed")); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IActionDelegate
-     */
-    public void selectionChanged(org.eclipse.jface.action.IAction action,
-            org.eclipse.jface.viewers.ISelection selection) {
-        // do nothing
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.java
deleted file mode 100644
index 944366d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/WindowActionDelegate.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.ui.examples.readmetool;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * This class shows how <code>IActionDelegate</code> implementations
- * should be used for global action registration for menu 
- * and tool bars. Action proxy object is created in the 
- * desktop based on presentation information in the plugin.xml
- * file. Delegate is not loaded until the first time the user
- * presses the button or selects the menu. Based on the action
- * availability, it is possible that the button will disable
- * instead of executing.
- */
-public class WindowActionDelegate implements IWorkbenchWindowActionDelegate {
-    private IWorkbenchWindow window;
-
-    private ISelection selection;
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchActionDelegate
-     */
-    public void dispose() {
-        // do nothing
-    }
-
-    /* (non-Javadoc)
-     * Method declared on IWorkbenchActionDelegate
-     */
-    public void init(IWorkbenchWindow window) {
-        this.window = window;
-    }
-
-    /** 
-     * The <code>WindowActionDelegate</code> implementation of this
-     * <code>IActionDelegate</code> method 
-     * launches a stand-alone dialog that contains a list of sections for
-     * the selected readme file in the navigator.
-     */
-    public void run(IAction action) {
-        SectionsDialog dialog = new SectionsDialog(window.getShell(),
-                ReadmeModelFactory.getInstance().getSections(selection));
-        dialog.open();
-    }
-
-    /** 
-     * The <code>WindowActionDelegate</code> implementation of this
-     * <code>IActionDelegate</code> method 
-     * does nothing - we will let simple rules in the XML
-     * config file react to selections.
-     */
-    public void selectionChanged(IAction action, ISelection selection) {
-        this.selection = selection;
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties b/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
deleted file mode 100644
index 5f0cf3a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/Eclipse UI Examples Readme Tool/org/eclipse/ui/examples/readmetool/messages.properties
+++ /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
-###############################################################################
-Add=&Add
-Clean=Clean
-Save_Needed=Save Needed
-Editor_Action_executed=Editor Action executed
-Readme_Editor=Readme Editor
-Readme_Outline=Readme Outline
-Line_count=Line count
-Title_length=Title length
-Title_start=Title start
-Popup_Menu_Action_executed=Popup Menu Action executed
-Readme_Example=Readme Example
-Automatic_sample_section_generation=Automatic sample section generation
-Create_Readme_File=Create Readme File
-Create_a_new_Readme_file_resource=Create a new Readme file resource.
-Generate_sample_section_titles=&Generate sample section titles
-Generate_sample_subsection_titles=Generate sample subsection &titles
-Open_file_for_editing_when_done=&Open file for editing when done
-Readme_file_name=&Readme file name:
-SAMPLE_README_FILE=\n\n     SAMPLE README FILE\n\n
-SECTION_1=1. SECTION 1\n
-SECTION_1_BODY_1=This text is a placeholder for the section body.\n
-SECTION_2=2. SECTION 2\n
-SECTION_2_BODY_1=This text is a placeholder for the section body. It is\n
-SECTION_2_BODY_2=a bit longer in order to span two lines.\n
-Subsection_1_1=\ \ \ 1.1 Subsection\n
-Subsection_1_1_Body_1=\ \ \ This text is a placeholder for the subsection body\n
-Subsection_2_1=\ \ \ 2.1 Subsection\n
-Subsection_2_1_BODY_1=\ \ \ This text is a placeholder for the subsection body\n
-Subsection_2_2=\ \ \ 2.2 Subsection\n
-Subsection_2_2_BODY_1=\ \ \ This text is a placeholder for the subsection body\n
-New_Readme_File=New Readme File
-Exception_in_readme_drop_adapter=Exception in readme drop adapter: 
-Editor_Action1=Editor Action &1
-Editor_Action2=Editor Action &2
-Editor_Action3=Editor Action &3
-Editor_Action4=Editor Action &4
-Editor_Action5=Editor Action &5
-Outline_Action2=Outline Action &2
-Outline_Action3=Outline Action &3
-Outline_Action4=Outline Action &4
-Outline_Action5=Outline Action &5
-Editor_is_active=Editor is active
-Empty_Editor_Name=Empty
-Readme_Editor_Action1=Readme Editor Action 1
-Readme_Editor_Action2=Readme Retarget Editor Action 2
-Readme_Editor_Action3=Readme Label Retarget Editor Action 3
-Readme_Editor_Action5=Readme Label Retarget Editor Action 5
-Readme_Outline_Action3=Readme Label Retarget Outline Action 3
-Readme_Outline_Action5=Readme Label Retarget Outline Action 5
-Readme_Menu=&Readme
-ReadmeEditorActionExecuted=Readme Editor Action executed: {0} for: {1}
-ReadmeOutlineActionExecuted=Readme Outline Action executed
-<Unknown>=<Unknown>
-<file_contents_not_local>=<file contents not local>
-Additional_information=Additional information about the Readme file can go here.
-File_name=File name:
-Number_of_sections=Number of sections:
-Path=Path: 
-Size=Size: 
-Additional_Readme_properties_not_available.=Additional Readme properties not available.
-Had_it_been_less_than_256_bytes_this_page_would_be_a_placeholder_page.=Had it been less than 256 bytes, this page would be a placeholder page.
-The_size_of_the_Readme_file_is_at_least_256_bytes.=The size of the Readme file is at least 256 bytes.
-This_illustrates_a_property_page_that_is_dynamically_determined=This illustrates a property page that is dynamically determined
-not_to_be_available_based_on_the_state_of_the_object.=not to be available based on the state of the object.
-to_be_available_based_on_the_state_of_the_object.=to be available based on the state of the object.
-Unable_to_create_file_parser=Unable to create file parser.
-Default_text=Default text
-Change=Chan&ge
-Check_Box_Options=Check Box Options
-Check_box_1=&Check box 1
-Check_box_2=C&heck box 2
-Check_box_3=Check bo&x 3
-Radio_Button_Options=Radio Button Options
-Radio_button_1=&Radio button 1
-Radio_button_2=Rad&io button 2
-Radio_button_3=Radio b&utton 3
-Text_Field=&Text Field
-Readme_Sections=Readme Sections
-View_Action_executed=View Action executed
-Add_Sentence=Add Sentence
-Resolution_Error=Resolution Error
-Unable_to_open_file_editor=Unable to open file editor
-Simple_sentence=This is a simple sentence.\n
-Readme_marker_message_example=Readme marker example 
-Add_readme_marker_action_label=Readme Marker Example &
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml b/examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml
deleted file mode 100644
index bf2b580..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/HelpContexts.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<contexts>
-
-   <context  id="open_browser_action_context" >
-      <description>Opens the readme browser </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-   <context  id="view_action_context" >
-      <description>Runs a readme view action <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-   <context  id="editor_action_context" >
-      <description>Runs a readme editor action <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-   <context  id="editor_action1_context" >
-      <description>Runs readme editor action 1 <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-   <context  id="editor_action2_context" >
-      <description>Runs readme editor action 2 <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-   <context  id="editor_action3_context" >
-      <description>Runs readme editor action 3 <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="sections_view_context" >
-      <description>Readme sections view <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="sections_dialog_context" >
-      <description>Readme sections dialog <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="preference_page_context" >
-      <description>Readme preference page <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="property_page_context" >
-      <description>Readme property page <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-   <context  id="property_page2_context" >
-      <description>Readme property page2 <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="editor_context" >
-      <description>Readme editor <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="content_outline_page_context" >
-      <description>Readme editor content outline <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="creation_wizard_page_context" >
-      <description>Readme file creation wizard <b>Help</b> </description>
-      <topic href="contexts/RelatedContext3.html"  label="Help Related Topic 3 - Temporary"/>
-      <topic href="contexts/RelatedContext4.html"  label="Help Related Topic 4 - Temporary"/>
-   </context>
-
-   <context  id="marker_example1_context" >
-      <description>Readme marker example 1 <b>Help</b> id = 1234 </description>
-   </context>
-   <context  id="marker_example2_context" >
-      <description>Readme marker example 2 <b>Help</b> level = 7 </description>
-   </context>
-   <context  id="marker_example3_context" >
-      <description>Readme marker example 3 <b>Help</b> level = 7, department = infra </description>
-   </context>
-   <context  id="marker_example4_context" >
-      <description>Readme marker example 4 <b>Help</b> code = red </description>
-   </context>
-   <context  id="marker_example5_context" >
-      <description>Readme marker example 5 <b>Help</b> language = english </description>
-   </context>
-   <context  id="marker_example6_context" >
-      <description>Readme marker example 6 <b>Help</b> id = 1234, level = 7, department = infra, code = red, language = english </description>
-   </context>
-   <context  id="marker_example7_context" >
-      <description>Readme marker example 7 <b>Help</b> No attributes specified </description>
-   </context>
-</contexts>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/about.html b/examples/org.eclipse.ui.examples.readmetool/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/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/examples/org.eclipse.ui.examples.readmetool/build.properties b/examples/org.eclipse.ui.examples.readmetool/build.properties
deleted file mode 100644
index e212ac0..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.readmetool.jar = Eclipse UI Examples Readme Tool/
-
-bin.includes = doc/,\
-				doc-html/,\
-				icons/,\
-				.options,\
-				about.html,\
-				doc.zip,\
-				HelpContexts.xml,\
-				plugin.properties,\
-				plugin.xml,\
-				*.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm b/examples/org.eclipse.ui.examples.readmetool/doc-html/hglegal.htm
deleted file mode 100644
index c598113..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/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/examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif b/examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html b/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
deleted file mode 100644
index 0167478..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc-html/ui_readmetool_ex.html
+++ /dev/null
@@ -1,165 +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>Desktop - Readme Tool Example</title>
-</head>
-<body>
-
-<h2>
-<b>Example - Readme Tool</b></h2>
-
-<h3>
-Introduction</h3>
-The Readme editor shows how to define your own extension points for use
-by other plugins. It also shows how to create extensions for resource popup
-menu entries, new resource wizards, file editors on an extension (.readme),
-a custom view and property pages.
-<h3>
-Running the example</h3>
-To start using this example create a file with the .readme extension using
-the file creation wizard or create one using the example creation wizard.
-The additional&nbsp; view provided by this example can be seen by selecting
-Window > Show View > Other and expanding the Readme section. The
-view action can be seen by clicking on the readme icon on the Navigator
-View.
-<h4>
-Creating a new readme file</h4>
-Create a new file with file extension .readme.&nbsp; From the File menu,
-select New and then select Other... from the sub menu.&nbsp; Click on Simple
-in the wizard, then select File in the list on the left.&nbsp; Click on
-Next to supply the file name (make sure the extension is .readme) and the
-folder in which the file should be contained.
-<h4>
-Example creation wizards</h4>
-From the File menu, select New and from the sub menu select Example...&nbsp;
-Now select Example Creation Wizards. Select Readme File. Click Next. Select
-the folder in which you want the file to be created. Type the name of the
-file with a .readme extension. Click Finish.
-<h4>
-Readme view extension action</h4>
-In the Navigator View, select a file with extension .readme. If there isn't
-one create a file with that extension. On the local toolbar of the Navigator
-View, you will see a button whose hover help says Run Readme View Extension.&nbsp;
-Click on this button.&nbsp; A dialog will popup saying View Action executed.
-<h4>
-Popup menus</h4>
-In the Navigator View, select a file with extension .readme.&nbsp; If there
-isn't one create a file with that extension.&nbsp; Select the file to bring
-up the popup menu.&nbsp; Notice there is a menu item that says Show Readme
-Action in the popup menu.&nbsp; Choose this menu item to open a dialog
-that says Popup Menu Action Executed.
-<h4>
-Preference page</h4>
-From the Window menu, select Preferences.&nbsp; Click on the page called
-Readme Example.&nbsp; This shows an example of a preference page.
-<h4>
-Property page</h4>
-In the Navigator View, select a file with extension .readme.&nbsp; If there
-isn't one create a file with that extension.&nbsp; Select the file to bring
-up the popup menu, then select the Properties menu item.&nbsp; Click on
-the page called Readme Tool to see an example of a property page.
-<h4>
-Readme file editor</h4>
-The Readme File Editor is the default editor for files of type *.readme.&nbsp;
-Create a file with extension .readme and open the file by double clicking
-on it, or by bringing up the popup menu,&nbsp; selecting Open With, then
-selecting Readme File Editor from the sub menu.&nbsp; Notice the editor
-has an icon with a pencil.&nbsp; This is the editor that the readme tool
-uses by default for files of type *.readme.
-<h4>
-Readme Editor Actions</h4>
-This demonstrates an example of actions that are applicable only to a particular
-editor.&nbsp; When a readme file editor has focus, notice 4 additional
-tool bar buttons - Run Readme Editor Extension, Readme Editor Action 1,
-Readme Editor Action 2, Readme Editor Action 3.
-<p>A pull down menu named Readme appears when a readme file editor has
-focus.&nbsp; It contains the actions previously described: Readme Editor
-Action 1, Readme Editor Action 2, Readme Editor Action 3.
-<h4>
-Readme sections view</h4>
-To see this Readme Sections view, from the Window menu select Show
-View, then select Other... from the sub menu.&nbsp; Expand the Readme item
-and then select Readme Sections.&nbsp; This will show a list of the sections
-in the current *.readme file when a .readme file is selected in the Navigator
-View.&nbsp; You can also see the structure of a *.readme file in the Outline
-view.
-<p>A file with extension .readme can be broken down into sections when
-each section begins with a number.&nbsp; For example, if the following
-text were entered into the readme file editor, the readme tool would detect
-2 sections.&nbsp; To see how sections are detected in the readme tool,
-type some text in the readme file editor, save the file by either typing
-CTRL-S or selecting&nbsp; File->Save. Open the Readme Sections view and
-select the .readme file in the Navigator View.
-<p>Example text:
-<p>99.1 This is my first section
-<br>This is some text in my first section.
-<p>99.1.1 This is a sub section
-<br>This is some text in my sub-section.
-<h4>Drag and Drop</h4>
-<p>The Drag and Drop functionality can be seen by selecting a section in the
-Outline View and dragging the selection over top of a text file. The contents of
-the selection will be appended to the file.
-<h4>
-Help contribution</h4>
-The readme tool example also demonstrates how to use and implement context
-help on all of the extensions it supplies - a view, various actions and
-a wizard page.&nbsp; To get context help on an action, hover over the menu
-item, but do no select it, then hit the F1 key.&nbsp; You can also get
-context sensitive (F1) help on the Readme Sections view and the Example
-Creation Wizards page (in the New wizard).
-<br>&nbsp;
-<h3>
-Details</h3>
-The Readme Tool example declares one extension point and supplies a number
-of extensions.&nbsp; The extensions supplied are quite comprehensive in
-understanding how the Workbench functions, as it utilizes a number of the
-more interesting extension points declared by the workbench.&nbsp; Supplied
-extensions included in this example are views and view actions, preference
-pages, property pages, wizards, editors and editor actions, popup menus,
-action sets, help contributions, help contexts, and drop actions.
-<p>This example also supplies an extension point declared in the plug-in..
-The class IReadmeFileParser is required for any plug-in that uses the org.eclipse.ui.examples.readmetool.sectionParser
-extension that this example defines. The class DefaultSectionParser is
-an example implementation of IReadmeFileParser.
-<p>The class ReadmeEditor implements IEditorPart and is defined as an editor
-on files with the extension .readme in the plugin.xml using the org.eclipse.ui.editors
-extension point. The class ReadmeSectionsView implements IViewPart and
-is defined as a view using the org.eclipse.ui.views extension point. This
-extension point also defines a category for the view for use in view selection.
-<p>Two types of preference settings are defined in this example, workbench
-preferences and resource properties. The workbench preference is defined
-in class ReadmePreferencePage which implements IWorkbenchPreferencePage
-so that it will be added to the Window-&gt;Preferences dialog. The class
-is defined in the extension point org.eclipse.ui.preferencePages in the
-plugin.xml. The two resource properties pages are ReadmeFilePropertyPage
-and ReadmeFilePropertyPage2 both of which implement IWorkbenchPropertyPage.
-They are both defined to be invoked on the IFile type by the objectClass
-tag in the plugin.xml in the org.eclipse.ui.propertyPages extension point.
-<p>The class ReadmeCreationWizard implements INewWizard and is defined
-in the org.eclipse.ui.newWizards extension point in the plugin.xml. This
-extension point also defines the category that the wizard that is shown
-when the user selects File-&gt;New-&gt;Example....
-<p>Several action stubs are added to this example. The action set declares
-a menu labeled Readme File Editor<b> </b>to be included in the workbench
-window menu bar using the extension point org.eclipse.ui.actionSets. It
-also defines an action for the workbench toolbar and menu bar using the
-tags toolbarPath and menubarPath. It uses the class WindowActionDelegate
-which implements IWorkbenchWindowActionDelegate to implement the action.
-The action for the popup menu is defined as an objectContribution by the
-class PopupMenuActionDelegate in&nbsp; the extension point org.eclipse.ui.popupMenus.
-PopupMenuActionDelegate implements IObjectActionDelegate and uses the IWorkbenchPart
-provided to open a message dialog. The view action ViewActionDelegate is
-defined in the extension point org.eclipse.ui.viewActions and implements
-IViewActionDelegate. The View it appears in is defined by the tag targetID
-which in this example is org.eclipse.ui.views.ResourceNavigator. The editor
-action is defined by the class EditorActionDelegate which implements IEditorActionDelegate
-and is added using the org.eclipse.ui.editorActions extension point. The
-editor that it is applied to is defined by the tag targetID which in this
-example is defined on org.eclipse.ui.examples.readmetool.ReadmeEditor.<p>The
-class ReadmeDropActionDelegate implements IDropDelegate. IDropDelegates are
-informed every time there is a drop action performed in the workbench . The
-extension point for this action is org.eclipse.ui.dropActions.
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc.zip b/examples/org.eclipse.ui.examples.readmetool/doc.zip
deleted file mode 100644
index 41e8aa9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc.zip
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm b/examples/org.eclipse.ui.examples.readmetool/doc/hglegal.htm
deleted file mode 100644
index c598113..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/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/examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif b/examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html b/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
deleted file mode 100644
index 9db703c..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool.html
+++ /dev/null
@@ -1,28 +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>Readme Tool Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-Readme Tool</h1></center>
-The Readme Tool is provided as an example for tool developers. It demonstrates
-the extension of various aspects of the workbench, both visually and functionally.
-As well, the Readme Tool provides extension points of its own.
-<p>
-<hr WIDTH="100%">
-<h1>
-Extension Points</h1>
-The following extension points can be used to extend the Readme Tool:
-<ul>
-<li>
-<a href="org_eclipse_ui_examples_readmetool_sectionParser.html">org.eclipse.ui.readmetool.sectionParser</a></li>
-</ul>
-
-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." width="195" height="12" border="0"></a></p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html b/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html
deleted file mode 100644
index 12419de..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/doc/org_eclipse_ui_examples_readmetool_sectionParser.html
+++ /dev/null
@@ -1,65 +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>README Tool Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-Section Parser</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.ui.examples.readmetool.sectionParser
-<p><b><i>Description: </i></b>This extension point allows tools to provide
-a parser for Readme files which identifies the sections of the file.
-The sections determined by this parser will show up in the outliner when a
-Readme file is open in the editor. The sections will also appear in the 
-"Readme sections" view.
-<p>The default section parser provided with the Readme Tool is a simple parser
-which considers sections to be numbered at the beginning of a line. Top-level
-sections are signified by a number followed by a period, such as in the following
-regular expression: "[0-9]+\.". Examples are "1.", "0.", and "12345.".
-Subsections are signified by the regular expression: "([0-9]+\.)+[0-9]+". Examples
-of subsections are "1.1", "1.1.1.1", and "123.456.7890". Any level of subsection
-nesting may occur. Section and subsection markers must occur before any other
-non-whitespace characters on a line.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt>&nbsp;&nbsp; &lt;!ATTLIST sectionParser</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name &nbsp;CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id &nbsp;&nbsp; CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>name</b> - a string describing this contribution.</li>
-
-<li>
-<b>id</b> - a unique identifier that can be used to reference this extension.</li>
-
-<li>
-<b>class</b> - a fully qualified name of the class which provides this extension.</li>
-</ul>
-
-<b><i>Examples:</i></b>
-<p>The following is an example of a sectionParser extension point:
-<p><tt>&nbsp;&nbsp;&lt;extension point="org.eclipse.ui.examples.readmetool.sectionParser"></tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;parser</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="Custom README Section Parser"</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id="com.xyz.CustomSectionParser"</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="com.xyz.CustomSectionParser"></tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/parser></tt>
-<br><tt>&nbsp;&nbsp;&lt;/extension></tt>
-<p>In the example above, the class com.xyz.CustomSectionParser will be used as
-the section parser for Readme files.
-<p><b><i>API Information: </i></b>Value of the action attribute <b>class</b>
-must be a fully qualified class name of a Java class that implements the interface
-org.eclipse.ui.examples.readmetool.IReadmeFileParser. This interface is loaded as 
-late as possible to avoid loading the entire tool before it is really needed.
-<p><b><i>Supplied Implementation: </i></b>As described above, the default section
-parser uses a simple grammar of sections identified by numbers followed by periods,
-and subsections identified by the pattern of a number followed by a period, repeated
-an arbitrary number of times, and ending with a number.
-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." width="195" height="12" border="0"></a></p>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif
deleted file mode 100644
index 91077ef..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif
deleted file mode 100644
index c2a3e17..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif
deleted file mode 100644
index 9c14f74..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/action3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif b/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif
deleted file mode 100644
index 6d40439..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/ctool16/openbrwsr.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif
deleted file mode 100644
index 0c50830..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif
deleted file mode 100644
index 3f978df..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif
deleted file mode 100644
index f9f1e95..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/action3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif b/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif
deleted file mode 100644
index 02a2df8..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/dtool16/openbrwsr.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif
deleted file mode 100644
index 55fb1a6..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action1.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif
deleted file mode 100644
index f801d2e..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action2.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif
deleted file mode 100644
index 5e199b1..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/action3.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif b/examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif
deleted file mode 100644
index bdbe8ca..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/etool16/openbrwsr.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif b/examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif
deleted file mode 100644
index c48d9a9..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/editor.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif b/examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif
deleted file mode 100644
index 293826d..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/newreadme_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif b/examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif
deleted file mode 100644
index 64d7907..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/obj16/usereditor.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif b/examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif
deleted file mode 100644
index 008fd7a..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/view16/sections.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif b/examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif
deleted file mode 100644
index 3265aaf..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/icons/wizban/newreadme_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.examples.readmetool/plugin.properties b/examples/org.eclipse.ui.examples.readmetool/plugin.properties
deleted file mode 100644
index 2597a03..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Plugin.name = Readme File Editing Tool
-Plugin.providerName = Eclipse.org
-ExtPoint.sectionParser = Section parser for Readme file editor
-SectionParser.name = Default section parser for Readme tool
-ActionSet.name = ReadMe Actions
-ActionSet.menu = Readme &File Editor
-ReadmeAction.label = &Open Readme Browser
-ReadmeAction.tooltip = Open Readme Browser
-ReadmeRetargetAction.label = &Open Readme Browser (Retarget)
-ReadmeRetargetAction.tooltip = Open Readme Browser (Retarget)
-ReadmeRelabelRetargetAction.label = &Open Readme Browser (Retarget - Label Update)
-ReadmeRelabelRetargetAction.tooltip = Open Readme Browser (Retarget - Label Update)
-NewWizard.category = Example Creation Wizards
-NewWizard.name = Readme File
-NewWizard.desc = An example of a wizard that creates sample Readme file
-Editors.ReadmeEditor = Readme File Editor
-Views.category = &Readme
-Views.ReadmeSections = Readme Sections
-PreferencePage.name = Readme Example
-PropertiesPage.filePage = Readme Tool
-PropertiesPage.filePage2 = More Readme Info
-PopupMenus.action = &Show Readme Action
-PopupMenu.ResourceNav.label = &Readme View Extension
-PopupMenu.ResourceNav.tooltip = Run Readme View Extension
-Editors.Action.label = &Readme Editor Extension
-Editors.Action.tooltip = Run Readme Editor Extension
-ReadmeMarker.name = Readme Marker
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.examples.readmetool/plugin.xml b/examples/org.eclipse.ui.examples.readmetool/plugin.xml
deleted file mode 100644
index e687c15..0000000
--- a/examples/org.eclipse.ui.examples.readmetool/plugin.xml
+++ /dev/null
@@ -1,391 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.examples.readmetool"
-   name="%Plugin.name"
-   version="3.1.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.examples.readmetool.ReadmePlugin">
-
-   <runtime>
-      <library name="readmetool.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-   </requires>
-
-
-<!-- ================================================================== -->
-<!--         org.eclipse.ui.examples.readmetool.IReadmeFileParser       -->
-<!-- Extension Implementation: must implement                           -->
-<!--          the file's section and subsection structure               -->
-<!-- Purpose: Provide a custom parser for Readme files which determines -->
-<!-- Extension point: org.eclipse.ui.examples.readmetool.sectionParser  -->
-<!-- ================================================================== -->
-   <extension-point id="sectionParser" name="%ExtPoint.sectionParser"/>
-
-   <extension
-         point="org.eclipse.ui.examples.readmetool.sectionParser">
-      <parser
-            name="%SectionParser.name"
-            class="org.eclipse.ui.examples.readmetool.DefaultSectionsParser"
-            id="org.eclipse.ui.examples.readmetool.DefaultSectionsParser">
-      </parser>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ActionSet.name"
-            visible="true"
-            id="org_eclipse_ui_examples_readmetool_actionSet">
-         <menu
-               label="%ActionSet.menu"
-               path="window/additions"
-               id="org_eclipse_ui_examples_readmetool">
-            <separator
-                  name="slot1">
-            </separator>
-            <separator
-                  name="slot2">
-            </separator>
-            <separator
-                  name="slot3">
-            </separator>
-         </menu>
-         <action
-               id="org_eclipse_ui_examples_readmetool_readmeAction"
-               toolbarPath="readme"
-               class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
-               enablesFor="1"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               label="%ReadmeAction.label"
-               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
-               tooltip="%ReadmeAction.tooltip">
-            <selection
-                  name="*.readme"
-                  class="org.eclipse.core.resources.IFile">
-            </selection>
-         </action>
-         <action
-               label="%ReadmeRetargetAction.label"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               tooltip="%ReadmeRetargetAction.tooltip"
-               retarget="true"
-               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
-               toolbarPath="readme"
-               id="org_eclipse_ui_examples_readmetool_readmeRetargetAction">
-         </action>
-         <action
-               allowLabelUpdate="true"
-               id="org_eclipse_ui_examples_readmetool_readmeRelabelRetargetAction"
-               toolbarPath="readme"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               label="%ReadmeRelabelRetargetAction.label"
-               menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
-               retarget="true"
-               tooltip="%ReadmeRelabelRetargetAction.tooltip">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%NewWizard.category"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.ui.examples.readmetool.new">
-      </category>
-      <wizard
-            name="%NewWizard.name"
-            icon="icons/obj16/newreadme_wiz.gif"
-            category="org.eclipse.ui.Examples/org.eclipse.ui.examples.readmetool.new"
-            class="org.eclipse.ui.examples.readmetool.ReadmeCreationWizard"
-            id="org.eclipse.ui.examples.readmetool.wizards.new.file">
-         <description>
-            %NewWizard.desc
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%Editors.ReadmeEditor"
-            icon="icons/obj16/editor.gif"
-            extensions="readme"
-            contributorClass="org.eclipse.ui.examples.readmetool.ReadmeEditorActionBarContributor"
-            class="org.eclipse.ui.examples.readmetool.ReadmeEditor"
-            id="org.eclipse.ui.examples.readmetool.ReadmeEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Views.category"
-            id="org.eclipse.ui.examples.readmetool">
-      </category>
-      <view
-            name="%Views.ReadmeSections"
-            icon="icons/view16/sections.gif"
-            category="org.eclipse.ui.examples.readmetool"
-            class="org.eclipse.ui.examples.readmetool.ReadmeSectionsView"
-            id="org.eclipse.ui.examples.readmetool.views.SectionsView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.name"
-            class="org.eclipse.ui.examples.readmetool.ReadmePreferencePage"
-            id="org.eclipse.ui.examples.readmetool.Page1">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            name="%PropertiesPage.filePage"
-            nameFilter="*.readme"
-            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage"
-            id="org.eclipse.ui.examples.readmetool.FilePage">
-      </page>
-      <page
-            objectClass="org.eclipse.core.resources.IFile"
-            name="%PropertiesPage.filePage2"
-            nameFilter="*.readme"
-            class="org.eclipse.ui.examples.readmetool.ReadmeFilePropertyPage2"
-            id="org.eclipse.ui.examples.readmetool.FilePage2">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.readme"
-            id="org.eclipse.ui.examples.readmetool">
-         <action
-               label="%PopupMenus.action"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               class="org.eclipse.ui.examples.readmetool.PopupMenuActionDelegate"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.ui.examples.readmetool.action1">
-         </action>
-      </objectContribution>
-      <viewerContribution
-            targetID="org.eclipse.ui.examples.readmetool.outline"
-            id="org.eclipse.ui.examples.readmetool2">
-         <action
-               label="%PopupMenus.action"
-               icon="icons/ctool16/openbrwsr.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
-               class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"
-               menubarPath="additions"
-               id="org.eclipse.ui.examples.readmetool.action1">
-         </action>
-      </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.viewActions">
-      <viewContribution
-            targetID="org.eclipse.ui.views.ResourceNavigator"
-            id="org.eclipse.ui.examples.readmetool.vc1">
-         <action
-               id="org.eclipse.ui.examples.readmetool.va1"
-               toolbarPath="additions"
-               class="org.eclipse.ui.examples.readmetool.ViewActionDelegate"
-               enablesFor="1"
-               icon="icons/obj16/editor.gif"
-               helpContextId="org.eclipse.ui.examples.readmetool.view_action_context"
-               label="%PopupMenu.ResourceNav.label"
-               menubarPath="additions"
-               tooltip="%PopupMenu.ResourceNav.tooltip">
-            <selection
-                  name="*.readme"
-                  class="org.eclipse.core.resources.IFile">
-            </selection>
-         </action>
-      </viewContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor"
-            id="org.eclipse.ui.examples.readmetool.ec1">
-         <action
-               label="%Editors.Action.label"
-               icon="icons/obj16/editor.gif"
-               tooltip="%Editors.Action.tooltip"
-               class="org.eclipse.ui.examples.readmetool.EditorActionDelegate"
-               toolbarPath="ReadmeEditor"
-               id="org.eclipse.ui.examples.readmetool.ea1">
-         </action>
-      </editorContribution>
-   </extension>
-   <extension
-         point="org.eclipse.help.contexts">
-      <contexts
-            file="HelpContexts.xml">
-      </contexts>
-   </extension>
-   <extension
-         point="org.eclipse.ui.dropActions">
-      <action
-            class="org.eclipse.ui.examples.readmetool.ReadmeDropActionDelegate"
-            id="org_eclipse_ui_examples_readmetool_drop_actions">
-      </action>
-   </extension>
-   <extension
-         id="readmemarker"
-         name="%ReadmeMarker.name"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.taskmarker">
-      </super>
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.id">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.level">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.department">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.code">
-      </attribute>
-      <attribute
-            name="org.eclipse.ui.examples.readmetool.language">
-      </attribute>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerHelp">
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example1_context">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.id"
-               value="1234">
-         </attribute>
-      </markerHelp>
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example2_context">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.level"
-               value="7">
-         </attribute>
-      </markerHelp>
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example3_context">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.level"
-               value="7">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.department"
-               value="infra">
-         </attribute>
-      </markerHelp>
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example4_context">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.code"
-               value="red">
-         </attribute>
-      </markerHelp>
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example5_context">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.language"
-               value="english">
-         </attribute>
-      </markerHelp>
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example6_context">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.id"
-               value="1234">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.level"
-               value="7">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.department"
-               value="infra">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.code"
-               value="red">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.language"
-               value="english">
-         </attribute>
-      </markerHelp>
-      <markerHelp
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            helpContextId="org.eclipse.ui.examples.readmetool.marker_example7_context">
-      </markerHelp>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.id"
-               value="1234">
-         </attribute>
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.level"
-               value="7">
-         </attribute>
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            markerType="org.eclipse.ui.examples.readmetool.readmemarker"
-            class="org.eclipse.ui.examples.readmetool.ReadmeMarkerResolutionGenerator">
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.code"
-               value="red">
-         </attribute>
-         <attribute
-               name="org.eclipse.ui.examples.readmetool.language"
-               value="english">
-         </attribute>
-      </markerResolutionGenerator>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer class="org.eclipse.ui.examples.readmetool.ReadmePreferenceInitializer"/>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.ui.forms.examples/.classpath b/examples/org.eclipse.ui.forms.examples/.classpath
deleted file mode 100644
index 54e86b3..0000000
--- a/examples/org.eclipse.ui.forms.examples/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="Help UI"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.ui.forms.examples/.cvsignore b/examples/org.eclipse.ui.forms.examples/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.ui.forms.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.ui.forms.examples/.project b/examples/org.eclipse.ui.forms.examples/.project
deleted file mode 100644
index 3424ee2..0000000
--- a/examples/org.eclipse.ui.forms.examples/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.forms.examples</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.forms</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/examples/org.eclipse.ui.forms.examples/Help UI/org/eclipse/help/ui/internal/views/MarkerViewAdapterFactory.java b/examples/org.eclipse.ui.forms.examples/Help UI/org/eclipse/help/ui/internal/views/MarkerViewAdapterFactory.java
deleted file mode 100644
index 848a744..0000000
--- a/examples/org.eclipse.ui.forms.examples/Help UI/org/eclipse/help/ui/internal/views/MarkerViewAdapterFactory.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Created on Dec 14, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.help.ui.internal.views;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.help.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.views.markers.internal.*;
-
-/**
- * @author dejan
- * 
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-public class MarkerViewAdapterFactory implements IAdapterFactory {
-	private MarkerViewContextHelpProvider provider;
-
-	/**
-	 * 
-	 */
-	private class MarkerViewContextHelpProvider implements IContextProvider {
-		private String id;
-
-		public IContext getContext(Object widget) {
-			return HelpSystem.getContext(id);
-		}
-
-		public int getContextChangeMask() {
-			return SELECTION;
-		}
-
-		public void setId(String id) {
-			this.id = id;
-		}
-		public String getSearchExpression(Object target) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-	}
-
-	public MarkerViewAdapterFactory() {
-		provider = new MarkerViewContextHelpProvider();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object,
-	 *      java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (IContextProvider.class.isAssignableFrom(adapterType)
-				&& adaptableObject instanceof MarkerView) {
-			return createMarkerViewAdapter((MarkerView) adaptableObject);
-		}
-		return null;
-	}
-
-	private Object createMarkerViewAdapter(MarkerView view) {
-		String contextId = null;
-		// See if there is a context registered for the current selection
-		Object selected = ((IStructuredSelection) view.getSite()
-				.getSelectionProvider().getSelection()).getFirstElement();
-		IMarker marker = null;
-
-		if (selected instanceof ConcreteMarker)
-			marker = ((ConcreteMarker) selected).getMarker();
-		else if (selected instanceof IMarker)
-			marker = (IMarker) selected;
-
-		if (marker != null) {
-			contextId = IDE.getMarkerHelpRegistry().getHelp(marker);
-		}
-		if (contextId == null) {
-			contextId = PlatformUI.PLUGIN_ID + ".task_list_view_context"; //$NON-NLS-1$
-		}
-		provider.setId(contextId);
-		return provider;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IContextProvider.class };
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/build.properties b/examples/org.eclipse.ui.forms.examples/build.properties
deleted file mode 100644
index 6e2b0c7..0000000
--- a/examples/org.eclipse.ui.forms.examples/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.examples.jar = src/,\
-                      Help UI/
-bin.includes = plugin.xml,\
-               *.jar,\
-               examples.jar,\
-               icons/
-output.examples.jar = bin/
diff --git a/examples/org.eclipse.ui.forms.examples/icons/clear.gif b/examples/org.eclipse.ui.forms.examples/icons/clear.gif
deleted file mode 100644
index 6bc10f9..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/clear.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/close_view.gif b/examples/org.eclipse.ui.forms.examples/icons/close_view.gif
deleted file mode 100644
index 1aca259..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/close_view.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/container_obj.gif b/examples/org.eclipse.ui.forms.examples/icons/container_obj.gif
deleted file mode 100644
index f32c28d..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/container_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif b/examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif
deleted file mode 100644
index f0f5d83..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/e_search_menu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/file_obj.gif b/examples/org.eclipse.ui.forms.examples/icons/file_obj.gif
deleted file mode 100644
index 6b86d07..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/form_banner.gif b/examples/org.eclipse.ui.forms.examples/icons/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/help.gif b/examples/org.eclipse.ui.forms.examples/icons/help.gif
deleted file mode 100644
index 9d70301..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/help.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/help_topic.gif b/examples/org.eclipse.ui.forms.examples/icons/help_topic.gif
deleted file mode 100644
index 9bdd516..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/help_topic.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/large_image.gif b/examples/org.eclipse.ui.forms.examples/icons/large_image.gif
deleted file mode 100644
index c5c94ee..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/large_image.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif b/examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif
deleted file mode 100644
index 86550fe..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/linkto_help.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif b/examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif
deleted file mode 100644
index dc7d3a7..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/newprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/nw.gif b/examples/org.eclipse.ui.forms.examples/icons/nw.gif
deleted file mode 100644
index d0952a8..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/nw.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/sample.gif b/examples/org.eclipse.ui.forms.examples/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif b/examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif
deleted file mode 100644
index f4c14a4..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/th_horizontal.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif b/examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif
deleted file mode 100644
index f685839..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/th_vertical.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/toc_closed.gif b/examples/org.eclipse.ui.forms.examples/icons/toc_closed.gif
deleted file mode 100644
index 504acb2..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/toc_closed.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/toc_open.gif b/examples/org.eclipse.ui.forms.examples/icons/toc_open.gif
deleted file mode 100644
index 9e665d5..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/toc_open.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/icons/topic_small.gif b/examples/org.eclipse.ui.forms.examples/icons/topic_small.gif
deleted file mode 100644
index 17d8b2e..0000000
--- a/examples/org.eclipse.ui.forms.examples/icons/topic_small.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.ui.forms.examples/plugin.properties b/examples/org.eclipse.ui.forms.examples/plugin.properties
deleted file mode 100644
index b544a2b..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Examples of Eclipse Forms
-baseEditor = Simple Form (RCP) Editor
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/plugin.xml b/examples/org.eclipse.ui.forms.examples/plugin.xml
deleted file mode 100644
index a33860f..0000000
--- a/examples/org.eclipse.ui.forms.examples/plugin.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.forms.examples"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="Eclipse.org"
-   class="org.eclipse.ui.forms.examples.internal.ExamplesPlugin">
-
-   <runtime>
-      <library name="examples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui.forms"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.pde.ui"/>
-      <import plugin="org.eclipse.help.ui"/>
-      <import plugin="org.eclipse.search"/>
-      <import plugin="org.eclipse.help.base"/>
-      <import plugin="org.eclipse.help.appserver"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.jdt.core"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%baseEditor"
-            default="true"
-            icon="icons/file_obj.gif"
-            class="org.eclipse.ui.forms.examples.internal.rcp.SimpleFormEditor"
-            id="org.eclipse.ui.forms.examples.base-editor">
-      </editor>
-      <editor
-            name="Wizard editor"
-            default="true"
-            icon="icons/file_obj.gif"
-            class="org.eclipse.ui.forms.examples.wizards.WizardFormEditorWithOutline"
-            id="org.eclipse.ui.forms.examples.wizard-editor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Eclipse Forms Examples"
-            id="org.eclipse.ui.forms.examples.actionSet">
-         <menu
-               label="Form Editors"
-               id="org.eclipse.ui.forms.examples.menu">
-            <groupMarker
-                  name="group">
-            </groupMarker>
-         </menu>
-         <action
-               label="Simple Form Editor"
-               class="org.eclipse.ui.forms.examples.internal.rcp.OpenSimpleFormEditorAction"
-               menubarPath="org.eclipse.ui.forms.examples.menu/group"
-               id="org.eclipse.ui.forms.examples.simple">
-         </action>
-         <action
-               label="Form Editor Wizard"
-               class="org.eclipse.ui.forms.examples.wizards.OpenEditorWizardAction"
-               menubarPath="org.eclipse.ui.forms.examples.menu/group"
-               id="org.eclipse.ui.forms.examples.editor-wizard">
-         </action>
-         <action
-               label="Assisted Wizard"
-               class="org.eclipse.ui.forms.examples.wizards.OpenAssistedWizardAction"
-               menubarPath="org.eclipse.ui.forms.examples.menu/group"
-               id="org.eclipse.ui.forms.examples.assisted-wizard">
-         </action>
-         <action
-               label="Sample Assisted Wizard"
-               class="org.eclipse.ui.forms.examples.wizards.OpenSampleAssistedWizardAction"
-               menubarPath="org.eclipse.ui.forms.examples.menu/group"
-               id="org.eclipse.ui.forms.examples.sample-assisted-wizard">
-         </action>
-        <action
-               label="Existing Wizard"
-               class="org.eclipse.ui.forms.examples.wizards.OpenExistingEditorWizardAction"
-               menubarPath="org.eclipse.ui.forms.examples.menu/group"
-               id="org.eclipse.ui.forms.examples.existing-editor-wizard">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Eclipse Forms Examples"
-            id="org.eclipse.ui.forms.examples">
-      </category>
-      <view
-            name="Eclipse Form"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.forms.examples"
-            class="org.eclipse.ui.forms.examples.views.FormView"
-            id="org.eclipse.ui.forms.examples.views.FormView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <view
-               ratio="0.5"
-               relative="org.eclipse.ui.views.TaskList"
-               relationship="right"
-               id="org.eclipse.ui.forms.examples.views.FormView">
-         </view>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.adapters">
-      <factory
-            class="org.eclipse.help.ui.internal.views.MarkerViewAdapterFactory"
-            adaptableType="org.eclipse.ui.views.markers.internal.MarkerView">
-         <adapter type="org.eclipse.help.IContextProvider"/>
-      </factory>
-     <!--
-      <factory
-            class="org.eclipse.help.ui.internal.views.JavaEditorAdapterFactory"
-            adaptableType="org.eclipse.jdt.internal.ui.javaeditor.JavaEditor">
-         <adapter type="org.eclipse.help.IContextProvider"/>
-      </factory>
-      <factory
-            class="org.eclipse.help.ui.internal.views.JavaViewAdapterFactory:package_view_context"
-            adaptableType="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
-         <adapter type="org.eclipse.help.IContextProvider"/>
-      </factory>
-      -->
-   </extension>
-</plugin>
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
deleted file mode 100644
index fe98b24..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPlugin.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import java.net.URL;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ExamplesPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static ExamplesPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	private FormColors formColors;
-	public static final String IMG_FORM_BG = "formBg";
-	public static final String IMG_LARGE = "large";
-	public static final String IMG_HORIZONTAL = "horizontal";
-	public static final String IMG_VERTICAL = "vertical";
-	public static final String IMG_SAMPLE = "sample";
-	public static final String IMG_WIZBAN = "wizban";
-	public static final String IMG_LINKTO_HELP = "linkto_help";
-	public static final String IMG_HELP_TOPIC = "help_topic";
-	public static final String IMG_CLOSE = "close";
-	public static final String IMG_HELP_CONTAINER = "container_obj";
-	public static final String IMG_HELP_TOC_OPEN = "toc_open";
-	public static final String IMG_HELP_TOC_CLOSED = "toc_closed";
-	public static final String IMG_HELP_SEARCH = "e_search_menu";
-	public static final String IMG_CLEAR = "clear";
-	public static final String IMG_NW = "nw";
-
-	/**
-	 * The constructor.
-	 */
-	public ExamplesPlugin() {
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle
-					.getBundle("org.eclipse.ui.forms.examples.internal.ExamplesPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	protected void initializeImageRegistry(ImageRegistry registry) {
-		registerImage(registry, IMG_FORM_BG, "form_banner.gif");
-		registerImage(registry, IMG_LARGE, "large_image.gif");
-		registerImage(registry, IMG_HORIZONTAL, "th_horizontal.gif");
-		registerImage(registry, IMG_VERTICAL, "th_vertical.gif");
-		registerImage(registry, IMG_SAMPLE, "sample.gif");
-		registerImage(registry, IMG_WIZBAN, "newprj_wiz.gif");
-		registerImage(registry, IMG_LINKTO_HELP, "linkto_help.gif");
-		registerImage(registry, IMG_HELP_TOPIC, "topic.gif");
-		registerImage(registry, IMG_HELP_CONTAINER, "container_obj.gif");
-		registerImage(registry, IMG_HELP_TOC_CLOSED, "toc_closed.gif");
-		registerImage(registry, IMG_HELP_TOC_OPEN, "toc_open.gif");
-		registerImage(registry, IMG_CLOSE, "close_view.gif");
-		registerImage(registry, IMG_HELP_SEARCH, "e_search_menu.gif");
-		registerImage(registry, IMG_CLEAR, "clear.gif");
-		registerImage(registry, IMG_NW, "nw.gif");
-	}
-
-	private void registerImage(ImageRegistry registry, String key,
-			String fileName) {
-		try {
-			IPath path = new Path("icons/" + fileName);
-			URL url = find(path);
-			if (url!=null) {
-				ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-				registry.put(key, desc);
-			}
-		} catch (Exception e) {
-		}
-	}
-
-	public FormColors getFormColors(Display display) {
-		if (formColors == null) {
-			formColors = new FormColors(display);
-			formColors.markShared();
-		}
-		return formColors;
-	}
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ExamplesPlugin getDefault() {
-		return plugin;
-	}
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not
-	 * found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = ExamplesPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null ? bundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	public void stop(BundleContext context) throws Exception {
-		try {
-			if (formColors != null) {
-				formColors.dispose();
-				formColors = null;
-			}
-		} finally {
-			super.stop(context);
-		}
-	}
-	public Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	public ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(key);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
deleted file mode 100644
index 0e46cf1..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/ExamplesPluginResources.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
deleted file mode 100644
index c44db3b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/FormEditorInput.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-
-public class FormEditorInput implements IEditorInput {
-	private String name;
-	public FormEditorInput(String name) {
-		this.name = name;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return true;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(
-				ISharedImages.IMG_OBJ_ELEMENT);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return getName();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
deleted file mode 100644
index 434c1c0..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/OpenFormEditorAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public abstract class OpenFormEditorAction
-		implements
-			IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-/*
- * 
- */
-	protected void openEditor(String inputName, String editorId) {
-		openEditor(new FormEditorInput(inputName), editorId);
-	}
-	protected void openEditor(IEditorInput input, String editorId) {
-		IWorkbenchPage page = window.getActivePage();
-		try {
-			page.openEditor(input, editorId);
-		} catch (PartInitException e) {
-			System.out.println(e);
-		}
-	}
-	
-	protected IWorkbenchWindow getWindow() {
-		return window;
-	}
-	/**
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
deleted file mode 100644
index ab4556c..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/FreeFormPage.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import java.io.*;
-import java.io.InputStream;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class FreeFormPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public FreeFormPage(FormEditor editor) {
-		super(editor, "first", "First Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.getHyperlinkGroup().setHyperlinkUnderlineMode(HyperlinkSettings.UNDERLINE_HOVER);
-		form.setText("Free-form text with links");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(ExamplesPlugin.IMG_FORM_BG));
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.leftMargin = 10;
-		layout.rightMargin = 10;
-		form.getBody().setLayout(layout);
-		TableWrapData td;
-		Hyperlink link = toolkit.createHyperlink(form.getBody(),
-				"Sample hyperlink with longer text.", SWT.WRAP);
-		link.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException ex) {
-				}
-			}
-		});
-		td = new TableWrapData();
-		td.align = TableWrapData.LEFT;
-		link.setLayoutData(td);
-		createExpandable(form, toolkit);
-		createFormTextSection(form, toolkit);
-	}
-	private void createExpandable(final ScrolledForm form, final FormToolkit toolkit) {
-		final ExpandableComposite exp = toolkit.createExpandableComposite(form
-				.getBody(), ExpandableComposite.TREE_NODE
-		//	ExpandableComposite.NONE
-				);
-		exp.setActiveToggleColor(toolkit.getHyperlinkGroup()
-				.getActiveForeground());
-		exp.setToggleColor(toolkit.getColors().getColor(FormColors.SEPARATOR));
-		Composite client = toolkit.createComposite(exp);
-		exp.setClient(client);
-		TableWrapLayout elayout = new TableWrapLayout();
-		client.setLayout(elayout);
-		elayout.leftMargin = elayout.rightMargin = 0;
-		final Button button = toolkit.createButton(client, "Button", SWT.PUSH);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				//openFormWizard(button.getShell(), toolkit.getColors());
-			}
-		});
-		exp.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
-			}
-		});
-		exp.setText("Expandable Section with a longer title");
-		TableWrapData td = new TableWrapData();
-		//td.colspan = 2;
-		td.align = TableWrapData.LEFT;
-		//td.align = TableWrapData.FILL;
-		exp.setLayoutData(td);
-	}
-	
-	private void createFormTextSection(final ScrolledForm form, FormToolkit toolkit) {
-		Section section =
-			toolkit.createSection(
-				form.getBody(),
-				Section.TWISTIE | Section.DESCRIPTION);
-		section.setActiveToggleColor(
-			toolkit.getHyperlinkGroup().getActiveForeground());
-		section.setToggleColor(
-			toolkit.getColors().getColor(FormColors.SEPARATOR));
-		toolkit.createCompositeSeparator(section);
-		FormText rtext = toolkit.createFormText(section, false);
-		section.setClient(rtext);
-		loadFormText(rtext, toolkit);
-
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(false);
-			}
-		});
-
-		section.setText("Section title");
-		section.setDescription(
-		"This is a section description that should be rendered below the separator.");
-		TableWrapData td = new TableWrapData();
-		td.align = TableWrapData.FILL;
-		td.grabHorizontal = true;
-		section.setLayoutData(td);
-	}
-
-	private void loadFormText(final FormText rtext, FormToolkit toolkit) {
-		rtext.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				MessageDialog.openInformation(rtext.getShell(), "Eclipse Forms", 
-				"Link activated: href=" + e.getHref());
-			}
-		});
-		rtext.setHyperlinkSettings(toolkit.getHyperlinkGroup());
-		rtext.setImage("image1", ExamplesPlugin.getDefault().getImage(ExamplesPlugin.IMG_LARGE));
-		createControl(rtext, toolkit);
-		Menu menu = new Menu(rtext);
-		final MenuItem item = new MenuItem(menu, SWT.PUSH);
-		item.setText("&Copy");
-		item.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				rtext.copy();
-			}
-		});
-		//rtext.setMenu(menu);
-		item.setEnabled(false);
-		rtext.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				item.setEnabled(rtext.canCopy());
-			}
-		});
-		InputStream is = FreeFormPage.class.getResourceAsStream("index.xml");
-		if (is!=null) {
-			rtext.setContents(is, true);
-			try {
-				is.close();
-			}
-			catch (IOException e) {
-			}
-		}
-	}
-	private void createControl(FormText ftext, FormToolkit toolkit) {
-		Composite comp = toolkit.createComposite(ftext);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		comp.setLayout(layout);
-		toolkit.createLabel(comp, "Sample text:");
-		Text text = toolkit.createText(comp, "");
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		Button button = toolkit.createButton(comp, "Browse...", SWT.PUSH);
-		ftext.setControl("control1", comp);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
deleted file mode 100644
index e60e3e2..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/IModelListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public interface IModelListener {
-	String ADDED="__added";
-	String REMOVED="__removed";
-	String CHANGED = "__changed";
-	void modelChanged(Object[] objects, String type, String property);
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
deleted file mode 100644
index 6052d0a..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/NamedObject.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- *
- */
-public	class NamedObject {
-	private String name;
-	protected SimpleModel model;
-	
-	public NamedObject(String name) {
-		this.name = name;
-	}
-	public void setModel(SimpleModel model) {
-		this.model = model;
-	}
-	public String getName() {
-		return name;
-	}
-	public String toString() {
-		return getName();
-	}
-	public void setName(String name) {
-		this.name = name;
-		model.fireModelChanged(new Object [] {this}, IModelListener.CHANGED, "");
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
deleted file mode 100644
index e2a906d..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/OpenSimpleFormEditorAction.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.forms.examples.internal.OpenFormEditorAction;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public class OpenSimpleFormEditorAction extends OpenFormEditorAction {
-	public void run(IAction action) {
-		openEditor(new SimpleFormEditorInput("Simple Editor"), "org.eclipse.ui.forms.examples.base-editor");
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.java
deleted file mode 100644
index 450e58f..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/PageWithSubPages.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.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- *
- */
-public class PageWithSubPages extends FormPage {
-	private CTabFolder tabFolder;
-	private Text text;
-	
-	class TextSection {
-		String text;
-		public TextSection(String text) {this.text = text;}
-	}
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public PageWithSubPages(FormEditor editor) {
-		super(editor, "composite", "Composite Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with subpages");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(
-				ExamplesPlugin.IMG_FORM_BG));
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		form.getBody().setLayout(layout);
-		tabFolder = new CTabFolder(form.getBody(), SWT.FLAT|SWT.TOP);
-		toolkit.adapt(tabFolder, true, true);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 0;
-		tabFolder.setLayoutData(gd);
-		Color selectedColor = toolkit.getColors().getColor(FormColors.SEPARATOR);
-		tabFolder.setSelectionBackground(new Color[] {selectedColor, toolkit.getColors().getBackground()}, new int[] {50});
-		//tabFolder.setCursor(FormsResources.getHandCursor());
-
-		toolkit.paintBordersFor(tabFolder);
-		createTabs(toolkit);
-		createText(toolkit, form.getBody());
-		tabFolder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateSelection();
-			}
-		});
-		tabFolder.setSelection(0);
-		updateSelection();		
-	}
-	private void createTabs(FormToolkit toolkit) {
-		createTab(toolkit, "Copyright", "Copyright 2004 IBM and others.");
-		createTab(toolkit, "License Agreement", "LICENSE AGREEMENT\n\nUse this feature any way you want.");
-		createTab(toolkit, "Description", "A simple description of the feature");
-	}
-	private void createText(FormToolkit toolkit, Composite parent) {
-		Composite tabContent = toolkit.createComposite(parent);
-		tabContent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		tabContent.setLayout(layout);
-		layout.numColumns = 2;
-		layout.marginWidth = 0;
-		GridData gd;
-		text = toolkit.createText(tabContent, "", SWT.MULTI|SWT.WRAP);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.verticalSpan = 2;
-		text.setLayoutData(gd);
-		Button apply = toolkit.createButton(tabContent, "Apply", SWT.PUSH);
-		apply.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL|GridData.VERTICAL_ALIGN_BEGINNING));
-		Button reset = toolkit.createButton(tabContent, "Reset", SWT.PUSH);
-		reset.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL|GridData.VERTICAL_ALIGN_BEGINNING));
-	}
-	private void updateSelection() {
-		CTabItem item = tabFolder.getSelection();
-		TextSection section = (TextSection)item.getData();
-		text.setText(section.text);
-	}
-	private void createTab(FormToolkit toolkit, String title, String content) {
-		CTabItem item = new CTabItem(tabFolder, SWT.NULL);
-		TextSection section = new TextSection(content);
-		item.setText(title);
-		item.setData(section);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
deleted file mode 100644
index fc3165b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesBlock.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.FormPage;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- *
- */
-public class ScrolledPropertiesBlock extends MasterDetailsBlock {
-	private FormPage page;
-	public ScrolledPropertiesBlock(FormPage page) {
-		this.page = page;
-	}
-	/**
-	 * @param id
-	 * @param title
-	 */
-	class MasterContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof SimpleFormEditorInput) {
-				SimpleFormEditorInput input = (SimpleFormEditorInput) page
-						.getEditor().getEditorInput();
-				return input.getModel().getContents();
-			}
-			return new Object[0];
-		}
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	class MasterLabelProvider extends LabelProvider
-			implements
-				ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return obj.toString();
-		}
-		public Image getColumnImage(Object obj, int index) {
-			if (obj instanceof TypeOne) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_ELEMENT);
-			}
-			if (obj instanceof TypeTwo) {
-				return PlatformUI.getWorkbench().getSharedImages().getImage(
-						ISharedImages.IMG_OBJ_FILE);
-			}
-			return null;
-		}
-	}
-	protected void createMasterPart(final IManagedForm managedForm,
-			Composite parent) {
-		//final ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		Section section = toolkit.createSection(parent, Section.DESCRIPTION);
-		section.setText("Model Objects");
-		section
-				.setDescription("The list contains objects from the model whose details are editable on the right");
-		section.marginWidth = 10;
-		section.marginHeight = 5;
-		toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section, SWT.WRAP);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = 2;
-		layout.marginHeight = 2;
-		client.setLayout(layout);
-		Table t = toolkit.createTable(client, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 20;
-		gd.widthHint = 100;
-		t.setLayoutData(gd);
-		toolkit.paintBordersFor(client);
-		Button b = toolkit.createButton(client, "Add...", SWT.PUSH);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		b.setLayoutData(gd);
-		section.setClient(client);
-		final SectionPart spart = new SectionPart(section);
-		managedForm.addPart(spart);
-		TableViewer viewer = new TableViewer(t);
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				managedForm.fireSelectionChanged(spart, event.getSelection());
-			}
-		});
-		viewer.setContentProvider(new MasterContentProvider());
-		viewer.setLabelProvider(new MasterLabelProvider());
-		viewer.setInput(page.getEditor().getEditorInput());
-	}
-	protected void createToolBarActions(IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		Action haction = new Action("hor", Action.AS_RADIO_BUTTON) {
-			public void run() {
-				sashForm.setOrientation(SWT.HORIZONTAL);
-				form.reflow(true);
-			}
-		};
-		haction.setChecked(true);
-		haction.setToolTipText("Horizontal orientation");
-		haction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry()
-				.getDescriptor(ExamplesPlugin.IMG_HORIZONTAL));
-		Action vaction = new Action("ver", Action.AS_RADIO_BUTTON) {
-			public void run() {
-				sashForm.setOrientation(SWT.VERTICAL);
-				form.reflow(true);
-			}
-		};
-		vaction.setChecked(false);
-		vaction.setToolTipText("Vertical orientation");
-		vaction.setImageDescriptor(ExamplesPlugin.getDefault()
-				.getImageRegistry().getDescriptor(ExamplesPlugin.IMG_VERTICAL));
-		form.getToolBarManager().add(haction);
-		form.getToolBarManager().add(vaction);
-	}
-	protected void registerPages(DetailsPart detailsPart) {
-		detailsPart.registerPage(TypeOne.class, new TypeOneDetailsPage());
-		detailsPart.registerPage(TypeTwo.class, new TypeTwoDetailsPage());
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
deleted file mode 100644
index 74e9a3f..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ScrolledPropertiesPage.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class ScrolledPropertiesPage extends FormPage {
-	private ScrolledPropertiesBlock block;
-	public ScrolledPropertiesPage(FormEditor editor) {
-		super(editor, "fourth", "Master Details");
-		block = new ScrolledPropertiesBlock(this);
-	}
-	protected void createFormContent(final IManagedForm managedForm) {
-		final ScrolledForm form = managedForm.getForm();
-		//FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with scrolled sections");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(
-				ExamplesPlugin.IMG_FORM_BG));
-		block.createContent(managedForm);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
deleted file mode 100644
index 9ec55fd..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SecondPage.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class SecondPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public SecondPage(FormEditor editor) {
-		super(editor, "second", "Section Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Title for the second page");
-		form.setBackgroundImage(ExamplesPlugin.getDefault().getImage(ExamplesPlugin.IMG_FORM_BG));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		form.getBody().setLayout(layout);
-		createTableSection(form, toolkit, "First Table Section");
-		createTableSection(form, toolkit, "Second Table Section");		
-	}
-	
-	private void createTableSection(final ScrolledForm form, FormToolkit toolkit, String title) {
-		Section section =
-			toolkit.createSection(
-				form.getBody(),
-				Section.TWISTIE | Section.DESCRIPTION);
-		section.setActiveToggleColor(
-			toolkit.getHyperlinkGroup().getActiveForeground());
-		section.setToggleColor(
-			toolkit.getColors().getColor(FormColors.SEPARATOR));
-		toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section, SWT.WRAP);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-
-		client.setLayout(layout);
-		Table t = toolkit.createTable(client, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 200;
-		gd.widthHint = 100;
-		t.setLayoutData(gd);
-		toolkit.paintBordersFor(client);
-		Button b = toolkit.createButton(client, "Add...", SWT.PUSH);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		b.setLayoutData(gd);
-		section.setText(title);
-		section.setDescription("This section has a tree and a button.");
-		section.setClient(client);
-		section.setExpanded(true);
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(false);
-			}
-		});
-		gd = new GridData(GridData.FILL_BOTH);
-		section.setLayoutData(gd);
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
deleted file mode 100644
index bfeed1e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-/**
- * A simple multi-page form editor that uses Eclipse Forms support.
- * Example plug-in is configured to create one instance of
- * form colors that is shared between multiple editor instances.
- */
-public class SimpleFormEditor extends FormEditor {
-	/**
-	 *  
-	 */
-	public SimpleFormEditor() {
-	}
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.ui.forms.editor.FormEditor#createToolkit(org.eclipse.swt.widgets.Display)
-	 */
-	protected FormToolkit createToolkit(Display display) {
-		// Create a toolkit that shares colors between editors.
-		return new FormToolkit(ExamplesPlugin.getDefault().getFormColors(
-				display));
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
-	 */
-	protected void addPages() {
-		try {
-		addPage(new FreeFormPage(this));
-		addPage(new SecondPage(this));
-		int index = addPage(new Composite(getContainer(), SWT.NULL));
-		setPageText(index, "Composite");
-		addPage(new ThirdPage(this));
-		addPage(new ScrolledPropertiesPage(this));
-		addPage(new PageWithSubPages(this));
-		}
-		catch (PartInitException e) {
-			//
-		}
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
deleted file mode 100644
index 0f0c936..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleFormEditorInput.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.ui.forms.examples.internal.FormEditorInput;
-
-public class SimpleFormEditorInput extends FormEditorInput {
-	private SimpleModel model;
-	
-	public SimpleFormEditorInput(String name) {
-		super(name);
-		model = new SimpleModel();
-	}
-	
-	public SimpleModel getModel() {
-		return model;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
deleted file mode 100644
index 130641e..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/SimpleModel.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import java.util.ArrayList;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class SimpleModel {
-	private ArrayList modelListeners;
-	private ArrayList objects;
-	public SimpleModel() {
-		modelListeners = new ArrayList();
-		initialize();
-	}
-	public void addModelListener(IModelListener listener) {
-		if (!modelListeners.contains(listener))
-			modelListeners.add(listener);
-	}
-	public void removeModelListener(IModelListener listener) {
-		modelListeners.remove(listener);
-	}
-	public void fireModelChanged(Object[] objects, String type, String property) {
-		for (int i = 0; i < modelListeners.size(); i++) {
-			((IModelListener) modelListeners.get(i)).modelChanged(objects,
-					type, property);
-		}
-	}
-	public Object[] getContents() {
-		return objects.toArray();
-	}
-	private void initialize() {
-		objects = new ArrayList();
-		NamedObject[] objects = {
-				new TypeOne("TypeOne instance 1", 2, true, "Some text"),
-				new TypeOne("TypeOne instance 2", 1, false, "Different text"),
-				new TypeOne("TypeOne instance 3", 3, true, "Text"),
-				new TypeOne("TypeOne instance 4", 0, false, "Longer text"),
-				new TypeOne("TypeOne instance 5", 1, true, "Sample"),
-				new TypeTwo("TypeTwo instance 1", false, true),
-				new TypeTwo("TypeTwo instance 2", true, false)};
-		add(objects, false);
-	}
-	public void add(NamedObject[] objs, boolean notify) {
-		for (int i = 0; i < objs.length; i++) {
-			objects.add(objs[i]);
-			objs[i].setModel(this);
-		}
-		if (notify)
-			fireModelChanged(objs, IModelListener.ADDED, "");
-	}
-	public void remove(NamedObject[] objs, boolean notify) {
-		for (int i = 0; i < objs.length; i++) {
-			objects.remove(objs[i]);
-			objs[i].setModel(null);
-		}
-		if (notify)
-			fireModelChanged(objs, IModelListener.REMOVED, "");
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
deleted file mode 100644
index 49bcfbd..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/ThirdPage.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.editor.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.widgets.*;
-/**
- * @author dejan
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class ThirdPage extends FormPage {
-	/**
-	 * @param id
-	 * @param title
-	 */
-	public ThirdPage(FormEditor editor) {
-		super(editor, "third", "Flow Page");
-	}
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		//FormToolkit toolkit = managedForm.getToolkit();
-		form.setText("Form with wrapped controls");
-		ColumnLayout layout = new ColumnLayout();
-		layout.topMargin = 0;
-		layout.bottomMargin = 5;
-		layout.leftMargin = 10;
-		layout.rightMargin = 10;
-		layout.horizontalSpacing = 10;
-		layout.verticalSpacing = 10;
-		layout.maxNumColumns = 4;
-		layout.minNumColumns = 1;
-		form.getBody().setLayout(layout);
-		//form.getBody().setBackground(
-		//		form.getBody().getDisplay().getSystemColor(SWT.COLOR_GREEN));
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 2);
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 2);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Link Section",
-				"An example of a section with links", 4);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 3);
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 5);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with links");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 4);
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createMixedSection(managedForm, "Mixed Section",
-				"An example of a section with both links and form controls");
-		createSectionWithLinks(managedForm, "Sample Section",
-				"An example of a section with links", 2);
-		createSectionWithControls(managedForm, "Control Section",
-				"An example of a section with form controls");
-	}
-	private void createSectionWithLinks(IManagedForm mform, String title,
-			String desc, int nlinks) {
-		Composite client = createSection(mform, title, desc, 1);
-		FormToolkit toolkit = mform.getToolkit();
-		for (int i = 1; i <= nlinks; i++)
-			toolkit.createHyperlink(client, "Hyperlink text " + i, SWT.WRAP);
-	}
-	private void createSectionWithControls(IManagedForm mform, String title,
-			String desc) {
-		Composite client = createSection(mform, title, desc, 1);
-		FormToolkit toolkit = mform.getToolkit();
-		toolkit.createButton(client, "A radio button 1", SWT.RADIO);
-		toolkit.createButton(client, "A radio button 2", SWT.RADIO);
-		toolkit.createButton(client, "A radio button with a longer text",
-				SWT.RADIO);
-		toolkit.createButton(client, "A checkbox button", SWT.CHECK);
-	}
-	private void createMixedSection(IManagedForm mform, String title, String desc) {
-		Composite client = createSection(mform, title, desc, 2);
-		FormToolkit toolkit = mform.getToolkit();
-		Hyperlink link = toolkit.createHyperlink(client,
-				"A longer hyperlink text example", SWT.WRAP);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
-		link = toolkit.createHyperlink(client, "Another hyperlink text",
-				SWT.WRAP);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
-		toolkit.createLabel(client, "A text label:");
-		Text text = toolkit.createText(client, "", SWT.SINGLE);
-		gd = new GridData();
-		gd.widthHint = 150;
-		text.setLayoutData(gd);
-		//toolkit.paintBordersFor(client);
-	}
-	private Composite createSection(IManagedForm mform, String title,
-			String desc, int numColumns) {
-		final ScrolledForm form = mform.getForm();
-		FormToolkit toolkit = mform.getToolkit();
-		Section section = toolkit.createSection(form.getBody(), Section.TWISTIE
-				| Section.TITLE_BAR | Section.DESCRIPTION | Section.EXPANDED);
-		section.setText(title);
-		section.setDescription(desc);
-		//toolkit.createCompositeSeparator(section);
-		Composite client = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = numColumns;
-		client.setLayout(layout);
-		section.setClient(client);
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(false);
-			}
-		});
-		return client;
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
deleted file mode 100644
index c0ecdf6..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOne.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeOne extends NamedObject {
-	public static final String P_CHOICE="choice";
-	public static final String P_FLAG="flag";
-	public static final String P_TEXT="text";
-	public static final String [] CHOICES = {
-			"Choice 1", "Choice 2", "Choice 3", "Choice 4" };
-	private int choice=0;
-	private String text;
-	private boolean flag;
-
-	/**
-	 * @param name
-	 */
-	public TypeOne(String name, int choice, boolean flag, String text) {
-		super(name);
-		this.flag = flag;
-		this.text = text;
-		this.choice = choice;
-	}
-	public int getChoice() {
-		return choice;
-	}
-	public void setChoice(int choice) {
-		this.choice = choice;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_CHOICE);
-	}
-	public boolean getFlag() {
-		return flag;
-	}
-	public void setFlag(boolean flag) {
-		this.flag = flag;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG);
-	}
-	public String getText() {
-		return text;
-	}
-	public void setText(String text) {
-		this.text = text;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_TEXT);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
deleted file mode 100644
index 90b1d8b..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeOneDetailsPage.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeOneDetailsPage implements IDetailsPage {
-	private IManagedForm mform;
-	private TypeOne input;
-	private Button [] choices;
-	private Button flag;
-	private Text text;
-	private static final String RTEXT_DATA =
-			"<form><p>An example of a free-form text that should be "+
-			"wrapped below the section with widgets.</p>"+
-			"<p>It can contain simple tags like <a>links</a> and <b>bold text</b>.</p></form>";
-	
-	public TypeOneDetailsPage() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm mform) {
-		this.mform = mform;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createContents(Composite parent) {
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.topMargin = 5;
-		layout.leftMargin = 5;
-		layout.rightMargin = 2;
-		layout.bottomMargin = 2;
-		parent.setLayout(layout);
-
-		FormToolkit toolkit = mform.getToolkit();
-		Section s1 = toolkit.createSection(parent, Section.DESCRIPTION);
-		s1.marginWidth = 10;
-		s1.setText("Type One Details");
-		s1.setDescription("Set the properties of the selected TypeOne object.");
-		TableWrapData td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		s1.setLayoutData(td);
-		toolkit.createCompositeSeparator(s1);
-		Composite client = toolkit.createComposite(s1);
-		GridLayout glayout = new GridLayout();
-		glayout.marginWidth = glayout.marginHeight = 0;
-		glayout.numColumns = 2;
-		client.setLayout(glayout);
-		
-		SelectionListener choiceListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				Integer value = (Integer)e.widget.getData();
-				if (input!=null) {
-					input.setChoice(value.intValue());
-				}
-			}
-		};
-		GridData gd;
-		choices = new Button[TypeOne.CHOICES.length];
-		for (int i=0; i<TypeOne.CHOICES.length; i++) {
-			choices[i] = toolkit.createButton(client, TypeOne.CHOICES[i], SWT.RADIO);
-			choices[i].setData(new Integer(i));
-			choices[i].addSelectionListener(choiceListener);
-			gd = new GridData();
-			gd.horizontalSpan = 2;
-			choices[i].setLayoutData(gd);
-		}
-		createSpacer(toolkit, client, 2);
-		flag = toolkit.createButton(client, "Value of the flag property", SWT.CHECK);
-		flag.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (input!=null)
-					input.setFlag(flag.getSelection());
-			}
-		});
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		flag.setLayoutData(gd);
-		createSpacer(toolkit, client, 2);
-		
-		toolkit.createLabel(client, "Text property:");
-		text = toolkit.createText(client, "", SWT.SINGLE);
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (input!=null)
-					input.setText(text.getText());
-			}
-		});
-		gd = new GridData(GridData.FILL_HORIZONTAL|GridData.VERTICAL_ALIGN_BEGINNING);
-		gd.widthHint = 10;
-		text.setLayoutData(gd);
-		
-		createSpacer(toolkit, client, 2);
-		
-		FormText rtext = toolkit.createFormText(parent, true);
-		rtext.setText(RTEXT_DATA, true, false);
-		td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		rtext.setLayoutData(td);
-		
-		toolkit.paintBordersFor(s1);
-		s1.setClient(client);
-	}
-	private void createSpacer(FormToolkit toolkit, Composite parent, int span) {
-		Label spacer = toolkit.createLabel(parent, "");
-		GridData gd = new GridData();
-		gd.horizontalSpan = span;
-		spacer.setLayoutData(gd);
-	}
-	private void update() {
-		for (int i=0; i<TypeOne.CHOICES.length; i++) {
-			choices[i].setSelection(input!=null && input.getChoice()==i);
-		}
-		flag.setSelection(input!=null && input.getFlag());
-		text.setText(input!=null && input.getText()!=null?input.getText():"");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#inputChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		IStructuredSelection ssel = (IStructuredSelection)selection;
-		if (ssel.size()==1) {
-			input = (TypeOne)ssel.getFirstElement();
-		}
-		else
-			input = null;
-		update();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#commit()
-	 */
-	public void commit(boolean onSave) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#setFocus()
-	 */
-	public void setFocus() {
-		choices[0].setFocus();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#dispose()
-	 */
-	public void dispose() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	public boolean isStale() {
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#refresh()
-	 */
-	public void refresh() {
-		update();
-	}
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
deleted file mode 100644
index 5e7e8a3..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeTwo extends NamedObject {
-	public static final String P_FLAG1="flag1";
-	public static final String P_FLAG2="flag2";
-	private boolean flag1;
-	private boolean flag2;
-
-	/**
-	 * @param name
-	 */
-	public TypeTwo(String name, boolean flag1, boolean flag2) {
-		super(name);
-		this.flag1 = flag1;
-		this.flag2 = flag2;
-	}
-	public boolean getFlag1() {
-		return flag1;
-	}
-	public boolean getFlag2() {
-		return flag2;
-	}
-	public void setFlag1(boolean flag1) {
-		this.flag1 = flag1;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG1);
-	}
-	public void setFlag2(boolean flag2) {
-		this.flag2 = flag2;
-		model.fireModelChanged(new Object[] {this}, IModelListener.CHANGED, P_FLAG2);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
deleted file mode 100644
index 976bc32..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/TypeTwoDetailsPage.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.internal.rcp;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.*;
-import org.eclipse.ui.forms.widgets.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class TypeTwoDetailsPage implements IDetailsPage {
-	private IManagedForm mform;
-	private TypeTwo input;
-	private Button flag1;
-	private Button flag2;
-	
-	public TypeTwoDetailsPage() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#initialize(org.eclipse.ui.forms.IManagedForm)
-	 */
-	public void initialize(IManagedForm mform) {
-		this.mform = mform;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createContents(Composite parent) {
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.topMargin = 5;
-		layout.leftMargin = 5;
-		layout.rightMargin = 2;
-		layout.bottomMargin = 2;
-		parent.setLayout(layout);
-
-		FormToolkit toolkit = mform.getToolkit();
-		Section s1 = toolkit.createSection(parent, Section.DESCRIPTION);
-		s1.marginWidth = 10;
-		s1.setText("Type Two Details");
-		s1.setDescription("Set the properties of the selected TypeTwo object.");
-		TableWrapData td = new TableWrapData(TableWrapData.FILL, TableWrapData.TOP);
-		td.grabHorizontal = true;
-		s1.setLayoutData(td);
-		toolkit.createCompositeSeparator(s1);
-		Composite client = toolkit.createComposite(s1);
-		GridLayout glayout = new GridLayout();
-		glayout.marginWidth = glayout.marginHeight = 0;
-		client.setLayout(glayout);
-		
-		flag1 = toolkit.createButton(client, "Value of the flag1 property", SWT.CHECK);
-		flag1.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (input!=null)
-					input.setFlag1(flag1.getSelection());
-			}
-		});
-		
-		flag2 = toolkit.createButton(client, "Value of the flag2 property", SWT.CHECK);
-		flag2.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (input!=null)
-					input.setFlag2(flag2.getSelection());
-			}
-		});
-		s1.setClient(client);
-	}
-	private void update() {
-		flag1.setSelection(input!=null && input.getFlag1());
-		flag2.setSelection(input!=null && input.getFlag2());
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#inputChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IFormPart part, ISelection selection) {
-		IStructuredSelection ssel = (IStructuredSelection)selection;
-		if (ssel.size()==1) {
-			input = (TypeTwo)ssel.getFirstElement();
-		}
-		else
-			input = null;
-		update();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#commit()
-	 */
-	public void commit(boolean onSave) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#setFocus()
-	 */
-	public void setFocus() {
-		flag1.setFocus();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#dispose()
-	 */
-	public void dispose() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	
-	public boolean isStale() {
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.forms.IDetailsPage#refresh()
-	 */
-	public void refresh() {
-		update();
-	}
-	public boolean setFormInput(Object input) {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
deleted file mode 100644
index 58d5fe6..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/internal/rcp/index.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<form>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>New addition: controls in the text</p>
-<p><control fill="true" href="control1"/></p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-<p>
-To check for updates for features you have installed, 
-go to the <a href="action1">My Eclipse 1</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search. 
-Now we <b>will</b> add an 
-<img href="image1"/> 
-image here. Just
- to show how wrapping should apply to images when they are 
- larger than the regular text.
-</p>
-<p>Now we will show an image link: <a href="action1"><img href="image1"/></a></p>
-<p>And this is image and text as a link: <a href="action1"><img href="image1"/>Some link text</a></p>
-<li style="text" value="1.">To check for updates for features you have installed, 
-go to the <a href="action2">My Eclipse 2</a> and select 
-<b>Available Updates</b> folder. <b>Search page</b> will 
-be shown allowing you to initiate and customize the search.</li>
-<li style="text" value="2.">This is the item number 2.</li>
-<li style="text" value="3.">This is the item number 3.</li>
-<li>This is the bullet item.</li>
-<li>This is another bullet item.</li>
-</form>
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
deleted file mode 100644
index 78d6357..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/FormView.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.views;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.FormColors;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.part.ViewPart;
-
-public class FormView extends ViewPart {
-	private FormToolkit toolkit;
-	private ScrolledForm form;
-	/**
-	 * The constructor.
-	 */
-	public FormView() {
-	}
-	/**
-	 * This is a callback that will allow us to create the viewer and
-	 * initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-		toolkit = new FormToolkit(parent.getDisplay());
-		form = toolkit.createScrolledForm(parent);
-		form.setText("Hello, Eclipse Forms");
-		TableWrapLayout layout = new TableWrapLayout();
-		form.getBody().setLayout(layout);
-		
-		Hyperlink link = toolkit.createHyperlink(form.getBody(), "Click here.",
-				SWT.WRAP);
-		link.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				System.out.println("Link activated!");
-			}
-		});
-		link.setText("This is an example of a form that is much longer and will need to wrap.");
-		layout.numColumns = 2;
-		TableWrapData td = new TableWrapData();
-		td.colspan = 2;
-		link.setLayoutData(td);
-		toolkit.createLabel(form.getBody(), "Text field label:");
-		Text text = toolkit.createText(form.getBody(), "");
-		td = new TableWrapData(TableWrapData.FILL_GRAB);
-		text.setLayoutData(td);
-		Button button = toolkit.createButton(form.getBody(),
-				"An example of a checkbox in a form", SWT.CHECK);
-		td = new TableWrapData();
-		td.colspan = 2;
-		button.setLayoutData(td);
-		ExpandableComposite ec = toolkit.createExpandableComposite(form.getBody(), ExpandableComposite.TREE_NODE|ExpandableComposite.CLIENT_INDENT);
-		ImageHyperlink eci = toolkit.createImageHyperlink(ec, SWT.NULL);
-		eci.setImage(ExamplesPlugin.getDefault().getImageRegistry().get(ExamplesPlugin.IMG_SAMPLE));
-		ec.setTextClient(eci);
-		ec.setText("Expandable Composite title");
-		String ctext = "We will now create a somewhat long text so that "+
-		"we can use it as content for the expandable composite. "+
-		"Expandable composite is used to hide or show the text using the "+
-		"toggle control";
-		Label client = toolkit.createLabel(ec, ctext, SWT.WRAP);
-		ec.setClient(client);
-		td = new TableWrapData();
-		td.colspan = 2;
-		ec.setLayoutData(td);
-		ec.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
-			}
-		});
-		Section section = toolkit.createSection(form.getBody(), Section.DESCRIPTION|Section.TWISTIE|Section.EXPANDED);
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		section.setLayoutData(td);
-		section.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				form.reflow(true);
-			}
-		});
-		section.setText("Section title");
-		toolkit.createCompositeSeparator(section);
-		section.setDescription("This is the description that goes below the title");
-		Composite sectionClient = toolkit.createComposite(section);
-		sectionClient.setLayout(new GridLayout());
-		button = toolkit.createButton(sectionClient, "Radio 1", SWT.RADIO);
-		button = toolkit.createButton(sectionClient, "Radio 2", SWT.RADIO);
-		section.setClient(sectionClient);
-
-		StringBuffer buf = new StringBuffer();
-		buf.append("<form>");
-		buf.append("<p>");
-		buf.append("Here is some plain text for the text to render; ");
-		buf.append("this text is at <a href=\"http://www.eclipse.org\" nowrap=\"true\">http://www.eclipse.org</a> web site.");
-		buf.append("</p>");
-		buf.append("<p>");
-		buf.append("<span color=\"header\" font=\"header\">This text is in header font and color.</span>");
-		buf.append("</p>");
-		buf.append("<p>This line will contain some <b>bold</b> and some <span font=\"code\">source</span> text. ");
-		buf.append("We can also add <img href=\"image\"/> an image. ");
-		buf.append("</p>");
-		buf.append("<li>A default (bulleted) list item.</li>");
-		buf.append("<li>Another bullet list item.</li>");
-		buf.append("<li style=\"text\" value=\"1.\">A list item with text.</li>");
-		buf.append("<li style=\"text\" value=\"2.\">Another list item with text</li>");
-		buf.append("<li style=\"image\" value=\"image\">List item with an image bullet</li>");
-		buf.append("<li style=\"text\" bindent=\"20\" indent=\"40\" value=\"3.\">A list item with text.</li>");
-		buf.append("<li style=\"text\" bindent=\"20\" indent=\"40\" value=\"4.\">A list item with text.</li>");
-		buf.append("<p>     leading blanks;      more white \n\n new lines   <br/>  \n   more <b>   bb   </b>  white  . </p>");
-		buf.append("</form>");
-		FormText rtext = toolkit.createFormText(form.getBody(), true);
-		rtext.setWhitespaceNormalized(true);
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		rtext.setLayoutData(td);
-		rtext.setImage("image", ExamplesPlugin.getDefault().getImageRegistry().get(ExamplesPlugin.IMG_SAMPLE));
-		rtext.setColor("header", toolkit.getColors().getColor(FormColors.TITLE));
-		rtext.setFont("header", JFaceResources.getHeaderFont());
-		rtext.setFont("code", JFaceResources.getTextFont());
-		rtext.setText(buf.toString(), true, false);
-		rtext.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				System.out.println("Link active: "+e.getHref());
-			}
-		});
-/*		layout.numColumns = 3;
-		Label label;
-		TableWrapData td;
-		
-		label = toolkit.createLabel(form.getBody(), "Some text to put in the first column", SWT.WRAP);
-		label = toolkit.createLabel(form.getBody() ,"Some text to put in the second column and make it a bit longer so that we can see what happens with column distribution. This text must be the longest so that it can get more space allocated to the columns it belongs to.", SWT.WRAP);
-		td = new TableWrapData();
-		td.colspan = 2;
-		label.setLayoutData(td);
-		label = toolkit.createLabel(form.getBody(), "This text will span two rows and should not grow the column.", SWT.WRAP);
-		td = new TableWrapData();
-		td.rowspan = 2;
-		label.setLayoutData(td);
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 2 and consumes only one cell", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 3 and consumes only one cell too", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL));
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 2 and consumes only one cell", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-		label = toolkit.createLabel(form.getBody(), "This text goes into column 3 and consumes only one cell too", SWT.WRAP);
-		label.setLayoutData(new TableWrapData(TableWrapData.FILL));
-		form.getBody().setBackground(form.getBody().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));*/
-		
-		toolkit.paintBordersFor(form.getBody());
-	}
-	/**
-	 * Passing the focus request to the form.
-	 */
-	public void setFocus() {
-		form.setFocus();
-	}
-	/**
-	 * Disposes the toolkit
-	 */
-	public void dispose() {
-		toolkit.dispose();
-		super.dispose();
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java
deleted file mode 100644
index 78a9b13..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/views/ShowHelpAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Created on Jan 4, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.ui.forms.examples.views;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-
-/**
- * @author dejan
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ShowHelpAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		try {
-			window.getActivePage().showView("org.eclipse.ui.forms.examples.helpView");
-		}
-		catch (PartInitException e) {
-			System.out.println(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AltAssistedWizardDialog.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AltAssistedWizardDialog.java
deleted file mode 100644
index 515cc30..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AltAssistedWizardDialog.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Created on Dec 19, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.ui.forms.examples.wizards;
-
-import org.eclipse.help.ui.internal.IHelpUIConstants;
-import org.eclipse.help.ui.internal.views.ReusableHelpPart;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * @author dejan
- * 
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-public class AltAssistedWizardDialog extends WizardDialog {
-	private Button helpButton;
-	private ContextHelpWindow contextHelpWindow;
-
-	private class ContextHelpWindow extends ApplicationWindow {
-		private ReusableHelpPart helpPart;
-
-		private FormToolkit toolkit;
-
-		public ContextHelpWindow(Shell parent) {
-			super(parent);
-			addToolBar(SWT.FLAT);
-			addStatusLine();
-			helpPart = new ReusableHelpPart(this);
-			helpPart.init(null, getToolBarManager(), getStatusLineManager());
-			parent.addControlListener(new ControlListener() {
-				public void controlMoved(ControlEvent e) {
-					syncHelpBounds();
-				}
-				public void controlResized(ControlEvent e) {
-					syncHelpBounds();
-				}
-			});
-		}
-		
-		public void setPartFocus() {
-			if (helpPart!=null)
-				helpPart.setFocus();
-		}
-
-		private void syncHelpBounds() {
-			ContextHelpWindow helpWindow = getHelpWindow();
-			if (helpWindow==null)
-				return;
-			Rectangle pbounds = AltAssistedWizardDialog.this.getShell().getBounds();
-			helpWindow.getShell().setLocation(pbounds.x+pbounds.width, pbounds.y);
-			helpWindow.getShell().setSize(helpWindow.getShell().getSize().x, pbounds.height);
-		}
-
-		protected Control createContents(Composite parent) {
-			toolkit = new FormToolkit(parent.getDisplay());
-			Composite container = new Composite(parent, SWT.NULL);
-			GridLayout layout = new GridLayout();
-			layout.marginWidth = layout.marginHeight = 0;
-			layout.verticalSpacing = 0;
-			container.setLayout(layout);
-
-			GridData gd;
-			Label separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
-			gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			gd.heightHint = 1;
-			separator.setLayoutData(gd);			
-			helpPart.createControl(container, toolkit);
-			helpPart.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-			separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
-			gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			gd.heightHint = 1;
-			separator.setLayoutData(gd);				
-			
-			helpPart.showPage(IHelpUIConstants.HV_CONTEXT_HELP_PAGE);
-			updateForPage(getCurrentPage());
-			return helpPart.getControl();
-		}
-		
-		public void updateForPage(IWizardPage page) {
-			if (page!=null)
-				helpPart.update(null, page.getControl());
-		}
-
-		public boolean close() {
-			if (super.close()) {
-				if (toolkit!=null) {
-					toolkit.dispose();
-					toolkit = null;
-				}
-				if (helpPart != null) {
-					helpPart.dispose();
-					helpPart = null;
-				}
-				return true;
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * @param parentShell
-	 * @param newWizard
-	 */
-	public AltAssistedWizardDialog(Shell parentShell, IWizard newWizard) {
-		super(parentShell, newWizard);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		helpButton = createButton(parent, IDialogConstants.HELP_ID,
-				IDialogConstants.HELP_LABEL, false);
-		super.createButtonsForButtonBar(parent);
-	}
-
-	protected void helpPressed() {
-		ContextHelpWindow helpWindow = getHelpWindow();
-		if (helpWindow!=null)
-			helpWindow.getShell().setActive();
-		else {
-			Rectangle pbounds = getShell().getBounds();
-			contextHelpWindow = new ContextHelpWindow(getShell());
-			contextHelpWindow.create();
-			Shell helpShell = contextHelpWindow.getShell();
-			helpShell.setText("Help");
-			helpShell.setLocation(pbounds.x+pbounds.width, pbounds.y);
-			helpShell.setSize(200, pbounds.height);
-			helpShell.open();
-			helpShell.addControlListener(new ControlListener() {
-				public void controlMoved(ControlEvent e) {
-					syncParentShell();
-				}
-				public void controlResized(ControlEvent e) {
-					syncParentShell();
-				}
-			});
-			helpWindow = contextHelpWindow;
-		}
-		helpWindow.setPartFocus();		
-	}
-	private void syncParentShell() {
-		ContextHelpWindow helpWindow = getHelpWindow();
-		if (helpWindow==null) return;
-		Shell parentShell = getShell();		
-		Rectangle hbounds = helpWindow.getShell().getBounds();
-		Rectangle pbounds = parentShell.getBounds();
-		parentShell.setLocation(pbounds.x, hbounds.y);
-		parentShell.setSize(hbounds.x-pbounds.x, hbounds.height);
-	}
-	
-	private ContextHelpWindow getHelpWindow() {
-		if (contextHelpWindow!=null) {
-			if (contextHelpWindow.getShell()==null || contextHelpWindow.getShell().isDisposed())
-				contextHelpWindow = null;
-		}
-		return contextHelpWindow;
-	}
-    protected void update() {
-    	super.update();
-    	ContextHelpWindow helpWindow =getHelpWindow();
-    	if (helpWindow!=null)
-    		helpWindow.updateForPage(getCurrentPage());
-     }	
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AssistedWizardDialog.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AssistedWizardDialog.java
deleted file mode 100644
index 66b72ec..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/AssistedWizardDialog.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Created on Oct 25, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.ui.forms.examples.wizards;
-
-import org.eclipse.help.ui.internal.IHelpUIConstants;
-import org.eclipse.help.ui.internal.views.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.ManagedForm;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.internal.forms.IFormToolkitProvider;
-
-/**
- * @author dejan
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class AssistedWizardDialog extends WizardDialog implements IFormToolkitProvider {
-	private ReusableHelpPart contextHelpPart;
-	private FormToolkit toolkit;
-	//private SashForm dialogContainer;
-	private Composite dialogContainer;
-
-	/**
-	 * @param parentShell
-	 * @param newWizard
-	 */
-	public AssistedWizardDialog(Shell parentShell, IWizard newWizard) {
-		super(parentShell, newWizard);
-		contextHelpPart = new ReusableHelpPart(this);
-	}
-
-    protected void createButtonsForButtonBar(Composite parent) {
-        Button myHelpButton = createButton(parent, IDialogConstants.HELP_ID,
-                    IDialogConstants.HELP_LABEL, false);
-        myHelpButton.addSelectionListener(new SelectionAdapter() {
-        	public void widgetSelected(SelectionEvent e) {
-        		helpPressed();
-        	}
-        });
-        super.createButtonsForButtonBar(parent);
-    }
-    
-	protected Control createButtonBar(Composite parent) {
-		Control bar = super.createButtonBar(parent);
-		adaptControl(bar);
-		return bar;
-	}
-	
-    protected Control createDialogArea(Composite parent) {
-     	//dialogContainer = new SashForm(parent, SWT.NULL);
-    	toolkit = new FormToolkit(parent.getDisplay());
-    	dialogContainer = toolkit.createComposite(parent);
-    	//adaptControl(parent);
-    	GridLayout layout = new GridLayout();
-    	layout.numColumns = 2;
-    	layout.marginWidth = layout.marginHeight = 0;
-    	layout.horizontalSpacing = 0;
-    	layout.verticalSpacing = 0;
-//    	
-    	dialogContainer.setLayout(layout);
-     	final Control wizardArea = super.createDialogArea(dialogContainer);
-    	GridData gd = new GridData(GridData.FILL_BOTH);
-    	//gd.verticalSpan = 3;
-    	wizardArea.setLayoutData(gd);
-     	//adaptControl(wizardArea);
-    	//toolkit.adapt(dialogContainer);
-    	layout = new GridLayout();
-    	Composite helpContainer = toolkit.createComposite(dialogContainer);
-    	gd = new GridData(GridData.FILL_VERTICAL);
-    	gd.widthHint = 200;
-    	helpContainer.setLayoutData(gd);
-    	helpContainer.setLayout(layout);
-    	layout.marginWidth = layout.marginHeight = 0;
-    	layout.verticalSpacing = 0;
-    	Label sep = new Label(helpContainer, SWT.SEPARATOR|SWT.HORIZONTAL);
-    	sep.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-    	FormToolkit helpToolkit = new FormToolkit(helpContainer.getDisplay());
-    	//helpToolkit.setBackground(helpToolkit.getColors().createColor("bg", 230, 240, 255));
-    	contextHelpPart.createControl(helpContainer, helpToolkit);
-    	contextHelpPart.init(null, contextHelpPart.getForm().getForm().getToolBarManager(), null);
-    	Control contextHelp = contextHelpPart.getControl();
-    	ManagedForm contextForm = contextHelpPart.getForm();
-    	Action closeAction = new Action() {
-    		public void run() {
-    			//dialogContainer.setMaximizedControl(wizardArea);
-    		}
-    	};
-    	closeAction.setImageDescriptor(ExamplesPlugin.getDefault().getImageDescriptor(ExamplesPlugin.IMG_CLOSE));
-    	closeAction.setToolTipText("Close dynamic help");
-		contextForm.getForm().getToolBarManager().add(closeAction);
-		contextForm.getForm().getToolBarManager().update(true);
-		//TableWrapLayout clayout = (TableWrapLayout)contextForm.getBody().getLayout();
-		//clayout.topMargin = 0;
-       	gd= new GridData(GridData.FILL_BOTH);
-    	contextHelp.setLayoutData(gd);
-    	sep = new Label(helpContainer, SWT.SEPARATOR|SWT.HORIZONTAL);    	
-    	sep.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-     	//dialogContainer.setWeights(new int[] {5, 2});
-		contextHelpPart.showPage(IHelpUIConstants.HV_CONTEXT_HELP_PAGE);  	
-    	updateContextHelp();
-    	return dialogContainer;
-    }
-    
-    public FormToolkit getToolkit() {
-    	return toolkit;
-    }
-    
-    protected void update() {
-    	IWizardPage page = getCurrentPage();
-    	if (page!=null) adaptPage(page);
-    	super.update();
-    	//if (dialogContainer.getMaximizedControl()==null)
-    		updateContextHelp();
-     }
-    
-	private void adaptPage(IWizardPage page) {
-		/*
-		Control control = page.getControl();
-		if (control==null || !(control instanceof Composite)) return;
-		Object flag = control.getData("__adapted__");
-		if (flag==null) {
-			adaptControl(control);
-			control.setData("__adapted__", Boolean.TRUE);
-		}
-		*/
-	}
-	
-	private void adaptControl(Control c) {
-		/*
-		if (c instanceof Composite) {
-			Composite parent = (Composite)c;
-			Control [] children = parent.getChildren();
-			for (int i=0; i<children.length; i++) {
-				Control child = children[i];
-				adaptControl(child);
-			}
-			toolkit.adapt((Composite)c);
-		}
-		else {
-			toolkit.adapt(c, true, true);
-		}
-		*/
-	}    
-    private void updateContextHelp() {
-       	IWizardPage page = getCurrentPage();
-    	contextHelpPart.update(null, page!=null?page.getControl():null);
-    }
-    protected void helpPressed() {
-    	//dialogContainer.setMaximizedControl(null);
-    	updateContextHelp();
-    	super.helpPressed();
-    }
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenAssistedWizardAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenAssistedWizardAction.java
deleted file mode 100644
index 8858dd6..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenAssistedWizardAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.wizards;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.pde.internal.ui.wizards.plugin.NewPluginProjectWizard;
-import org.eclipse.ui.*;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public class OpenAssistedWizardAction implements IWorkbenchWindowActionDelegate {
-	//private static final String EDITOR_ID = "org.eclipse.ui.forms.examples.wizard-editor";
-	private IWorkbenchWindow window;
-
-	public OpenAssistedWizardAction() {
-	}
-	
-	public void run(IAction action) {
-		NewPluginProjectWizard wizard = new NewPluginProjectWizard();
-		AltAssistedWizardDialog dialog = new AltAssistedWizardDialog(window.getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText("Assisted Wizard");
-		//dialog.getShell().setSize(600, 400);
-		dialog.open();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-	/* (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) {
-		// TODO Auto-generated method stub
-
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenEditorWizardAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenEditorWizardAction.java
deleted file mode 100644
index dddf657..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenEditorWizardAction.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.ui.forms.examples.wizards;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.forms.examples.internal.OpenFormEditorAction;
-import org.eclipse.ui.internal.forms.WizardEditorInput;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public class OpenEditorWizardAction
-		extends OpenFormEditorAction {
-	private static final String EDITOR_ID = "org.eclipse.ui.forms.examples.wizard-editor";
-
-	public OpenEditorWizardAction() {
-	}
-	
-	public void run(IAction action) {
-		//FormColors colors = new FormColors(getWindow().getShell().getDisplay());
-		SampleEditorFormWizard wizard = new SampleEditorFormWizard();
-		WizardEditorInput input = new WizardEditorInput(wizard, true);
-		openEditor(input, EDITOR_ID);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenExistingEditorWizardAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenExistingEditorWizardAction.java
deleted file mode 100644
index 309bca4..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenExistingEditorWizardAction.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.ui.forms.examples.wizards;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.pde.internal.ui.wizards.plugin.NewPluginProjectWizard;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.forms.examples.internal.OpenFormEditorAction;
-import org.eclipse.ui.internal.forms.WizardEditorInput;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public class OpenExistingEditorWizardAction
-		extends OpenFormEditorAction {
-	private static final String EDITOR_ID = "org.eclipse.ui.forms.examples.wizard-editor";
-
-	public OpenExistingEditorWizardAction() {
-	}
-	
-	public void run(IAction action) {
-		NewPluginProjectWizard wizard = new NewPluginProjectWizard();
-		WizardEditorInput input = new WizardEditorInput(wizard, false);
-		openEditor(input, EDITOR_ID);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenSampleAssistedWizardAction.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenSampleAssistedWizardAction.java
deleted file mode 100644
index e6b53b4..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/OpenSampleAssistedWizardAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.forms.examples.wizards;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-/**
- * @see IWorkbenchWindowActionDelegate
- */
-public class OpenSampleAssistedWizardAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-
-	public OpenSampleAssistedWizardAction() {
-	}
-	
-	public void run(IAction action) {
-		SampleEditorFormWizard wizard = new SampleEditorFormWizard();
-		AssistedWizardDialog dialog = new AssistedWizardDialog(window.getShell(), wizard);
-		dialog.create();
-		dialog.getShell().setText("Assisted Wizard");
-		//dialog.getShell().setMinimumSize(600, 400);
-		dialog.getShell().setSize(600, 400);
-		dialog.open();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-	/* (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) {
-		// TODO Auto-generated method stub
-
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormPage.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormPage.java
deleted file mode 100644
index 1cf7fbc..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormPage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.eclipse.ui.forms.examples.wizards;
-
-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.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-import org.eclipse.ui.internal.forms.IFormToolkitProvider;
-
-public class SampleEditorFormPage extends WizardPage {
-	private Label dirLabel;
-	private Text projectText;
-	private Text dirText;
-	private Button dirButton;
-	private Button defButton;
-	public SampleEditorFormPage() {
-		super("sample");
-		setTitle("Plug-in Project");
-		setDescription("Create a new plug-in project");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.forms.FormWizardPage#createFormContents(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		FormToolkit toolkit = ((IFormToolkitProvider)getContainer()).getToolkit();
-		Composite container = toolkit.createComposite(parent);
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.numColumns = 2;
-		container.setLayout(layout);
-		toolkit.createLabel(container, "Project name");
-		TableWrapData td;
-		projectText = toolkit.createText(container, "");
-		td = new TableWrapData(TableWrapData.FILL);
-		projectText.setLayoutData(td);
-		
-		addSpacer(container, toolkit, 2);
-	
-		Section section = toolkit.createSection(container, Section.DESCRIPTION|Section.TITLE_BAR);
-		section.setText("Project contents");
-		section.setDescription("Specify the location of the project in the file system");
-		Composite client = toolkit.createComposite(section);
-		section.setClient(client);
-		
-		GridLayout glayout = new GridLayout();
-		client.setLayout(glayout);
-		glayout.numColumns = 3;
-		defButton = toolkit.createButton(client, "Use default", SWT.CHECK);
-		defButton.setSelection(true);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 3;
-		defButton.setLayoutData(gd);
-		
-		dirLabel = toolkit.createLabel(client, "Directory:");
-		dirText = toolkit.createText(client, "");
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		//gd.widthHint = 200;
-		dirText.setLayoutData(gd);
-		dirButton = toolkit.createButton(client, "Browse...", SWT.PUSH);
-		
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		section.setLayoutData(td);
-		defButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean value = !defButton.getSelection();
-				setContentsEnabled(value);
-			}
-		});
-		setContentsEnabled(false);
-		
-		section = toolkit.createSection(container, Section.DESCRIPTION|Section.TITLE_BAR);
-		section.setText("Project Settings");
-		section.setDescription("Specify if the project will contain Java code and if so, define source and output folders.");
-		client = toolkit.createComposite(section);
-		section.setClient(client);
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		section.setLayoutData(td);
-		
-		glayout = new GridLayout();
-		glayout.numColumns = 2;
-		client.setLayout(glayout);
-		Button jb = toolkit.createButton(client, "Create a Java project", SWT.CHECK);
-		jb.setSelection(true);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		jb.setLayoutData(gd);
-		Label l = toolkit.createLabel(client, "Source Folder Name:");
-		gd = new GridData();
-		gd.horizontalIndent = 10;
-		l.setLayoutData(gd);
-		Text t = toolkit.createText(client, "src");
-		t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		l = toolkit.createLabel(client, "Output Folder Name:");
-		gd = new GridData();
-		gd.horizontalIndent = 10;
-		l.setLayoutData(gd);
-		t = toolkit.createText(client, "bin");
-		t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		
-		section = toolkit.createSection(container, Section.DESCRIPTION|Section.TITLE_BAR|Section.TWISTIE);
-		section.setText("Alternate Format (For Advanced Users Only)");
-		section.setDescription("Since 3.0, all plug-ins are implemented as OSGi bundles. Bundle manifest is automatically created for them. Optionally, users familiar with OSGi can create the manifest in order to have full control over it.");
-		client = toolkit.createComposite(section);
-		section.setClient(client);
-		td = new TableWrapData(TableWrapData.FILL);
-		td.colspan = 2;
-		section.setLayoutData(td);
-		
-		glayout = new GridLayout();
-		client.setLayout(glayout);
-		toolkit.createButton(client, "Create an OSGi bundle manifest for the plug-in", SWT.CHECK);
-		l = toolkit.createLabel(client, "Note: this format is not supported by older Eclipse platforms (prior to 3.0)");
-		gd = new GridData();
-		gd.horizontalIndent = 10;
-		l.setLayoutData(gd);
-
-		setControl(container);
-		container.setData("__adapted__", Boolean.TRUE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(container,"org.eclipse.pde.doc.user."+
-				"new_project_structure_page");		
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		projectText.setFocus();
-	}
-	private void addSpacer(Composite parent, FormToolkit toolkit, int span) {
-		Label label = toolkit.createLabel(parent, null);
-		TableWrapData td = new TableWrapData();
-		td.colspan = span;
-		label.setLayoutData(td);
-	}
-	
-	private void setContentsEnabled(boolean value) {
-		dirLabel.setEnabled(value);
-		dirText.setEnabled(value);
-		dirButton.setEnabled(value);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormWizard.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormWizard.java
deleted file mode 100644
index 50c60a0..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/SampleEditorFormWizard.java
+++ /dev/null
@@ -1,53 +0,0 @@
-
-package org.eclipse.ui.forms.examples.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.forms.examples.internal.ExamplesPlugin;
-
-public class SampleEditorFormWizard extends Wizard {
-	public SampleEditorFormWizard() {
-		setForcePreviousAndNextButtons(true);
-		setNeedsProgressMonitor(true);
-		setDefaultPageImageDescriptor(ExamplesPlugin.getDefault().getImageRegistry().getDescriptor(ExamplesPlugin.IMG_WIZBAN));
-		setWindowTitle("New Plug-in Project");
-	}
-	
-	public void addPages() {
-		addPage(new SampleEditorFormPage());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.wizard.IWizard#performFinish()
-	 */
-	public boolean performFinish() {
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				monitor.beginTask("Processing...", 20);
-				try {
-					for (int i = 0; i < 20; i++) {
-						Thread.sleep(200);
-						monitor.worked(1);
-					}
-					monitor.done();
-				} catch (InterruptedException e) {
-				}
-			}
-		};
-		try {
-			getContainer().run(true, true, op);
-		}
-		catch (InvocationTargetException e) {
-			System.out.println(e);
-		}
-		catch (InterruptedException e) {
-			System.out.println(e);
-		}
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorOutline.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorOutline.java
deleted file mode 100644
index 6bffd90..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorOutline.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Created on Oct 21, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.ui.forms.examples.wizards;
-
-import org.eclipse.help.ui.internal.views.ReusableHelpPart;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.internal.forms.WizardFormEditor;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-
-/**
- * @author dejan
- * 
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
- */
-public class WizardFormEditorOutline implements IContentOutlinePage {
-	private WizardFormEditor editor;
-	private ReusableHelpPart contextHelpPart;
-
-	public WizardFormEditorOutline(WizardFormEditor editor) {
-		this.editor = editor;
-		contextHelpPart = new ReusableHelpPart(editor.getEditorSite().getWorkbenchWindow());
-	}
-
-	public void createControl(Composite parent) {
-		FormToolkit toolkit = editor.getToolkit();
-		contextHelpPart.createControl(parent, toolkit);
-		update();
-	}
-
-	public Control getControl() {
-		return contextHelpPart.getControl();
-	}
-
-	public void dispose() {
-		contextHelpPart.dispose();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.intro.impl.parts.IStandbyContentPart#setFocus()
-	 */
-	public void setFocus() {
-		contextHelpPart.setFocus();
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
-	 */
-	public void setActionBars(IActionBars actionBars) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
-	 */
-	public ISelection getSelection() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-	 */
-	public void removeSelectionChangedListener(
-			ISelectionChangedListener listener) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
-	 */
-	public void setSelection(ISelection selection) {
-	}
-	
-	public void update() {
-		IWizardPage page = editor.getCurrentPage();
-		contextHelpPart.update(null, page!=null?page.getControl():null);
-	}
-}
diff --git a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorWithOutline.java b/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorWithOutline.java
deleted file mode 100644
index 2c971f5..0000000
--- a/examples/org.eclipse.ui.forms.examples/src/org/eclipse/ui/forms/examples/wizards/WizardFormEditorWithOutline.java
+++ /dev/null
@@ -1,27 +0,0 @@
-
-package org.eclipse.ui.forms.examples.wizards;
-
-import org.eclipse.ui.internal.forms.WizardFormEditor;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-public class WizardFormEditorWithOutline extends WizardFormEditor {
-	private WizardFormEditorOutline outline;
-	public Object getAdapter(Class key) {
-		if (key.equals(IContentOutlinePage.class)) {
-			return getContentOutline();
-		}
-		return super.getAdapter(key);
-	}
-	
-	private IContentOutlinePage getContentOutline() {
-		if (outline==null) {
-			outline = new WizardFormEditorOutline(this);
-		}
-		return outline;
-	}
-	protected void update() {
-		super.update();
-		if (outline!=null)
-			outline.update();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/.classpath b/tests/org.eclipse.ui.tests.rcp/.classpath
deleted file mode 100644
index 1f84474..0000000
--- a/tests/org.eclipse.ui.tests.rcp/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Eclipse RCP Tests"/>
-	<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/tests/org.eclipse.ui.tests.rcp/.cvsignore b/tests/org.eclipse.ui.tests.rcp/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.ui.tests.rcp/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.ui.tests.rcp/.project b/tests/org.eclipse.ui.tests.rcp/.project
deleted file mode 100644
index 7f8ff02..0000000
--- a/tests/org.eclipse.ui.tests.rcp/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.tests.rcp</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.ui</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/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ff9b1a0..0000000
--- a/tests/org.eclipse.ui.tests.rcp/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Wed Nov 17 17:03:51 EST 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.4
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=private
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/ActionBarConfigurerTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/ActionBarConfigurerTest.java
deleted file mode 100644
index 6c35142..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/ActionBarConfigurerTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class ActionBarConfigurerTest extends TestCase {
-
-    public ActionBarConfigurerTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-        super.tearDown();
-    }
-
-    public void testDefaults() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void fillActionBars(IWorkbenchWindow window,
-                    IActionBarConfigurer actionBarConfig, int flags) {
-                super.fillActionBars(window, actionBarConfig, flags);
-
-                assertNotNull(actionBarConfig.getMenuManager());
-                assertNotNull(actionBarConfig.getStatusLineManager());
-                assertNotNull(actionBarConfig.getCoolBarManager());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/IWorkbenchPageTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/IWorkbenchPageTest.java
deleted file mode 100644
index e9f1f2a..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/IWorkbenchPageTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.tests.rcp.util.EmptyView;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-/**
- * Tests the behaviour of various IWorkbenchPage methods under different
- * workbench configurations.
- */
-public class IWorkbenchPageTest extends TestCase {
-
-    public IWorkbenchPageTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    /**
-     * Regression test for Bug 70080 [RCP] Reset Perspective does not work if no
-     * perspective toolbar shown (RCP).
-     */
-    public void test70080() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-                super.preWindowOpen(configurer);
-                configurer.setShowPerspectiveBar(false);
-            }
-
-            public void postStartup() {
-                try {
-                    IWorkbenchWindow window = getWorkbenchConfigurer()
-                            .getWorkbench().getActiveWorkbenchWindow();
-                    IWorkbenchPage page = window.getActivePage();
-                    page.showView(EmptyView.ID);
-                    assertNotNull(page.findView(EmptyView.ID));
-                    page.resetPerspective();
-                    assertNull(page.findView(EmptyView.ID));
-                } catch (PartInitException e) {
-                    fail(e.toString());
-                }
-            }
-        };
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/PlatformUITest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/PlatformUITest.java
deleted file mode 100644
index fb29ff4..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/PlatformUITest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class PlatformUITest extends TestCase {
-
-    public PlatformUITest(String testName) {
-        super(testName);
-    }
-
-    /** Make sure workbench is not returned before it is running. */
-    public void testEarlyGetWorkbench() {
-        assertFalse(PlatformUI.isWorkbenchRunning());
-        try {
-            PlatformUI.getWorkbench();
-            fail("Exception should have been thrown."); //$NON-NLS-1$
-        } catch (IllegalStateException e) {
-            // do nothing
-        }
-    }
-
-    public void testCreateDisplay() {
-        Display disp = PlatformUI.createDisplay();
-        assertNotNull(disp);
-        assertFalse(disp.isDisposed());
-        disp.dispose();
-        assertTrue(disp.isDisposed());
-    }
-
-    public void testCreateAndRunWorkbench() {
-        final Display display = PlatformUI.createDisplay();
-        assertNotNull(display);
-
-        CheckForWorkbench wa = new CheckForWorkbench(2);
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-        assertTrue(wa.checkComplete);
-        display.dispose();
-        assertTrue(display.isDisposed());
-    }
-    
-    /**
-     * Tests that, if an exception occurs on startup, the workbench returns RETURN_UNSTARTABLE 
-     * and PlatformUI.isWorkbenchRunning() returns false. 
-     * Regression test for bug 82286.
-     */
-    public void testCreateAndRunWorkbenchWithExceptionOnStartup() {
-        final Display display = PlatformUI.createDisplay();
-        assertNotNull(display);
-
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-            public void preStartup() {
-                throw new IllegalArgumentException("Thrown deliberately by PlatformUITest");
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_UNSTARTABLE, code);
-        assertFalse(PlatformUI.isWorkbenchRunning());
-        display.dispose();
-        assertTrue(display.isDisposed());
-    }
-}
-
-class CheckForWorkbench extends WorkbenchAdvisorObserver {
-
-    public boolean checkComplete = false;
-
-    public CheckForWorkbench(int idleBeforeExit) {
-        super(idleBeforeExit);
-    }
-
-    public void eventLoopIdle(Display display) {
-        super.eventLoopIdle(display);
-
-        if (checkComplete)
-            return;
-
-        Assert.assertNotNull(PlatformUI.getWorkbench());
-        checkComplete = true;
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/RcpTestSuite.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/RcpTestSuite.java
deleted file mode 100644
index 68f2dad..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/RcpTestSuite.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * The test suite for the RCP APIs in the generic workbench.
- * To run, use a headless JUnit Plug-in Test launcher, configured
- * to have [No Application] as its application. 
- */
-public class RcpTestSuite extends TestSuite {
-
-    /** Returns the suite. This is required to use the JUnit Launcher. */
-    public static Test suite() {
-        return new RcpTestSuite();
-    }
-
-    public RcpTestSuite() {
-        addTest(new TestSuite(PlatformUITest.class));
-        addTest(new TestSuite(WorkbenchAdvisorTest.class));
-        addTest(new TestSuite(WorkbenchConfigurerTest.class));
-        addTest(new TestSuite(WorkbenchWindowConfigurerTest.class));
-        addTest(new TestSuite(ActionBarConfigurerTest.class));
-        addTest(new TestSuite(IWorkbenchPageTest.class));
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
deleted file mode 100644
index cdda7cd..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchAdvisorTest.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchAdvisorTest extends TestCase {
-
-    // TODO: When this bug is fixed, remove this constant to enable the tests that
-    //       are affected by it.
-    public static final boolean isBug67891Fixed = false;
-
-    public WorkbenchAdvisorTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    /**
-     * The workbench should be created before any of the advisor's life cycle
-     * methods are called. #initialize is the first one called, so check that
-     * the workbench has been been created by then.
-     */
-    public void testEarlyGetWorkbench() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void initialize(IWorkbenchConfigurer configurer) {
-                super.initialize(configurer);
-                assertNotNull(PlatformUI.getWorkbench());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-    public void testTwoDisplays() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1);
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-        assertFalse(display.isDisposed());
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-
-        WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1);
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-    }
-
-    public void testTrivialOpenClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            private boolean windowOpenCalled = false;
-
-            private boolean windowCloseCalled = false;
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.getWorkbench().addWindowListener(new IWindowListener() {
-
-                    public void windowActivated(IWorkbenchWindow window) {
-                        // do nothing
-                    }
-
-                    public void windowDeactivated(IWorkbenchWindow window) {
-                        // do nothing
-                    }
-
-                    public void windowClosed(IWorkbenchWindow window) {
-                        windowCloseCalled = true;
-                    }
-
-                    public void windowOpened(IWorkbenchWindow window) {
-                        windowOpenCalled = true;
-                    }
-                });
-            }
-
-            public void preWindowOpen(IWorkbenchWindowConfigurer c) {
-                assertFalse(windowOpenCalled);
-                super.preWindowOpen(c);
-            }
-
-            public void postWindowOpen(IWorkbenchWindowConfigurer c) {
-                assertTrue(windowOpenCalled);
-                super.postWindowOpen(c);
-            }
-
-            public boolean preWindowShellClose(IWorkbenchWindowConfigurer c) {
-                assertFalse(windowCloseCalled);
-                return super.preWindowShellClose(c);
-            }
-
-            public void postWindowClose(IWorkbenchWindowConfigurer c) {
-                if (false) // which should be called first?
-                    assertTrue(windowCloseCalled);
-                super.postWindowClose(c);
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-
-        wa.resetOperationIterator();
-        wa.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa.assertAllOperationsExamined();
-    }
-
-    public void testTrivialRestoreClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-
-            public void eventLoopIdle(Display d) {
-                workbenchConfig.getWorkbench().restart();
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_RESTART, code);
-        assertFalse(display.isDisposed());
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        display = PlatformUI.createDisplay();
-        WorkbenchAdvisorObserver wa2 = new WorkbenchAdvisorObserver(1) {
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                c.setSaveAndRestore(true);
-            }
-        };
-
-        int code2 = PlatformUI.createAndRunWorkbench(display, wa2);
-        assertEquals(PlatformUI.RETURN_OK, code2);
-
-        wa2.resetOperationIterator();
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_RESTORE);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa2.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa2.assertAllOperationsExamined();
-    }
-
-    /**
-     * The WorkbenchAdvisor comment for #postStartup says it is ok to close
-     * things from in there.
-     */
-    public void testCloseFromPostStartup() {
-        if (!isBug67891Fixed)
-            return;
-
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-            public void postStartup() {
-                super.postStartup();
-                assertTrue(PlatformUI.getWorkbench().close());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-
-        wa.resetOperationIterator();
-        wa.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-        wa.assertAllOperationsExamined();
-    }
-
-    public void testEventLoopCrash() {
-        WorkbenchAdvisorExceptionObserver wa = new WorkbenchAdvisorExceptionObserver();
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-        assertTrue(wa.exceptionCaught);
-    }
-
-    public void testFillAllActionBar() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            public void fillActionBars(IWorkbenchWindow window,
-                    IActionBarConfigurer configurer, int flags) {
-                super.fillActionBars(window, configurer, flags);
-
-                assertEquals(FILL_COOL_BAR, flags & FILL_COOL_BAR);
-                assertEquals(FILL_MENU_BAR, flags & FILL_MENU_BAR);
-                assertEquals(FILL_STATUS_LINE, flags & FILL_STATUS_LINE);
-                assertEquals(0, flags & FILL_PROXY);
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-//  testShellClose() is commented out because it was failing with the shells having already been disposed.
-//      It's unclear what this was really trying to test anyway.
-//    
-//    public void testShellClose() {
-//        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver() {
-//
-//            public void eventLoopIdle(Display disp) {
-//                super.eventLoopIdle(disp);
-//
-//                Shell[] shells = disp.getShells();
-//                for (int i = 0; i < shells.length; ++i)
-//                    if (shells[i] != null)
-//                        shells[i].close();
-//            }
-//        };
-//
-//        int code = PlatformUI.createAndRunWorkbench(display, wa);
-//        assertEquals(PlatformUI.RETURN_OK, code);
-//
-//        wa.resetOperationIterator();
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.INITIALIZE);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_STARTUP);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_OPEN);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.FILL_ACTION_BARS);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_WINDOW_OPEN);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_STARTUP);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_WINDOW_SHELL_CLOSE);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.PRE_SHUTDOWN);
-//        wa.assertNextOperation(WorkbenchAdvisorObserver.POST_SHUTDOWN);
-//        wa.assertAllOperationsExamined();
-//    }
-}
-
-class WorkbenchAdvisorExceptionObserver extends WorkbenchAdvisorObserver {
-
-    public boolean exceptionCaught = false;
-
-    private RuntimeException runtimeException;
-
-    public WorkbenchAdvisorExceptionObserver() {
-        super(2);
-    }
-
-    // this is used to indicate when the event loop has started
-    public void eventLoopIdle(Display disp) {
-        super.eventLoopIdle(disp);
-
-        // only crash the loop one time
-        if (runtimeException != null)
-            return;
-
-        runtimeException = new RuntimeException();
-        throw runtimeException;
-    }
-
-    public void eventLoopException(Throwable exception) {
-        // *** Don't let the parent log the exception since it makes for
-        // confusing
-        //     test results.
-
-        exceptionCaught = true;
-        Assert.assertEquals(runtimeException, exception);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchConfigurerTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchConfigurerTest.java
deleted file mode 100644
index 6f17e25..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchConfigurerTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchConfigurerTest extends TestCase {
-
-    public WorkbenchConfigurerTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    public void testDefaults() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(1) {
-
-            private IWorkbenchConfigurer configurer;
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                configurer = c;
-
-                assertNotNull(c.getWorkbench());
-                assertFalse(c.getSaveAndRestore());
-                assertNotNull(c.getWorkbenchWindowManager());
-            }
-
-            public void postShutdown() {
-                super.postShutdown();
-
-                // *** This should be checked on all of the advisor callbacks
-                //     but assume that if its still set in the last one, then it
-                //     must have been set for all of them.
-                assertFalse(configurer.emergencyClosing());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-
-    public void testEmergencyClose() {
-        WorkbenchAdvisorObserver wa = new WorkbenchAdvisorObserver(2) {
-
-            private IWorkbenchConfigurer configurer;
-
-            public void initialize(IWorkbenchConfigurer c) {
-                super.initialize(c);
-                configurer = c;
-
-                assertNotNull(c.getWorkbench());
-                assertFalse(c.getSaveAndRestore());
-                assertNotNull(c.getWorkbenchWindowManager());
-            }
-
-            // emergencyClose as soon as possible
-            public void eventLoopIdle(Display disp) {
-                super.eventLoopIdle(disp);
-                configurer.emergencyClose();
-            }
-
-            public void postShutdown() {
-                super.postShutdown();
-
-                // *** This should be checked on all of the advisor callbacks
-                //     but assume that if its still set in the last one, then it
-                //     must have been set for all of them.
-                assertTrue(configurer.emergencyClosing());
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_EMERGENCY_CLOSE, code);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchWindowConfigurerTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchWindowConfigurerTest.java
deleted file mode 100644
index 634fa5a..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/WorkbenchWindowConfigurerTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp;
-
-import junit.framework.TestCase;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-public class WorkbenchWindowConfigurerTest extends TestCase {
-
-    public WorkbenchWindowConfigurerTest(String name) {
-        super(name);
-    }
-
-    private Display display = null;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        assertNull(display);
-        display = PlatformUI.createDisplay();
-        assertNotNull(display);
-    }
-
-    protected void tearDown() throws Exception {
-        assertNotNull(display);
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        super.tearDown();
-    }
-
-    public void testDefaults() {
-        WorkbenchAdvisor wa = new WorkbenchAdvisorObserver(1) {
-
-            public void fillActionBars(IWorkbenchWindow window,
-                    IActionBarConfigurer actionBarConfig, int flags) {
-                super.fillActionBars(window, actionBarConfig, flags);
-
-                String tempTitle = "title"; //$NON-NLS-1$
-
-                IWorkbenchWindowConfigurer windowConfig = workbenchConfig
-                        .getWindowConfigurer(window);
-                assertNotNull(windowConfig);
-
-                assertEquals(window, windowConfig.getWindow());
-                assertEquals(workbenchConfig, windowConfig
-                        .getWorkbenchConfigurer());
-                assertEquals(actionBarConfig, windowConfig
-                        .getActionBarConfigurer());
-                assertNotNull(windowConfig.getTitle());
-                assertTrue(windowConfig.getShowCoolBar());
-                assertTrue(windowConfig.getShowMenuBar());
-                assertFalse(windowConfig.getShowPerspectiveBar());
-                assertTrue(windowConfig.getShowStatusLine());
-
-                windowConfig.setTitle(tempTitle);
-                windowConfig.setShowCoolBar(false);
-                windowConfig.setShowMenuBar(false);
-                windowConfig.setShowPerspectiveBar(true);
-                windowConfig.setShowStatusLine(false);
-                assertEquals(tempTitle, windowConfig.getTitle());
-                assertFalse(windowConfig.getShowCoolBar());
-                assertFalse(windowConfig.getShowMenuBar());
-                assertTrue(windowConfig.getShowPerspectiveBar());
-                assertFalse(windowConfig.getShowStatusLine());
-
-                // *** title is orginally null, but cannot set it back to null,
-                // should that
-                //     check be allowed?
-                windowConfig.setTitle("");//$NON-NLS-1$
-                windowConfig.setShowCoolBar(true);
-                windowConfig.setShowMenuBar(true);
-                windowConfig.setShowPerspectiveBar(false);
-                windowConfig.setShowStatusLine(true);
-            }
-        };
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_OK, code);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/EmptyWorkbenchPerfTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/EmptyWorkbenchPerfTest.java
deleted file mode 100644
index 0b17a01..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/EmptyWorkbenchPerfTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.performance;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.tests.rcp.util.IPerformanceMeterArray;
-import org.eclipse.ui.tests.rcp.util.IntervalMeters;
-import org.eclipse.ui.tests.rcp.util.RestoreWorkbenchIntervalMonitor;
-import org.eclipse.ui.tests.rcp.util.OpenWorkbenchIntervalMonitor;
-
-/**
- * @since 3.1
- */
-public class EmptyWorkbenchPerfTest extends PerformanceTestCase {
-
-    private static final int REPEAT_COUNT = 10;
-
-    public void testOpen() {
-        Display display = PlatformUI.createDisplay();
-
-        Performance perf = Performance.getDefault();
-
-        String baseScenarioId = perf.getDefaultScenarioId(this);
-        IPerformanceMeterArray meters = new IntervalMeters(perf, baseScenarioId, OpenWorkbenchIntervalMonitor.intervalNames);
-        tagAsSummary("Open RCP App", Dimension.CPU_TIME);
-        for (int i = 0; i < REPEAT_COUNT; ++i ) {
-            meters.start(OpenWorkbenchIntervalMonitor.firstInterval);
-            int code = PlatformUI.createAndRunWorkbench(display,
-                    new OpenWorkbenchIntervalMonitor(meters));
-            meters.stop(OpenWorkbenchIntervalMonitor.finalInterval);
-
-            assertEquals(PlatformUI.RETURN_OK, code);
-        }
-
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        meters.commit();
-        meters.assertPerformance();
-        meters.dispose();
-    }
-
-    public void testRestore() {
-        Display display = PlatformUI.createDisplay();
-
-        // create an advisor that will just start the workbench long enough to create
-        // something to be restored later
-        WorkbenchAdvisor wa = new RestoreWorkbenchIntervalMonitor();
-
-        int code = PlatformUI.createAndRunWorkbench(display, wa);
-        assertEquals(PlatformUI.RETURN_RESTART, code);
-        assertFalse(display.isDisposed());
-
-        // the rest is a bunch of code to restore the workbench and monitor performance
-        // while doing so
-
-        Performance perf = Performance.getDefault();
-
-        String baseScenarioId = perf.getDefaultScenarioId(this);
-        IPerformanceMeterArray meters = new IntervalMeters(perf, baseScenarioId, RestoreWorkbenchIntervalMonitor.intervalNames);
-
-        tagAsSummary("Restore RCP App", Dimension.CPU_TIME);
-        
-        for (int i = 0; i < REPEAT_COUNT; ++i ) {
-            meters.start(RestoreWorkbenchIntervalMonitor.firstInterval);
-            code = PlatformUI.createAndRunWorkbench(display,
-                    new RestoreWorkbenchIntervalMonitor(meters));
-            meters.stop(RestoreWorkbenchIntervalMonitor.finalInterval);
-
-            assertEquals(PlatformUI.RETURN_OK, code);
-        }
-
-        meters.commit();
-        meters.assertPerformance();
-        meters.dispose();
-
-        display.dispose();
-        assertTrue(display.isDisposed());
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/PlatformUIPerfTest.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/PlatformUIPerfTest.java
deleted file mode 100644
index d4a59da..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/PlatformUIPerfTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.performance;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.tests.rcp.util.WorkbenchAdvisorObserver;
-
-/**
- * @since 3.1
- */
-public class PlatformUIPerfTest extends PerformanceTestCase {
-
-    private static final int REPEAT_COUNT = 10;
-
-    public void testCreateDisplay() {
-        for (int i = 0; i < REPEAT_COUNT; ++i ) {
-            startMeasuring();
-            Display display = PlatformUI.createDisplay();
-            stopMeasuring();
-
-            display.dispose();
-            assertTrue(display.isDisposed());
-        }
-
-        commitMeasurements();
-        assertPerformance();
-    }
-
-    public void testRunAndShutdownWorkbench() {
-        Display display = PlatformUI.createDisplay();
-
-        for (int i = 0; i < REPEAT_COUNT; ++i ) {
-            startMeasuring();
-            int code = PlatformUI.createAndRunWorkbench(display, new WorkbenchAdvisorObserver(2));
-            stopMeasuring();
-
-            assertEquals(PlatformUI.RETURN_OK, code);
-        }
-
-        display.dispose();
-        assertTrue(display.isDisposed());
-
-        commitMeasurements();
-        assertPerformance();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSetup.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSetup.java
deleted file mode 100644
index 1758769..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSetup.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.performance;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-/**
- * @since 3.1
- */
-public class RCPPerformanceTestSetup extends TestSetup {
-
-	public RCPPerformanceTestSetup(Test test) {
-		super(test);
-	}
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSuite.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSuite.java
deleted file mode 100644
index 4214005..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/performance/RCPPerformanceTestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @since 3.1
- */
-public class RCPPerformanceTestSuite extends TestSuite {
-
-    /**
-     * Returns the suite. This is required to use the JUnit Launcher.
-     */
-    public static Test suite() {
-    	return new RCPPerformanceTestSetup(new RCPPerformanceTestSuite());
-    }
-
-    /**
-     * Construct the test suite.
-     */
-    public RCPPerformanceTestSuite() {
-        addTest(new TestSuite(PlatformUIPerfTest.class));
-        addTest(new TestSuite(EmptyWorkbenchPerfTest.class));
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyPerspective.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyPerspective.java
deleted file mode 100644
index 738b6ce..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyPerspective.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.ui.tests.rcp.util;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-/**
- * This perspective is used for testing api.  It defines an initial
- * layout with no parts, just an editor area.
- */
-public class EmptyPerspective implements IPerspectiveFactory {
-
-    /**
-     * The perspective id for the empty perspective.
-     */
-    public static final String PERSP_ID = "org.eclipse.ui.tests.rcp.util.EmptyPerspective"; //$NON-NLS-1$
-
-    /**
-     * Constructs a new Default layout engine.
-     */
-    public EmptyPerspective() {
-        super();
-    }
-
-    /**
-     * Defines the initial layout for a perspective.  
-     *
-     * Implementors of this method may add additional views to a
-     * perspective.  The perspective already contains an editor folder
-     * with <code>ID = ILayoutFactory.ID_EDITORS</code>.  Add additional views
-     * to the perspective in reference to the editor folder.
-     *
-     * This method is only called when a new perspective is created.  If
-     * an old perspective is restored from a persistence file then
-     * this method is not called.
-     *
-     * @param factory the factory used to add views to the perspective
-     */
-    public void createInitialLayout(IPageLayout layout) {
-        // do nothing, this is the empty perspective
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyView.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyView.java
deleted file mode 100644
index ec6f773..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/EmptyView.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.part.ViewPart;
-
-/**
- * Minimal view, for the RCP tests. 
- */
-public class EmptyView extends ViewPart {
-
-    public static final String ID = "org.eclipse.ui.tests.rcp.util.EmptyView"; //$NON-NLS-1$
-    
-    private Label label;
-    
-	public EmptyView() {
-	    // do nothing
-	}
-
-	public void createPartControl(Composite parent) {
-	    label = new Label(parent, SWT.NONE);
-	    label.setText("Empty view");
-	}
-
-	public void setFocus() {
-		label.setFocus();
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IPerformanceMeterArray.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IPerformanceMeterArray.java
deleted file mode 100644
index 8298769..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IPerformanceMeterArray.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-/**
- * An array of performance meters that can be used for things like interval timing.
- * 
- * @since 3.1
- */
-public interface IPerformanceMeterArray {
-
-    /**
-     * Start the meter at the argument index.
-     */
-    public void start(int meterIndex);
-
-    /**
-     * Stop the meter at the argument index.
-     */
-    public void stop(int meterIndex);
-
-    /**
-     * Commit all meters in this array.
-     */
-    public void commit();
-
-    /**
-     * Assert the performance of all meters in this array.
-     */
-    public void assertPerformance();
-
-    /**
-     * Dispose all meters in this array.
-     */
-    public void dispose();
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IntervalMeters.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IntervalMeters.java
deleted file mode 100644
index 7112c86..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/IntervalMeters.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-/**
- * A set of meters that should be used to check performance of intervals.  For example, this
- * collection is used to check performance between all stages of the workbench life-cycle
- * (the significant events are marked in the WorkbenchAdvisor callbacks).
- * 
- * @since 3.1
- */
-public class IntervalMeters implements IPerformanceMeterArray {
-
-    private Performance perf;
-    private String baseScenarioId;
-
-    /**
-     * Clients instantiate the interval meter set as a specific size and are then responsible
-     * for controlling by index.
-     */
-    private PerformanceMeter[] meters;
-
-    /**
-     * Create an set of performance meters using the argument array of strings in the name
-     * for each one
-     * @param intervals
-     */
-    public IntervalMeters(Performance perf, String baseScenarioId, String[] intervals) {
-        this.perf = perf;
-        this.baseScenarioId = baseScenarioId;
-
-        meters = new PerformanceMeter[intervals.length];
-        for (int i = 0; i < intervals.length; ++i) {
-            meters[i] = perf.createPerformanceMeter(getScenarioId(intervals[i]));
-        }
-    }
-
-    private String getScenarioId(String intervalName) {
-        return baseScenarioId + " [" + intervalName + ']'; //$NON-NLS-1$
-    }
-
-    public void start(int meterIndex) {
-        meters[meterIndex].start();
-    }
-
-    public void stop(int meterIndex) {
-        meters[meterIndex].stop();
-    }
-
-    /**
-     * The interval at the argument has completed.  Stop that meter and start the next.
-     * @param completedIntervalIndex
-     */
-    public void intervalBoundary(int completedIntervalIndex) {
-        meters[completedIntervalIndex].stop();
-        meters[completedIntervalIndex + 1].start();
-    }
-
-    public void commit() {
-        for (int i = 0; i < meters.length; ++i)
-            meters[i].commit();
-    }
-
-    public void assertPerformance() {
-        for (int i = 0; i < meters.length; ++i)
-            perf.assertPerformance(meters[i]);
-    }
-
-    public void dispose() {
-        for (int i = 0; i < meters.length; ++i)
-            meters[i].dispose();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/NullMeters.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/NullMeters.java
deleted file mode 100644
index 8ddc701..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/NullMeters.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-/**
- * An empty array of meters, all calls are ignored.
- * 
- * @since 3.1
- */
-public class NullMeters implements IPerformanceMeterArray {
-
-    public NullMeters() {
-        // do nothing
-    }
-
-    public void start(int meterIndex) {
-        // do nothing
-    }
-
-    public void stop(int meterIndex) {
-        // do nothing
-    }
-
-    public void intervalBoundary(int completedIntervalIndex) {
-        // do nothing
-    }
-
-    public void commit() {
-        // do nothing
-    }
-
-    public void assertPerformance() {
-        // do nothing
-    }
-
-    public void dispose() {
-        // do nothing
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/OpenWorkbenchIntervalMonitor.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/OpenWorkbenchIntervalMonitor.java
deleted file mode 100644
index e261561..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/OpenWorkbenchIntervalMonitor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-
-
-/**
- * This implementation of the workbench advisor tracks performance for the intervals between
- * lifecycle events.
- * 
- * @since 3.1
- */
-public class OpenWorkbenchIntervalMonitor extends RCPTestWorkbenchAdvisor {
-
-    public static final String[] intervalNames = new String[] {
-            "to initialize", //$NON-NLS-1$
-            "initialize to preStartup", //$NON-NLS-1$
-            "preStartup to preWindowOpen", //$NON-NLS-1$
-            "preWindowOpen to fillActionBars", //$NON-NLS-1$
-            "fillActionBars to postWindowOpen", //$NON-NLS-1$
-            "postWindowOpen to postStartup", //$NON-NLS-1$
-            "preShutdown to postShutdown", //$NON-NLS-1$
-            "postShutdown to complete" //$NON-NLS-1$
-    };
-
-    public static final int initializeInterval = 0;
-    public static final int preStartupInterval = 1;
-    public static final int preWindowOpenInterval = 2;
-    public static final int fillActionBarsInterval = 3;
-    public static final int postWindowOpenInterval = 4;
-    public static final int postStartupInterval = 5;
-    public static final int shutdownInterval = 6;
-    public static final int workbenchDestroyedInterval = 7;
-
-    public static final int firstInterval = initializeInterval;
-    public static final int finalInterval = workbenchDestroyedInterval;
-
-    private IPerformanceMeterArray meters;
-
-    public OpenWorkbenchIntervalMonitor(IPerformanceMeterArray meters) {
-        super(2);
-        this.meters = meters;
-    }
-
-    public void initialize(IWorkbenchConfigurer configurer) {
-        meters.stop(initializeInterval);
-        meters.start(preStartupInterval);
-        super.initialize(configurer);
-    }
-
-    public void preStartup() {
-        meters.stop(preStartupInterval);
-        meters.start(preWindowOpenInterval);
-        super.preStartup();
-    }
-
-    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        meters.stop(preWindowOpenInterval);
-        meters.start(fillActionBarsInterval);
-        super.preWindowOpen(configurer);
-    }
-
-    public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-        meters.stop(fillActionBarsInterval);
-        meters.start(postWindowOpenInterval);
-        super.fillActionBars(window, configurer, flags);
-
-    }
-
-    public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        meters.stop(postWindowOpenInterval);
-        meters.start(postStartupInterval);
-        super.postWindowOpen(configurer);
-    }
-
-    public void postStartup() {
-        meters.stop(postStartupInterval);
-
-        // no reason to track performace between when startup completes and shutdown starts
-        // since that is just testing overhead
-
-        super.postStartup();
-    }
-
-    public boolean preShutdown() {
-        meters.start(shutdownInterval);
-        return super.preShutdown();
-    }
-
-    public void postShutdown() {
-        meters.stop(shutdownInterval);
-        meters.start(workbenchDestroyedInterval);
-        super.postShutdown();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RCPTestWorkbenchAdvisor.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RCPTestWorkbenchAdvisor.java
deleted file mode 100644
index c1229ff..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RCPTestWorkbenchAdvisor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-
-/**
- * This advisor adds the ability to exit the workbench after it has started up.  This is done
- * with a call to close from within the advisor's event idle loop.  The number of times the
- * idle is called before exiting can be configured.  Test cases should subclass this advisor
- * and add their own callback methods if needed.
- * 
- * @since 3.1
- */
-public class RCPTestWorkbenchAdvisor extends WorkbenchAdvisor {
-
-    /** Default value of -1 causes the option to be ignored. */
-    private int idleBeforeExit = -1;
-
-    public RCPTestWorkbenchAdvisor() {
-        // default value means the advisor will not trigger the workbench to close
-        this.idleBeforeExit = -1;
-    }
-
-    public RCPTestWorkbenchAdvisor(int idleBeforeExit) {
-        this.idleBeforeExit = idleBeforeExit;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.application.WorkbenchAdvisor#getInitialWindowPerspectiveId()
-     */
-    public String getInitialWindowPerspectiveId() {
-        return EmptyPerspective.PERSP_ID;
-    }
-
-    public void eventLoopIdle(final Display display) {
-        // bug 73184: On the mac the parent eventLoopIdle will put the display to sleep
-        //            until there are events (e.g., mouse jiggled).
-        if (!"carbon".equals(SWT.getPlatform()))
-            super.eventLoopIdle(display);
-
-        if (idleBeforeExit == -1)
-            return;
-
-        if (--idleBeforeExit <= 0)
-            PlatformUI.getWorkbench().close();
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RestoreWorkbenchIntervalMonitor.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RestoreWorkbenchIntervalMonitor.java
deleted file mode 100644
index 230cca7..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/RestoreWorkbenchIntervalMonitor.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-
-
-/**
- * This implementation of the workbench advisor tracks performance for the intervals between
- * lifecycle events.
- * 
- * @since 3.1
- */
-public class RestoreWorkbenchIntervalMonitor extends RCPTestWorkbenchAdvisor {
-
-    public static final String[] intervalNames = new String[] {
-            "to initialize", //$NON-NLS-1$
-            "initialize to preStartup", //$NON-NLS-1$
-            "preStartup to preWindowOpen", //$NON-NLS-1$
-            "preWindowOpen to fillActionBars", //$NON-NLS-1$
-            "fillActionBars to postWindowRestore", //$NON-NLS-1$
-            "postWindowRestore to postWindowOpen", //$NON-NLS-1$
-            "postWindowOpen to postStartup", //$NON-NLS-1$
-            "preShutdown to postShutdown", //$NON-NLS-1$
-            "postShutdown to complete" //$NON-NLS-1$
-    };
-
-    public static final int initializeInterval = 0;
-    public static final int preStartupInterval = 1;
-    public static final int preWindowOpenInterval = 2;
-    public static final int fillActionBarsInterval = 3;
-    public static final int postWindowRestoreInterval = 4;
-    public static final int postWindowOpenInterval = 5;
-    public static final int postStartupInterval = 6;
-    public static final int shutdownInterval = 7;
-    public static final int workbenchDestroyedInterval = 8;
-
-    public static final int firstInterval = initializeInterval;
-    public static final int finalInterval = workbenchDestroyedInterval;
-
-    private boolean createRestorableWorkbench = false;
-    private IPerformanceMeterArray meters = new NullMeters();
-
-    private IWorkbenchConfigurer workbenchConfigurer;
-
-    /**
-     * The default behaviour is to create a workbench that can be restored later.  This
-     * constructor starts that behaviour by setting a flag that will be checked in the
-     * appropriate methods.
-     */
-    public RestoreWorkbenchIntervalMonitor() {
-        super(2);
-        createRestorableWorkbench = true;
-    }
-
-    public RestoreWorkbenchIntervalMonitor(IPerformanceMeterArray meters) {
-        super(2);
-        this.meters = meters;
-    }
-
-    public void initialize(IWorkbenchConfigurer configurer) {
-        meters.stop(initializeInterval);
-
-        super.initialize(configurer);
-        workbenchConfigurer = configurer;
-        workbenchConfigurer.setSaveAndRestore(true);
-
-        meters.start(preStartupInterval);
-    }
-
-    public void preStartup() {
-        meters.stop(preStartupInterval);
-        super.preStartup();
-        meters.start(preWindowOpenInterval);
-    }
-
-    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        meters.stop(preWindowOpenInterval);
-        super.preWindowOpen(configurer);
-        meters.start(fillActionBarsInterval);
-    }
-
-    public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-        meters.stop(fillActionBarsInterval);
-        super.fillActionBars(window, configurer, flags);
-        meters.start(postWindowRestoreInterval);
-    }
-
-    public void postWindowRestore(IWorkbenchWindowConfigurer configurer) throws WorkbenchException {
-        meters.stop(postWindowRestoreInterval);
-        super.postWindowRestore(configurer);
-        meters.start(postWindowOpenInterval);
-    }
-
-    public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        meters.stop(postWindowOpenInterval);
-        super.postWindowOpen(configurer);
-        meters.start(postStartupInterval);
-    }
-
-    public void postStartup() {
-        meters.stop(postStartupInterval);
-
-        // no reason to track performace between when startup completes and shutdown starts
-        // since that is just testing overhead
-
-        super.postStartup();
-    }
-
-    public boolean preShutdown() {
-        boolean ret = super.preShutdown();
-        meters.start(shutdownInterval);
-        return ret;
-    }
-
-    public void postShutdown() {
-        meters.stop(shutdownInterval);
-        super.postShutdown();
-        meters.start(workbenchDestroyedInterval);
-    }
-
-    public void eventLoopIdle(Display d) {
-        if (createRestorableWorkbench)
-            workbenchConfigurer.getWorkbench().restart();
-        else
-            super.eventLoopIdle(d);
-    }
-}
diff --git a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/WorkbenchAdvisorObserver.java b/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/WorkbenchAdvisorObserver.java
deleted file mode 100644
index 3297d3d..0000000
--- a/tests/org.eclipse.ui.tests.rcp/Eclipse RCP Tests/org/eclipse/ui/tests/rcp/util/WorkbenchAdvisorObserver.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.tests.rcp.util;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-
-/**
- * This utility class is used to record the order in which the hooks are called.
- * It should be subclassed to provide the behaviour needed for a particular test
- * case. After the case has run, its list can be examined to check for the
- * expected order.
- * <p>
- * NOTE: This differs from <code>org.eclipse.ui.tests.CallHistory</code> since
- * this class allows assertions on individual method names. Which means that the
- * junit error will identify the exact error, not just the existence of an
- * error.
- */
-public class WorkbenchAdvisorObserver extends RCPTestWorkbenchAdvisor {
-
-    private List operations = new LinkedList();
-
-    private Iterator iterator;
-
-    public final static String INITIALIZE = "initialize"; //$NON-NLS-1$
-
-    public final static String PRE_STARTUP = "preStartup"; //$NON-NLS-1$
-
-    public final static String POST_STARTUP = "postStartup"; //$NON-NLS-1$
-
-    public final static String PRE_WINDOW_OPEN = "preWindowOpen"; //$NON-NLS-1$
-
-    public final static String FILL_ACTION_BARS = "fillActionBars"; //$NON-NLS-1$
-
-    public final static String POST_WINDOW_RESTORE = "postWindowRestore"; //$NON-NLS-1$
-
-    public final static String POST_WINDOW_OPEN = "postWindowOpen"; //$NON-NLS-1$
-
-    public final static String PRE_WINDOW_SHELL_CLOSE = "preWindowShellClose"; //$NON-NLS-1$
-
-    public final static String EVENT_LOOP_EXCEPTION = "eventLoopException"; //$NON-NLS-1$
-
-    public final static String PRE_SHUTDOWN = "preShutdown"; //$NON-NLS-1$
-
-    public final static String POST_SHUTDOWN = "postShutdown"; //$NON-NLS-1$
-
-    public IWorkbenchConfigurer workbenchConfig;
-
-    public WorkbenchAdvisorObserver() {
-        super();
-    }
-
-    public WorkbenchAdvisorObserver(int idleBeforeExit) {
-        super(idleBeforeExit);
-    }
-
-    public void resetOperationIterator() {
-        iterator = operations.iterator();
-    }
-
-    public void assertNextOperation(String expected) {
-        Assert.assertTrue(iterator.hasNext());
-        Assert.assertEquals(expected, (String) iterator.next());
-    }
-
-    public void assertAllOperationsExamined() {
-        Assert.assertNotNull(iterator);
-        Assert.assertFalse(iterator.hasNext());
-    }
-
-    private void addOperation(String operation) {
-        operations.add(operation);
-    }
-
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-        workbenchConfig = configurer;
-        addOperation(INITIALIZE);
-    }
-
-    public void preStartup() {
-        super.preStartup();
-        addOperation(PRE_STARTUP);
-    }
-
-    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        super.preWindowOpen(configurer);
-        addOperation(PRE_WINDOW_OPEN);
-    }
-
-    public void fillActionBars(IWorkbenchWindow window,
-            IActionBarConfigurer configurer, int flags) {
-        super.fillActionBars(window, configurer, flags);
-        addOperation(FILL_ACTION_BARS);
-    }
-
-    public void postWindowRestore(IWorkbenchWindowConfigurer configurer)
-            throws WorkbenchException {
-        super.postWindowRestore(configurer);
-        addOperation(POST_WINDOW_RESTORE);
-    }
-
-    public void postWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        super.postWindowOpen(configurer);
-        addOperation(POST_WINDOW_OPEN);
-    }
-
-    public void postStartup() {
-        super.postStartup();
-        addOperation(POST_STARTUP);
-    }
-
-    public boolean preWindowShellClose(IWorkbenchWindowConfigurer configurer) {
-        if (!super.preWindowShellClose(configurer))
-            return false;
-        addOperation(PRE_WINDOW_SHELL_CLOSE);
-        return true;
-    }
-
-    public boolean preShutdown() {
-        boolean result = super.preShutdown();
-        addOperation(PRE_SHUTDOWN);
-        return result;
-    }
-
-    public void postShutdown() {
-        super.postShutdown();
-        addOperation(POST_SHUTDOWN);
-    }
-
-    public void eventLoopException(Throwable exception) {
-        super.eventLoopException(exception);
-        addOperation(EVENT_LOOP_EXCEPTION);
-    }
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.ui.tests.rcp/about.html b/tests/org.eclipse.ui.tests.rcp/about.html
deleted file mode 100644
index 605c7b0..0000000
--- a/tests/org.eclipse.ui.tests.rcp/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>
diff --git a/tests/org.eclipse.ui.tests.rcp/build.properties b/tests/org.eclipse.ui.tests.rcp/build.properties
deleted file mode 100644
index 132f960..0000000
--- a/tests/org.eclipse.ui.tests.rcp/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-bin.includes = plugin.properties,\
-               plugin.xml,\
-               *.html,\
-               *.jar,\
-               *.xml,\
-               rcptests.jar
-src.includes = about.html
-jars.compile.order = rcptests.jar
-source.rcptests.jar = Eclipse RCP Tests/
-output.rcptests.jar = bin/
diff --git a/tests/org.eclipse.ui.tests.rcp/icons/sample.gif b/tests/org.eclipse.ui.tests.rcp/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/tests/org.eclipse.ui.tests.rcp/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.ui.tests.rcp/plugin.xml b/tests/org.eclipse.ui.tests.rcp/plugin.xml
deleted file mode 100644
index ba0a4e6..0000000
--- a/tests/org.eclipse.ui.tests.rcp/plugin.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.tests.rcp"
-   name="Eclipse RCP Tests"
-   version="3.1.0"
-   provider-name="Eclipse.org">
-
-   <runtime>
-      <library name="rcptests.jar"/>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.test.performance"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="Empty Perspective"
-            class="org.eclipse.ui.tests.rcp.util.EmptyPerspective"
-            id="org.eclipse.ui.tests.rcp.util.EmptyPerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="RCP Test Views"
-            id="org.eclipse.ui.tests.rcp"/>
-      <view
-            class="org.eclipse.ui.tests.rcp.util.EmptyView"
-            icon="icons/sample.gif"
-            category="org.eclipse.ui.tests.rcp"
-            name="EmptyView"
-            id="org.eclipse.ui.tests.rcp.util.EmptyView"/>
-   </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.ui.tests.rcp/test.xml b/tests/org.eclipse.ui.tests.rcp/test.xml
deleted file mode 100644
index 2a9ae39..0000000
--- a/tests/org.eclipse.ui.tests.rcp/test.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-
-<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 plugin-name, and library-file -->
-  <property name="plugin-name" value="org.eclipse.ui.tests.rcp"/>
-  <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="rcp-folder" 
-              value="${eclipse-home}/ui_rcp_folder"/>
-    <delete dir="${rcp-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${rcp-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.ui.tests.rcp.RcpTestSuite"/>
-    </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>
-
-  <!-- This target runs the performance test suites. -->
-  <target name="performance" depends="init,performance-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>
-
-  <target name="performance-suite">
-  	<property name="performance-workspace" value="${eclipse-home}/performance-workspace-platform-rcp"/>
-    <delete dir="${performance-workspace}" quiet="true"/>
-  	<ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${performance-workspace}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.ui.tests.rcp.performance.RCPPerformanceTestSuite"/>
-    </ant>
-  </target>
-
-</project>